Performance planning often starts by estimating how many cells a small batch will touch.

Program

Play the script to change the number of chunks and watch the cell count update.

chunk_count
batch_size.R
Replay: real traced execution (multi-file project)
chunk_count <- 2
chunk_size <- 5
cells <- chunk_count * chunk_size
label <- paste("cells", cells, sep = ":")
cat(label, "\n", sep = "")
chunk_count <- 1
chunk_size <- 5
cells <- chunk_count * chunk_size
label <- paste("cells", cells, sep = ":")
cat(label, "\n", sep = "")
chunk_count <- 3
chunk_size <- 5
cells <- chunk_count * chunk_size
label <- paste("cells", cells, sep = ":")
cat(label, "\n", sep = "")
  1. chunk_count ← 2

    1chunk_count <- 22chunk_size <- 5
    values this step2chunk_count
  2. chunk_size ← 5

    1chunk_count <- 22chunk_size <- 53cells <- chunk_count * chunk_size
    values this step5chunk_size
  3. cells ← 10

    2chunk_size <- 53cells <- chunk_count * chunk_size4label <- paste("cells", cells, sep = ":")
    values this step10cells2chunk_count5chunk_size
  4. label ← cells:10

    3cells <- chunk_count * chunk_size4label <- paste("cells", cells, sep = ":")5cat(label, "\n", sep = "")
    values this stepcells:10label10cells
  5. cat(label, " ", sep = "")

    4label <- paste("cells", cells, sep = ":")5cat(label, "\n", sep = "")
    outputcells:10
    values this stepcells:10label
  1. chunk_count ← 1

    1chunk_count <- 12chunk_size <- 5
    values this step1chunk_count
  2. chunk_size ← 5

    1chunk_count <- 12chunk_size <- 53cells <- chunk_count * chunk_size
    values this step5chunk_size
  3. cells ← 5

    2chunk_size <- 53cells <- chunk_count * chunk_size4label <- paste("cells", cells, sep = ":")
    values this step5cells1chunk_count5chunk_size
  4. label ← cells:5

    3cells <- chunk_count * chunk_size4label <- paste("cells", cells, sep = ":")5cat(label, "\n", sep = "")
    values this stepcells:5label5cells
  5. cat(label, " ", sep = "")

    4label <- paste("cells", cells, sep = ":")5cat(label, "\n", sep = "")
    outputcells:5
    values this stepcells:5label
  1. chunk_count ← 3

    1chunk_count <- 32chunk_size <- 5
    values this step3chunk_count
  2. chunk_size ← 5

    1chunk_count <- 32chunk_size <- 53cells <- chunk_count * chunk_size
    values this step5chunk_size
  3. cells ← 15

    2chunk_size <- 53cells <- chunk_count * chunk_size4label <- paste("cells", cells, sep = ":")
    values this step15cells3chunk_count5chunk_size
  4. label ← cells:15

    3cells <- chunk_count * chunk_size4label <- paste("cells", cells, sep = ":")5cat(label, "\n", sep = "")
    values this stepcells:15label15cells
  5. cat(label, " ", sep = "")

    4label <- paste("cells", cells, sep = ":")5cat(label, "\n", sep = "")
    outputcells:15
    values this stepcells:15label
chunk count The number of chunks controls how many small batches will be touched.
chunk size The fixed chunk size keeps the estimate simple and deterministic.
cell estimate Multiplying count by size gives a compact workload estimate.