====================================================== NEW CACHING CODE EVALUATION BENCHMARKS: Arithmetic '1 + 2' 5000 loops, avg: 221 us, best: 188 us, median: 196 us per loop '5 * 3' 5000 loops, avg: 235 us, best: 190 us, median: 204 us per loop DensityPlot 'DensityPlot[x + y^2, {x, -3, 3}, {y, -2, 2}]' 5 loops, avg: 376 ms, best: 356 ms, median: 367 ms per loop Expand 'Expand[(a1+a2)^200]' 5 loops, avg: 524 ms, best: 467 ms, median: 550 ms per loop 'Expand[(a1+a2+a3)^25]' 5 loops, avg: 1.1 s , best: 1.01 s , median: 1.03 s per loop 'Expand[(a1+a2+a3+a4+a5+a6+a7)^3]' 10 loops, avg: 127 ms, best: 114 ms, median: 121 ms per loop Matrix 'RandomInteger[{0,1}, {10,10}] . RandomInteger[{0,1}, {10,10}]' 5 loops, avg: 320 ms, best: 300 ms, median: 304 ms per loop 'RandomInteger[{0,10}, {10,10}] + RandomInteger[{0,10}, {10,10}]' 100 loops, avg: 35.1 ms, best: 31.5 ms, median: 33.8 ms per loop Plot 'Plot[0, {x, -3, 3}]' 100 loops, avg: 73.3 ms, best: 66.4 ms, median: 69.5 ms per loop 'Plot[x^2 + x + 1, {x, -3, 3}]' 5 loops, avg: 501 ms, best: 487 ms, median: 493 ms per loop 'Plot[Sin[Cos[x^2]], {x, -3, 3}]' 5 loops, avg: 1.56 s , best: 1.5 s , median: 1.58 s per loop 'Plot[Sin[100 x], {x, -3, 3}]' 5 loops, avg: 1.01 s , best: 982 ms, median: 1.02 s per loop Plot3D 'Plot3D[0, {x, -1, 1}, {y, -1, 1}]' 10 loops, avg: 171 ms, best: 152 ms, median: 158 ms per loop 'Plot3D[x + y^2, {x, -3, 3}, {y, -2, 2}]' 5 loops, avg: 503 ms, best: 455 ms, median: 498 ms per loop 'Plot3D[Sin[x + y^2], {x, -3, 3}, {y, -3, 3}]' 5 loops, avg: 1.53 s , best: 1.45 s , median: 1.52 s per loop 'Plot3D[Sin[100 x + 100 y ^ 2], {x, 0, 1}, {y, 0, 1}]' 5 loops, avg: 1.49 s , best: 1.44 s , median: 1.48 s per loop Random 'RandomInteger[{-100, 100}, 100]' 1000 loops, avg: 3.56 ms, best: 3.07 ms, median: 3.34 ms per loop 'RandomInteger[10, {10, 10}]' 1000 loops, avg: 4.2 ms, best: 3.6 ms, median: 3.86 ms per loop 'RandomInteger[{0,1}, {5, 5, 5}]' 1000 loops, avg: 5.59 ms, best: 4.92 ms, median: 5.13 ms per loop 'RandomReal[1, 100]' 1000 loops, avg: 3.84 ms, best: 3.43 ms, median: 3.63 ms per loop 'RandomReal[{-1, 1}, 100]' 1000 loops, avg: 3.56 ms, best: 3.23 ms, median: 3.38 ms per loop 'RandomComplex[2 + I, 50]' 1000 loops, avg: 2.84 ms, best: 2.59 ms, median: 2.7 ms per loop 'RandomComplex[{-1 - I, 1 + I}, {10, 10}]' 1000 loops, avg: 5.64 ms, best: 5.07 ms, median: 5.32 ms per loop Trig 'Sin[RandomReal[]]' 1000 loops, avg: 1.39 ms, best: 1.23 ms, median: 1.27 ms per loop 'ArcTan[RandomReal[]]' 1000 loops, avg: 1.17 ms, best: 1.06 ms, median: 1.11 ms per loop ====================================================== OLD CACHING CODE EVALUATION BENCHMARKS: Arithmetic '1 + 2' 5000 loops, avg: 217 us, best: 190 us, median: 195 us per loop '5 * 3' 5000 loops, avg: 211 us, best: 190 us, median: 195 us per loop DensityPlot 'DensityPlot[x + y^2, {x, -3, 3}, {y, -2, 2}]' 5 loops, avg: 357 ms, best: 334 ms, median: 342 ms per loop Expand 'Expand[(a1+a2)^200]' 5 loops, avg: 518 ms, best: 458 ms, median: 495 ms per loop 'Expand[(a1+a2+a3)^25]' 5 loops, avg: 1.13 s , best: 1.01 s , median: 1.14 s per loop 'Expand[(a1+a2+a3+a4+a5+a6+a7)^3]' 10 loops, avg: 135 ms, best: 120 ms, median: 125 ms per loop Matrix 'RandomInteger[{0,1}, {10,10}] . RandomInteger[{0,1}, {10,10}]' 5 loops, avg: 352 ms, best: 330 ms, median: 342 ms per loop 'RandomInteger[{0,10}, {10,10}] + RandomInteger[{0,10}, {10,10}]' 100 loops, avg: 36.5 ms, best: 31.6 ms, median: 35.8 ms per loop Plot 'Plot[0, {x, -3, 3}]' 100 loops, avg: 77.9 ms, best: 67.7 ms, median: 76.1 ms per loop 'Plot[x^2 + x + 1, {x, -3, 3}]' 5 loops, avg: 570 ms, best: 533 ms, median: 559 ms per loop 'Plot[Sin[Cos[x^2]], {x, -3, 3}]' 5 loops, avg: 1.69 s , best: 1.61 s , median: 1.69 s per loop 'Plot[Sin[100 x], {x, -3, 3}]' 5 loops, avg: 1.15 s , best: 1.11 s , median: 1.15 s per loop Plot3D 'Plot3D[0, {x, -1, 1}, {y, -1, 1}]' 10 loops, avg: 180 ms, best: 160 ms, median: 172 ms per loop 'Plot3D[x + y^2, {x, -3, 3}, {y, -2, 2}]' 5 loops, avg: 487 ms, best: 447 ms, median: 483 ms per loop 'Plot3D[Sin[x + y^2], {x, -3, 3}, {y, -3, 3}]' 5 loops, avg: 1.53 s , best: 1.47 s , median: 1.55 s per loop 'Plot3D[Sin[100 x + 100 y ^ 2], {x, 0, 1}, {y, 0, 1}]' 5 loops, avg: 1.49 s , best: 1.45 s , median: 1.48 s per loop Random 'RandomInteger[{-100, 100}, 100]' 1000 loops, avg: 3.66 ms, best: 3.05 ms, median: 3.36 ms per loop 'RandomInteger[10, {10, 10}]' 1000 loops, avg: 4.11 ms, best: 3.58 ms, median: 3.85 ms per loop 'RandomInteger[{0,1}, {5, 5, 5}]' 1000 loops, avg: 5.33 ms, best: 4.91 ms, median: 5.05 ms per loop 'RandomReal[1, 100]' 1000 loops, avg: 3.86 ms, best: 3.44 ms, median: 3.63 ms per loop 'RandomReal[{-1, 1}, 100]' 1000 loops, avg: 3.85 ms, best: 3.23 ms, median: 3.48 ms per loop 'RandomComplex[2 + I, 50]' 1000 loops, avg: 3.08 ms, best: 2.58 ms, median: 2.78 ms per loop 'RandomComplex[{-1 - I, 1 + I}, {10, 10}]' 1000 loops, avg: 6.06 ms, best: 5.09 ms, median: 5.57 ms per loop Trig 'Sin[RandomReal[]]' 1000 loops, avg: 1.41 ms, best: 1.24 ms, median: 1.3 ms per loop 'ArcTan[RandomReal[]]' 1000 loops, avg: 1.21 ms, best: 1.08 ms, median: 1.14 ms per loop