[ 53.57%] ··· bench_linalg.Einsum.time_einsum_contig_outstride0 ok
[ 53.57%] ··· =============== =========
dtype
--------------- ---------
numpy.float32 224±2μs
numpy.float64 356±6μs
=============== =========
[ 55.36%] ··· bench_linalg.Einsum.time_einsum_mul ok
[ 55.36%] ··· =============== ==========
dtype
--------------- ----------
numpy.float32 487±10μs
numpy.float64 863±20μs
=============== ==========
[ 57.14%] ··· bench_linalg.Einsum.time_einsum_multiply ok
[ 57.14%] ··· =============== ===========
dtype
--------------- -----------
numpy.float32 115±0.5μs
numpy.float64 141±2μs
=============== ===========
[ 58.93%] ··· bench_linalg.Einsum.time_einsum_noncon_contig_contig ok
[ 58.93%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 73.5±0.5μs
numpy.float64 74.0±0.7μs
=============== ============
[ 60.71%] ··· bench_linalg.Einsum.time_einsum_noncon_contig_outstride0 ok
[ 60.71%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 59.6±0.2μs
numpy.float64 60.5±0.6μs
=============== ============
[ 62.50%] ··· bench_linalg.Einsum.time_einsum_noncon_mul ok
[ 62.50%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 70.1±0.4μs
numpy.float64 72.0±0.5μs
=============== ============
[ 64.29%] ··· bench_linalg.Einsum.time_einsum_noncon_multiply ok
[ 64.29%] ··· =============== =========
dtype
--------------- ---------
numpy.float32 115±2μs
numpy.float64 140±2μs
=============== =========
[ 66.07%] ··· bench_linalg.Einsum.time_einsum_noncon_outer ok
[ 66.07%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 2.73±0.1ms
numpy.float64 6.22±0.2ms
=============== ============
[ 67.86%] ··· bench_linalg.Einsum.time_einsum_noncon_sum_mul ok
[ 67.86%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 99.3±0.4μs
numpy.float64 107±0.8μs
=============== ============
[ 69.64%] ··· bench_linalg.Einsum.time_einsum_noncon_sum_mul2 ok
[ 69.64%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 99.0±0.3μs
numpy.float64 107±1μs
=============== ============
[ 71.43%] ··· bench_linalg.Einsum.time_einsum_outer ok
[ 71.43%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 10.8±0.4ms
numpy.float64 22.1±0.3ms
=============== ============
[ 73.21%] ··· bench_linalg.Einsum.time_einsum_sum_mul ok
[ 73.21%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 94.5±0.4μs
numpy.float64 98.1±0.3μs
=============== ============
[ 75.00%] ··· bench_linalg.Einsum.time_einsum_sum_mul2 ok
[ 75.00%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 94.3±0.7μs
numpy.float64 98.7±0.4μs
=============== ============
[ 75.00%] · For numpy commit efaf210f (round 2/2):
[ 75.00%] ·· Building for virtualenv-py3.7-Cython..
[ 75.00%] ·· Benchmarking virtualenv-py3.7-Cython
[ 76.79%] ··· bench_linalg.Einsum.time_einsum_contig_contig ok
[ 76.79%] ··· =============== =========
dtype
--------------- ---------
numpy.float32 204±6μs
numpy.float64 355±5μs
=============== =========
[ 78.57%] ··· bench_linalg.Einsum.time_einsum_contig_outstride0 ok
[ 78.57%] ··· =============== =========
dtype
--------------- ---------
numpy.float32 226±6μs
numpy.float64 356±4μs
=============== =========
[ 80.36%] ··· bench_linalg.Einsum.time_einsum_mul ok
[ 80.36%] ··· =============== =============
dtype
--------------- -------------
numpy.float32 789±30μs
numpy.float64 1.00±0.01ms
=============== =============
[ 82.14%] ··· bench_linalg.Einsum.time_einsum_multiply ok
[ 82.14%] ··· =============== ===========
dtype
--------------- -----------
numpy.float32 117±0.2μs
numpy.float64 145±3μs
=============== ===========
[ 83.93%] ··· bench_linalg.Einsum.time_einsum_noncon_contig_contig ok
[ 83.93%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 74.2±0.4μs
numpy.float64 76.0±0.6μs
=============== ============
[ 85.71%] ··· bench_linalg.Einsum.time_einsum_noncon_contig_outstride0 ok
[ 85.71%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 59.4±0.3μs
numpy.float64 60.5±0.3μs
=============== ============
[ 87.50%] ··· bench_linalg.Einsum.time_einsum_noncon_mul ok
[ 87.50%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 72.0±0.2μs
numpy.float64 72.9±0.2μs
=============== ============
[ 89.29%] ··· bench_linalg.Einsum.time_einsum_noncon_multiply ok
[ 89.29%] ··· =============== ===========
dtype
--------------- -----------
numpy.float32 115±0.5μs
numpy.float64 140±0.8μs
=============== ===========
[ 91.07%] ··· bench_linalg.Einsum.time_einsum_noncon_outer ok
[ 91.07%] ··· =============== =============
dtype
--------------- -------------
numpy.float32 5.35±0.07ms
numpy.float64 7.07±0.2ms
=============== =============
[ 92.86%] ··· bench_linalg.Einsum.time_einsum_noncon_sum_mul ok
[ 92.86%] ··· =============== ===========
dtype
--------------- -----------
numpy.float32 101±0.6μs
numpy.float64 109±0.5μs
=============== ===========
[ 94.64%] ··· bench_linalg.Einsum.time_einsum_noncon_sum_mul2 ok
[ 94.64%] ··· =============== ===========
dtype
--------------- -----------
numpy.float32 101±1μs
numpy.float64 109±0.7μs
=============== ===========
[ 96.43%] ··· bench_linalg.Einsum.time_einsum_outer ok
[ 96.43%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 17.7±0.3ms
numpy.float64 25.8±0.5ms
=============== ============
[ 98.21%] ··· bench_linalg.Einsum.time_einsum_sum_mul ok
[ 98.21%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 95.5±0.5μs
numpy.float64 101±0.8μs
=============== ============
[100.00%] ··· bench_linalg.Einsum.time_einsum_sum_mul2 ok
[100.00%] ··· =============== ============
dtype
--------------- ------------
numpy.float32 95.5±0.8μs
numpy.float64 98.8±0.5μs
=============== ============
before after ratio
[efaf210f] [ebfed05a]
<master> <einsum-twooperands>
-
1.00±0.01ms 863±20μs 0.86 bench_linalg.Einsum.time_einsum_mul(<class 'numpy.float64'>) -
25.8±0.5ms 22.1±0.3ms 0.86 bench_linalg.Einsum.time_einsum_outer(<class 'numpy.float64'>) -
789±30μs 487±10μs 0.62 bench_linalg.Einsum.time_einsum_mul(<class 'numpy.float32'>) -
17.7±0.3ms 10.8±0.4ms 0.61 bench_linalg.Einsum.time_einsum_outer(<class 'numpy.float32'>) -
5.35±0.07ms 2.73±0.1ms 0.51 bench_linalg.Einsum.time_einsum_noncon_outer(<class 'numpy.float32'>)
SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.