- bench-test-graph [BODY ...]syntax
- bench-test-graph [BODY ...] OUTLIERsyntax
- bench-test-graph ITERS [BODY ...]syntax
- bench-test-graph ITERS [BODY ...] OUTLIERsyntax
- bench-test-graph ITERS NSAMP [BODY ...]syntax
- bench-test-graph ITERS NSAMP [BODY ...] OUTLIERsyntax
- bench-test-graph ITERS NSAMP ROWS [BODY ...]syntax
- bench-test-graph ITERS NSAMP ROWS [BODY ...] OUTLIERsyntax
- bench-test-graph ITERS NSAMP ROWS GRPHCHR [BODY ...]syntax
- bench-test-graph ITERS NSAMP ROWS GRPHCHR [BODY ...] OUTLIERsyntax
- in - BODY ... - expression(s) to measure
- in - ITERS - same as bench-test
- in - NSAMP - same as bench-test
- in - ROWS - number of rows in graph, defaults to 16.
- in - GRPHCHR - character used to draw graph, defaults to #.
- in - OUTLIER - same as bench-test prints the following info:
- bench-test-graph prints summary identical to bench-test.
- In addition bench-test-graph
- Range-size: time interval for each row of graph
- Graph symbols:
- stddevs from mean indicated by numbers -5 to +6, with 0 adjacent to row containing the mean.
- mode is marked with <
- median is marked with =
- >=low <high range limits (for each row)
(bench-test-graph 100000 100 [(+ 1 2)]) =================================================== Body: (+ 1 2) Test: 100000 iterations/sample * 100 samples. Mean: 49.86 +/-4.42 (nsec/iter) Result lo/hi: 43.65//63.89 Median: 49.33 Faults: 0 Outliers: 0 (gen. 2.56 sec) --------------------------------------------------- Range-size: 1.3 Graph symbols: sd -5..0..+6 >=low <high mode '<' median '=' --------------------------------------------------- 43.6 44.9 |################# 44.9 46.1 |######## -1 46.1 47.4 |#### 47.4 48.7 |######### 48.7 50.0 |##################### 0 < = 50.0 51.2 |######### 51.2 52.5 |############ 52.5 53.8 |# 53.8 55.0 |##### +1 55.0 56.3 |####### 56.3 57.6 |# 57.6 58.9 |# +2 58.9 60.1 |# 60.1 61.4 |## 61.4 62.7 |# 62.7 63.9 |# +3
Note: shape of the graph reflects iterations/sample and number of samples. The "height" of the graph is increases with number of samples, total size of the columns is same as number of samples. Number of iterations has major effect on graph shape. Generally a graph more closely resembles a normal distribution as the number of iterations increases. Depending on system capabilities, >=10e6 iterations/sample can take a long time to complete. However, info such as average time is mostly independent of graph shape.
(bench-test-graph 1000 100 8 [(split-string/chr "A big, long, string without obvious, visible ending" #\,)]) =================================================== Body: (split-string/chr "A big, long, string without obvious, visible ending" #\,) Test: 1000 iterations/sample * 100 samples. Mean: 589.56 +/-25.07 (nsec/iter) Result lo/hi: 558.42//734.32 Median: 582.77 Faults: 0 Outliers: 0 (gen. 0.08 sec) --------------------------------------------------- Range-size: 22.0 Graph symbols: sd -5..0..+6 >=low <high mode '<' median '=' --------------------------------------------------- 558.4 580.4 |######################################## -1 580.4 602.4 |########################################### 0 < = 602.4 624.4 |###### +1 624.4 646.4 |######## +2 646.4 668.4 |# +3 668.4 690.4 |# +4 690.4 712.4 | 712.4 734.4 |# +5 (bench-test-graph 100000 100 [(split-string/chr "A big, long, string without obvious, visible ending" #\,)]) =================================================== Body: (split-string/chr "A big, long, string without obvious, visible ending" #\,) Test: 100000 iterations/sample * 100 samples. Mean: 597.43 +/-15.73 (nsec/iter) Result lo/hi: 569.59//648.58 Median: 595.37 Faults: 0 Outliers: 0 (gen. 8.28 sec) --------------------------------------------------- Range-size: 4.9 Graph symbols: sd -5..0..+6 >=low <high mode '<' median '=' --------------------------------------------------- 569.5 574.5 |#### 574.5 579.4 |###### 579.4 584.4 |########## -1 584.4 589.3 |############### 589.3 594.3 |############## 594.3 599.2 |######## 0 = 599.2 604.1 |################ < 604.1 609.1 |####### 609.1 614.0 |##### +1 614.0 619.0 |###### 619.0 623.9 |## 623.9 628.9 |#### 628.9 633.8 | +2 633.8 638.7 |# 638.7 643.7 |# 643.7 648.6 |# +3