Skip to content

refactor: use OrderedDict/OrderedSet over Dict/Set#946

Open
AayushSabharwal wants to merge 1 commit into
masterfrom
as/ordereddict
Open

refactor: use OrderedDict/OrderedSet over Dict/Set#946
AayushSabharwal wants to merge 1 commit into
masterfrom
as/ordereddict

Conversation

@AayushSabharwal
Copy link
Copy Markdown
Member

As part of an attempt to make things less dependent on hash-ordering

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results (Julia v1)

Time benchmarks
master bc6bea9... master / bc6bea9...
arithmetic/2-arg mul 9.39 ± 0.31 μs 20.2 ± 0.38 μs 0.465 ± 0.018
arithmetic/addition 0.0549 ± 0.00074 ms 0.202 ± 0.025 ms 0.272 ± 0.033
arithmetic/division 20.6 ± 0.56 μs 0.0486 ± 0.00074 ms 0.424 ± 0.013
arithmetic/multiplication 0.0342 ± 0.0015 ms 0.107 ± 0.0091 ms 0.318 ± 0.03
codegen/arrayop_nested/fast_toexpr 8.27 ± 0.55 μs 8.67 ± 0.52 μs 0.954 ± 0.086
codegen/arrayop_nested/toexpr 0.0486 ± 0.0011 ms 0.0508 ± 0.0013 ms 0.957 ± 0.033
codegen/deep_poly/deg=10:fast_toexpr 0.0669 ± 0.004 ms 0.0676 ± 0.0035 ms 0.99 ± 0.079
codegen/deep_poly/deg=10:toexpr 0.0738 ± 0.022 ms 0.0747 ± 0.022 ms 0.987 ± 0.41
codegen/deep_poly/deg=14:fast_toexpr 0.128 ± 0.023 ms 0.13 ± 0.021 ms 0.982 ± 0.24
codegen/deep_poly/deg=14:toexpr 0.135 ± 0.043 ms 0.136 ± 0.043 ms 0.99 ± 0.44
codegen/deep_poly/deg=6:fast_toexpr 30.8 ± 2.6 μs 31 ± 2.5 μs 0.992 ± 0.12
codegen/deep_poly/deg=6:toexpr 31.5 ± 0.85 μs 0.0321 ± 0.0008 ms 0.982 ± 0.036
codegen/makearray/n=100:fast_toexpr 0.102 ± 0.04 ms 0.104 ± 0.041 ms 0.981 ± 0.55
codegen/makearray/n=100:toexpr 0.518 ± 0.081 ms 0.557 ± 0.082 ms 0.929 ± 0.2
codegen/makearray/n=200:fast_toexpr 0.158 ± 0.06 ms 0.165 ± 0.063 ms 0.954 ± 0.51
codegen/makearray/n=200:toexpr 0.9 ± 0.14 ms 0.962 ± 0.14 ms 0.936 ± 0.2
codegen/makearray/n=400:fast_toexpr 0.314 ± 0.071 ms 0.322 ± 0.068 ms 0.974 ± 0.3
codegen/makearray/n=400:toexpr 1.5 ± 0.23 ms 1.6 ± 0.23 ms 0.942 ± 0.2
codegen/wide_deep_poly/fast_toexpr 0.578 ± 0.048 ms 0.583 ± 0.048 ms 0.992 ± 0.12
codegen/wide_deep_poly/toexpr 0.491 ± 0.028 ms 0.496 ± 0.019 ms 0.991 ± 0.068
codegen/wide_poly/n=100:fast_toexpr 0.207 ± 0.019 ms 0.209 ± 0.022 ms 0.992 ± 0.14
codegen/wide_poly/n=100:toexpr 0.283 ± 0.074 ms 0.314 ± 0.024 ms 0.903 ± 0.25
codegen/wide_poly/n=25:fast_toexpr 0.0459 ± 0.017 ms 0.0459 ± 0.017 ms 1 ± 0.53
codegen/wide_poly/n=25:toexpr 0.0708 ± 0.02 ms 0.0783 ± 0.02 ms 0.905 ± 0.34
codegen/wide_poly/n=50:fast_toexpr 0.0946 ± 0.014 ms 0.0945 ± 0.0079 ms 1 ± 0.17
codegen/wide_poly/n=50:toexpr 0.142 ± 0.04 ms 0.157 ± 0.04 ms 0.904 ± 0.35
irstructure/search_variables/common:IRStructure 0.226 ± 0.0049 ms 0.23 ± 0.0068 ms 0.983 ± 0.036
irstructure/search_variables/common:reference 0.693 ± 0.014 ms 2.14 ± 0.04 ms 0.324 ± 0.009
irstructure/search_variables/dissimilar:IRStructure 0.0564 ± 0.00087 ms 0.0576 ± 0.00087 ms 0.979 ± 0.021
irstructure/search_variables/dissimilar:reference 0.203 ± 0.013 ms 0.523 ± 0.084 ms 0.389 ± 0.068
irstructure/subset_ir/large 2.15 ± 0.1 ms 2.15 ± 0.065 ms 1 ± 0.057
irstructure/subset_ir/small 0.251 ± 0.014 ms 0.252 ± 0.013 ms 0.998 ± 0.077
irstructure/substitute/IRSubstituter 7.31 ± 0.35 ms 11.9 ± 1.4 ms 0.615 ± 0.079
irstructure/substitute/reference 7.65 ± 0.84 ms 12.2 ± 1.3 ms 0.626 ± 0.095
irstructure/substitute/sparse IRSubstituter 1.21 ± 0.029 ms 1.77 ± 0.11 ms 0.685 ± 0.044
irstructure/substitute/sparse reference 1.59 ± 0.046 ms 2.14 ± 0.096 ms 0.741 ± 0.039
overhead/acrule/a+2 2.44 ± 0.13 μs 2.53 ± 0.13 μs 0.965 ± 0.071
overhead/acrule/a+2+b 0.08 ± 0 μs 0.08 ± 0.01 μs 1 ± 0.12
overhead/acrule/a+b 4.26 ± 0.22 μs 4.28 ± 0.19 μs 0.995 ± 0.068
overhead/acrule/noop:Int 30 ± 0 ns 30 ± 0 ns 1 ± 0
overhead/acrule/noop:Sym 0.06 ± 0 μs 0.06 ± 0 μs 1 ± 0
overhead/get_degrees/large_poly 0.08 ± 0 μs 0.08 ± 0.01 μs 1 ± 0.12
overhead/rule/noop:Int 0.07 ± 0.009 μs 0.07 ± 0.01 μs 1 ± 0.19
overhead/rule/noop:Sym 0.07 ± 0.01 μs 0.07 ± 0.01 μs 1 ± 0.2
overhead/rule/noop:Term 0.07 ± 0.01 μs 0.07 ± 0.01 μs 1 ± 0.2
overhead/ruleset/noop:Int 30 ± 0 ns 30 ± 0 ns 1 ± 0
overhead/ruleset/noop:Sym 0.28 ± 0.001 μs 0.28 ± 0.01 μs 1 ± 0.036
overhead/ruleset/noop:Term 1.14 ± 0.03 μs 1.09 ± 0.04 μs 1.05 ± 0.047
overhead/simplify/noop:Int 30 ± 0 ns 30 ± 0 ns 1 ± 0
overhead/simplify/noop:Sym 0.04 ± 0.01 μs 0.04 ± 0.01 μs 1 ± 0.35
overhead/simplify/noop:Term 27.7 ± 0.76 μs 28.9 ± 0.62 μs 0.958 ± 0.033
overhead/simplify/randterm (+, *):serial 0.289 ± 0.032 s 0.301 ± 0.03 s 0.959 ± 0.14
overhead/simplify/randterm (+, *):thread 0.35 ± 0.17 s 0.374 ± 0.14 s 0.935 ± 0.58
overhead/simplify/randterm (/, *):serial 0.168 ± 0.02 ms 0.169 ± 0.02 ms 0.995 ± 0.17
overhead/simplify/randterm (/, *):thread 0.178 ± 0.021 ms 0.178 ± 0.02 ms 0.999 ± 0.16
overhead/substitute/a 28.4 ± 0.61 μs 0.0451 ± 0.00077 ms 0.63 ± 0.017
overhead/substitute/a,b 0.0346 ± 0.00071 ms 0.0518 ± 0.00089 ms 0.669 ± 0.018
overhead/substitute/a,b,c 0.0339 ± 0.0007 ms 0.0475 ± 0.00091 ms 0.713 ± 0.02
polyform/easy_iszero 15.3 ± 0.4 μs 0.0337 ± 0.00056 ms 0.453 ± 0.014
polyform/isone 0.835 ± 0.026 ms 1.31 ± 0.027 ms 0.635 ± 0.024
polyform/isone:noop 0.08 ± 0.01 μs 0.08 ± 0.01 μs 1 ± 0.18
polyform/iszero 0.715 ± 0.024 ms 1.17 ± 0.022 ms 0.609 ± 0.023
polyform/iszero:noop 0.08 ± 0 μs 0.08 ± 0 μs 1 ± 0
polyform/simplify_fractions 0.906 ± 0.028 ms 1.42 ± 0.027 ms 0.638 ± 0.023
printing/large_poly 0.221 ± 0.03 s 0.214 ± 0.033 s 1.03 ± 0.21
time_to_load 1.42 ± 0.016 s 1.41 ± 0.041 s 1 ± 0.031
Memory benchmarks
master bc6bea9... master / bc6bea9...
arithmetic/2-arg mul 0.06 k allocs: 1.84 kB 0.163 k allocs: 5.06 kB 0.364
arithmetic/addition 0.251 k allocs: 7.75 kB 1.41 k allocs: 0.0427 MB 0.177
arithmetic/division 0.134 k allocs: 4.8 kB 0.375 k allocs: 12.1 kB 0.397
arithmetic/multiplication 0.254 k allocs: 6.53 kB 0.786 k allocs: 23.1 kB 0.283
codegen/arrayop_nested/fast_toexpr 0.203 k allocs: 9.53 kB 0.208 k allocs: 9.53 kB 1
codegen/arrayop_nested/toexpr 0.524 k allocs: 19.7 kB 0.529 k allocs: 19.7 kB 1
codegen/deep_poly/deg=10:fast_toexpr 1.25 k allocs: 0.0565 MB 1.25 k allocs: 0.0565 MB 1
codegen/deep_poly/deg=10:toexpr 1.41 k allocs: 0.0488 MB 1.41 k allocs: 0.0488 MB 1
codegen/deep_poly/deg=14:fast_toexpr 2.22 k allocs: 0.12 MB 2.22 k allocs: 0.12 MB 1
codegen/deep_poly/deg=14:toexpr 2.55 k allocs: 0.0908 MB 2.55 k allocs: 0.0908 MB 1
codegen/deep_poly/deg=6:fast_toexpr 0.561 k allocs: 28.9 kB 0.561 k allocs: 28.9 kB 1
codegen/deep_poly/deg=6:toexpr 0.601 k allocs: 22.2 kB 0.601 k allocs: 22.2 kB 1
codegen/makearray/n=100:fast_toexpr 1.98 k allocs: 0.0835 MB 1.99 k allocs: 0.0819 MB 1.02
codegen/makearray/n=100:toexpr 4.86 k allocs: 0.169 MB 4.89 k allocs: 0.166 MB 1.02
codegen/makearray/n=200:fast_toexpr 3.22 k allocs: 0.135 MB 3.25 k allocs: 0.132 MB 1.03
codegen/makearray/n=200:toexpr 8.39 k allocs: 0.291 MB 8.43 k allocs: 0.286 MB 1.01
codegen/makearray/n=400:fast_toexpr 6.34 k allocs: 0.268 MB 6.42 k allocs: 0.259 MB 1.04
codegen/makearray/n=400:toexpr 13.9 k allocs: 0.473 MB 13.9 k allocs: 0.467 MB 1.01
codegen/wide_deep_poly/fast_toexpr 7.43 k allocs: 0.352 MB 7.43 k allocs: 0.352 MB 1
codegen/wide_deep_poly/toexpr 9.37 k allocs: 0.327 MB 9.37 k allocs: 0.327 MB 1
codegen/wide_poly/n=100:fast_toexpr 3.5 k allocs: 0.155 MB 3.5 k allocs: 0.155 MB 1
codegen/wide_poly/n=100:toexpr 4.92 k allocs: 0.166 MB 4.92 k allocs: 0.166 MB 1
codegen/wide_poly/n=25:fast_toexpr 0.911 k allocs: 0.0388 MB 0.911 k allocs: 0.0388 MB 1
codegen/wide_poly/n=25:toexpr 1.24 k allocs: 0.0421 MB 1.24 k allocs: 0.0421 MB 1
codegen/wide_poly/n=50:fast_toexpr 1.78 k allocs: 0.0928 MB 1.78 k allocs: 0.0928 MB 1
codegen/wide_poly/n=50:toexpr 2.47 k allocs: 0.0862 MB 2.47 k allocs: 0.0862 MB 1
irstructure/search_variables/common:IRStructure 0.09 k allocs: 6.25 kB 0.09 k allocs: 6.25 kB 1
irstructure/search_variables/common:reference 0.261 k allocs: 0.231 MB 13.3 k allocs: 0.628 MB 0.368
irstructure/search_variables/dissimilar:IRStructure 0.076 k allocs: 5.5 kB 0.074 k allocs: 5.47 kB 1.01
irstructure/search_variables/dissimilar:reference 0.155 k allocs: 0.0486 MB 3.03 k allocs: 0.137 MB 0.355
irstructure/subset_ir/large 0.037 M allocs: 1.81 MB 0.037 M allocs: 1.81 MB 1
irstructure/subset_ir/small 2.69 k allocs: 0.329 MB 2.69 k allocs: 0.329 MB 1
irstructure/substitute/IRSubstituter 31.2 k allocs: 1.01 MB 0.0635 M allocs: 1.99 MB 0.507
irstructure/substitute/reference 0.0338 M allocs: 1.17 MB 0.0662 M allocs: 2.15 MB 0.545
irstructure/substitute/sparse IRSubstituter 3.63 k allocs: 0.119 MB 8 k allocs: 0.252 MB 0.472
irstructure/substitute/sparse reference 6.3 k allocs: 0.286 MB 10.7 k allocs: 0.419 MB 0.682
overhead/acrule/a+2 0.032 k allocs: 1.12 kB 0.032 k allocs: 1.12 kB 1
overhead/acrule/a+2+b 0 allocs: 0 B 0 allocs: 0 B
overhead/acrule/a+b 0.042 k allocs: 1.55 kB 0.042 k allocs: 1.55 kB 1
overhead/acrule/noop:Int 0 allocs: 0 B 0 allocs: 0 B
overhead/acrule/noop:Sym 0 allocs: 0 B 0 allocs: 0 B
overhead/get_degrees/large_poly 2 allocs: 32 B 2 allocs: 32 B 1
overhead/rule/noop:Int 2 allocs: 0.0625 kB 2 allocs: 0.0625 kB 1
overhead/rule/noop:Sym 2 allocs: 0.0625 kB 2 allocs: 0.0625 kB 1
overhead/rule/noop:Term 2 allocs: 0.0625 kB 2 allocs: 0.0625 kB 1
overhead/ruleset/noop:Int 0 allocs: 0 B 0 allocs: 0 B
overhead/ruleset/noop:Sym 3 allocs: 0.109 kB 3 allocs: 0.109 kB 1
overhead/ruleset/noop:Term 12 allocs: 0.391 kB 12 allocs: 0.391 kB 1
overhead/simplify/noop:Int 0 allocs: 0 B 0 allocs: 0 B
overhead/simplify/noop:Sym 0 allocs: 0 B 0 allocs: 0 B
overhead/simplify/noop:Term 0.268 k allocs: 9.91 kB 0.271 k allocs: 10 kB 0.991
overhead/simplify/randterm (+, *):serial 2.28 M allocs: 0.0846 GB 2.3 M allocs: 0.0854 GB 0.991
overhead/simplify/randterm (+, *):thread 2.44 M allocs: 0.247 GB 2.47 M allocs: 0.249 GB 0.989
overhead/simplify/randterm (/, *):serial 1.84 k allocs: 0.0655 MB 1.84 k allocs: 0.0655 MB 1
overhead/simplify/randterm (/, *):thread 1.98 k allocs: 0.0704 MB 1.98 k allocs: 0.0704 MB 1
overhead/substitute/a 0.164 k allocs: 5.69 kB 0.312 k allocs: 10.3 kB 0.552
overhead/substitute/a,b 0.211 k allocs: 7.22 kB 0.36 k allocs: 11.9 kB 0.608
overhead/substitute/a,b,c 0.215 k allocs: 7.31 kB 0.34 k allocs: 11.2 kB 0.652
polyform/easy_iszero 0.093 k allocs: 2.91 kB 0.272 k allocs: 8.52 kB 0.341
polyform/isone 11.1 k allocs: 0.57 MB 15.2 k allocs: 0.708 MB 0.806
polyform/isone:noop 1 allocs: 16 B 1 allocs: 16 B 1
polyform/iszero 9.21 k allocs: 0.474 MB 13.1 k allocs: 0.607 MB 0.781
polyform/iszero:noop 1 allocs: 16 B 1 allocs: 16 B 1
polyform/simplify_fractions 11.6 k allocs: 0.588 MB 16 k allocs: 0.734 MB 0.802
printing/large_poly 2.15 M allocs: 0.079 GB 2.15 M allocs: 0.079 GB 1
time_to_load 0.149 k allocs: 11.1 kB 0.145 k allocs: 11 kB 1.02

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results (Julia vlts)

Time benchmarks
master bc6bea9... master / bc6bea9...
arithmetic/2-arg mul 10.2 ± 0.18 μs 22.4 ± 0.49 μs 0.456 ± 0.013
arithmetic/addition 0.0633 ± 0.00075 ms 0.219 ± 0.0049 ms 0.29 ± 0.0073
arithmetic/division 21.7 ± 0.35 μs 0.0523 ± 0.0036 ms 0.416 ± 0.029
arithmetic/multiplication 0.0377 ± 0.0016 ms 0.108 ± 0.0022 ms 0.35 ± 0.017
codegen/arrayop_nested/fast_toexpr 9.68 ± 1.1 μs 11.3 ± 1.2 μs 0.859 ± 0.13
codegen/arrayop_nested/toexpr 0.0518 ± 0.0017 ms 0.0532 ± 0.002 ms 0.974 ± 0.049
codegen/deep_poly/deg=10:fast_toexpr 0.072 ± 0.0038 ms 0.0732 ± 0.0064 ms 0.984 ± 0.1
codegen/deep_poly/deg=10:toexpr 0.0706 ± 0.0054 ms 0.0725 ± 0.0048 ms 0.975 ± 0.098
codegen/deep_poly/deg=14:fast_toexpr 0.132 ± 0.0075 ms 0.135 ± 0.013 ms 0.978 ± 0.11
codegen/deep_poly/deg=14:toexpr 0.127 ± 0.009 ms 0.131 ± 0.0093 ms 0.973 ± 0.098
codegen/deep_poly/deg=6:fast_toexpr 0.0329 ± 0.0022 ms 0.0335 ± 0.0027 ms 0.981 ± 0.1
codegen/deep_poly/deg=6:toexpr 31 ± 2.9 μs 0.0321 ± 0.0031 ms 0.967 ± 0.13
codegen/makearray/n=100:fast_toexpr 0.0754 ± 0.0064 ms 0.078 ± 0.0051 ms 0.967 ± 0.1
codegen/makearray/n=100:toexpr 0.52 ± 0.015 ms 0.522 ± 0.016 ms 0.997 ± 0.042
codegen/makearray/n=200:fast_toexpr 0.125 ± 0.01 ms 0.128 ± 0.011 ms 0.977 ± 0.12
codegen/makearray/n=200:toexpr 0.751 ± 0.018 ms 0.753 ± 0.017 ms 0.997 ± 0.034
codegen/makearray/n=400:fast_toexpr 0.232 ± 0.021 ms 0.24 ± 0.019 ms 0.965 ± 0.12
codegen/makearray/n=400:toexpr 1.23 ± 0.038 ms 1.23 ± 0.035 ms 1 ± 0.042
codegen/wide_deep_poly/fast_toexpr 0.544 ± 0.042 ms 0.583 ± 0.057 ms 0.934 ± 0.12
codegen/wide_deep_poly/toexpr 0.464 ± 0.025 ms 0.475 ± 0.029 ms 0.976 ± 0.08
codegen/wide_poly/n=100:fast_toexpr 0.233 ± 0.023 ms 0.236 ± 0.021 ms 0.99 ± 0.13
codegen/wide_poly/n=100:toexpr 0.26 ± 0.022 ms 0.261 ± 0.02 ms 0.999 ± 0.11
codegen/wide_poly/n=25:fast_toexpr 0.0515 ± 0.0032 ms 0.0527 ± 0.0038 ms 0.978 ± 0.093
codegen/wide_poly/n=25:toexpr 0.0642 ± 0.0047 ms 0.0646 ± 0.0051 ms 0.994 ± 0.11
codegen/wide_poly/n=50:fast_toexpr 0.109 ± 0.0063 ms 0.108 ± 0.0079 ms 1 ± 0.093
codegen/wide_poly/n=50:toexpr 0.13 ± 0.01 ms 0.13 ± 0.01 ms 0.995 ± 0.11
irstructure/search_variables/common:IRStructure 0.209 ± 0.0034 ms 0.217 ± 0.0039 ms 0.967 ± 0.024
irstructure/search_variables/common:reference 0.474 ± 0.063 ms 1.95 ± 0.012 ms 0.244 ± 0.032
irstructure/search_variables/dissimilar:IRStructure 0.054 ± 0.0015 ms 0.0567 ± 0.0015 ms 0.952 ± 0.036
irstructure/search_variables/dissimilar:reference 0.171 ± 0.029 ms 0.469 ± 0.0087 ms 0.366 ± 0.062
irstructure/subset_ir/large 3.89 ± 0.31 ms 3.77 ± 0.22 ms 1.03 ± 0.1
irstructure/subset_ir/small 0.559 ± 0.018 ms 0.559 ± 0.016 ms 1 ± 0.043
irstructure/substitute/IRSubstituter 8.49 ± 0.34 ms 12.5 ± 0.79 ms 0.682 ± 0.051
irstructure/substitute/reference 8.51 ± 0.51 ms 13.3 ± 0.48 ms 0.641 ± 0.045
irstructure/substitute/sparse IRSubstituter 1.33 ± 0.021 ms 1.96 ± 0.019 ms 0.681 ± 0.013
irstructure/substitute/sparse reference 1.89 ± 0.043 ms 2.46 ± 0.036 ms 0.767 ± 0.021
overhead/acrule/a+2 2.44 ± 0.065 μs 2.49 ± 0.073 μs 0.977 ± 0.039
overhead/acrule/a+2+b 0.049 ± 0.002 μs 0.053 ± 0.003 μs 0.925 ± 0.065
overhead/acrule/a+b 4.27 ± 0.1 μs 4.33 ± 0.18 μs 0.986 ± 0.047
overhead/acrule/noop:Int 0.036 ± 0.001 μs 0.038 ± 0.001 μs 0.947 ± 0.036
overhead/acrule/noop:Sym 0.04 ± 0.001 μs 0.042 ± 0.001 μs 0.952 ± 0.033
overhead/get_degrees/large_poly 0.076 ± 0.003 μs 0.078 ± 0.003 μs 0.974 ± 0.054
overhead/rule/noop:Int 0.05 ± 0.002 μs 0.053 ± 0.002 μs 0.943 ± 0.052
overhead/rule/noop:Sym 0.049 ± 0.002 μs 0.053 ± 0.002 μs 0.925 ± 0.051
overhead/rule/noop:Term 0.049 ± 0.002 μs 0.053 ± 0.002 μs 0.925 ± 0.051
overhead/ruleset/noop:Int 19 ± 1 ns 18 ± 1 ns 1.06 ± 0.081
overhead/ruleset/noop:Sym 0.246 ± 0.007 μs 0.251 ± 0.009 μs 0.98 ± 0.045
overhead/ruleset/noop:Term 1.15 ± 0.026 μs 1.15 ± 0.026 μs 1 ± 0.032
overhead/simplify/noop:Int 19 ± 0 ns 19 ± 1 ns 1 ± 0.053
overhead/simplify/noop:Sym 26 ± 1 ns 25 ± 1 ns 1.04 ± 0.058
overhead/simplify/noop:Term 28.6 ± 0.71 μs 29.3 ± 0.85 μs 0.978 ± 0.037
overhead/simplify/randterm (+, *):serial 0.278 ± 0.011 s 0.283 ± 0.013 s 0.982 ± 0.061
overhead/simplify/randterm (+, *):thread 0.322 ± 0.011 s 0.34 ± 0.015 s 0.947 ± 0.053
overhead/simplify/randterm (/, *):serial 0.169 ± 0.007 ms 0.171 ± 0.0072 ms 0.992 ± 0.058
overhead/simplify/randterm (/, *):thread 0.172 ± 0.0069 ms 0.173 ± 0.0076 ms 0.997 ± 0.059
overhead/substitute/a 30.6 ± 0.55 μs 0.0499 ± 0.0015 ms 0.613 ± 0.022
overhead/substitute/a,b 0.0378 ± 0.00055 ms 0.0574 ± 0.0013 ms 0.659 ± 0.018
overhead/substitute/a,b,c 0.0364 ± 0.00051 ms 0.0531 ± 0.00091 ms 0.685 ± 0.015
polyform/easy_iszero 16.7 ± 0.3 μs 0.039 ± 0.0028 ms 0.428 ± 0.032
polyform/isone 0.888 ± 0.032 ms 1.4 ± 0.033 ms 0.633 ± 0.027
polyform/isone:noop 0.08 ± 0.003 μs 0.079 ± 0.002 μs 1.01 ± 0.046
polyform/iszero 0.742 ± 0.027 ms 1.24 ± 0.027 ms 0.599 ± 0.025
polyform/iszero:noop 0.079 ± 0.002 μs 0.084 ± 0.003 μs 0.94 ± 0.041
polyform/simplify_fractions 0.958 ± 0.035 ms 1.51 ± 0.035 ms 0.634 ± 0.027
printing/large_poly 0.234 ± 0.0045 s 0.229 ± 0.0056 s 1.02 ± 0.032
time_to_load 1.37 ± 0.023 s 1.38 ± 0.0061 s 0.988 ± 0.017
Memory benchmarks
master bc6bea9... master / bc6bea9...
arithmetic/2-arg mul 0.067 k allocs: 2.3 kB 0.179 k allocs: 5.7 kB 0.403
arithmetic/addition 0.251 k allocs: 8.08 kB 1.61 k allocs: 0.0464 MB 0.17
arithmetic/division 0.13 k allocs: 5.03 kB 0.385 k allocs: 12.4 kB 0.405
arithmetic/multiplication 0.254 k allocs: 7 kB 0.804 k allocs: 23.7 kB 0.295
codegen/arrayop_nested/fast_toexpr 0.189 k allocs: 11.2 kB 0.185 k allocs: 10.9 kB 1.03
codegen/arrayop_nested/toexpr 0.473 k allocs: 20.5 kB 0.469 k allocs: 20.2 kB 1.01
codegen/deep_poly/deg=10:fast_toexpr 0.975 k allocs: 0.0564 MB 0.975 k allocs: 0.0564 MB 1
codegen/deep_poly/deg=10:toexpr 1.05 k allocs: 0.0497 MB 1.05 k allocs: 0.0497 MB 1
codegen/deep_poly/deg=14:fast_toexpr 1.71 k allocs: 0.117 MB 1.71 k allocs: 0.117 MB 1
codegen/deep_poly/deg=14:toexpr 1.89 k allocs: 0.093 MB 1.89 k allocs: 0.093 MB 1
codegen/deep_poly/deg=6:fast_toexpr 0.447 k allocs: 31.4 kB 0.447 k allocs: 31.4 kB 1
codegen/deep_poly/deg=6:toexpr 0.449 k allocs: 22.9 kB 0.449 k allocs: 22.9 kB 1
codegen/makearray/n=100:fast_toexpr 1.35 k allocs: 0.0703 MB 1.35 k allocs: 0.0692 MB 1.02
codegen/makearray/n=100:toexpr 4.43 k allocs: 0.173 MB 4.43 k allocs: 0.171 MB 1.01
codegen/makearray/n=200:fast_toexpr 2.38 k allocs: 0.118 MB 2.38 k allocs: 0.117 MB 1.01
codegen/makearray/n=200:toexpr 6.36 k allocs: 0.246 MB 6.36 k allocs: 0.243 MB 1.01
codegen/makearray/n=400:fast_toexpr 4.25 k allocs: 0.214 MB 4.25 k allocs: 0.21 MB 1.02
codegen/makearray/n=400:toexpr 10.2 k allocs: 0.392 MB 10.2 k allocs: 0.388 MB 1.01
codegen/wide_deep_poly/fast_toexpr 5.56 k allocs: 0.3 MB 5.56 k allocs: 0.3 MB 1
codegen/wide_deep_poly/toexpr 6.88 k allocs: 0.319 MB 6.88 k allocs: 0.319 MB 1
codegen/wide_poly/n=100:fast_toexpr 2.98 k allocs: 0.178 MB 2.98 k allocs: 0.178 MB 1
codegen/wide_poly/n=100:toexpr 3.92 k allocs: 0.168 MB 3.92 k allocs: 0.168 MB 1
codegen/wide_poly/n=25:fast_toexpr 0.779 k allocs: 0.0464 MB 0.779 k allocs: 0.0464 MB 1
codegen/wide_poly/n=25:toexpr 0.993 k allocs: 0.0428 MB 0.993 k allocs: 0.0428 MB 1
codegen/wide_poly/n=50:fast_toexpr 1.52 k allocs: 0.109 MB 1.52 k allocs: 0.109 MB 1
codegen/wide_poly/n=50:toexpr 1.97 k allocs: 0.0883 MB 1.97 k allocs: 0.0883 MB 1
irstructure/search_variables/common:IRStructure 0.06 k allocs: 7.03 kB 0.06 k allocs: 7.03 kB 1
irstructure/search_variables/common:reference 0.08 k allocs: 0.238 MB 13.1 k allocs: 0.635 MB 0.374
irstructure/search_variables/dissimilar:IRStructure 0.051 k allocs: 6.22 kB 0.049 k allocs: 5.41 kB 1.15
irstructure/search_variables/dissimilar:reference 0.07 k allocs: 0.115 MB 2.94 k allocs: 0.172 MB 0.672
irstructure/subset_ir/large 0.0425 M allocs: 2.16 MB 0.0425 M allocs: 2.16 MB 1
irstructure/subset_ir/small 2.66 k allocs: 0.348 MB 2.66 k allocs: 0.348 MB 1
irstructure/substitute/IRSubstituter 29.6 k allocs: 1.03 MB 0.0667 M allocs: 2.1 MB 0.49
irstructure/substitute/reference 0.0349 M allocs: 1.24 MB 0.0693 M allocs: 2.27 MB 0.545
irstructure/substitute/sparse IRSubstituter 3.41 k allocs: 0.12 MB 8.48 k allocs: 0.267 MB 0.451
irstructure/substitute/sparse reference 8.74 k allocs: 0.328 MB 11.1 k allocs: 0.434 MB 0.756
overhead/acrule/a+2 0.034 k allocs: 1.25 kB 0.033 k allocs: 1.23 kB 1.01
overhead/acrule/a+2+b 0 allocs: 0 B 0 allocs: 0 B
overhead/acrule/a+b 0.047 k allocs: 1.8 kB 0.045 k allocs: 1.77 kB 1.02
overhead/acrule/noop:Int 0 allocs: 0 B 0 allocs: 0 B
overhead/acrule/noop:Sym 0 allocs: 0 B 0 allocs: 0 B
overhead/get_degrees/large_poly 2 allocs: 32 B 2 allocs: 32 B 1
overhead/rule/noop:Int 2 allocs: 0.0625 kB 2 allocs: 0.0625 kB 1
overhead/rule/noop:Sym 2 allocs: 0.0625 kB 2 allocs: 0.0625 kB 1
overhead/rule/noop:Term 2 allocs: 0.0625 kB 2 allocs: 0.0625 kB 1
overhead/ruleset/noop:Int 0 allocs: 0 B 0 allocs: 0 B
overhead/ruleset/noop:Sym 3 allocs: 0.109 kB 3 allocs: 0.109 kB 1
overhead/ruleset/noop:Term 12 allocs: 0.391 kB 12 allocs: 0.391 kB 1
overhead/simplify/noop:Int 0 allocs: 0 B 0 allocs: 0 B
overhead/simplify/noop:Sym 0 allocs: 0 B 0 allocs: 0 B
overhead/simplify/noop:Term 0.298 k allocs: 11.5 kB 0.285 k allocs: 11.4 kB 1.01
overhead/simplify/randterm (+, *):serial 2.5 M allocs: 0.0954 GB 2.42 M allocs: 0.0946 GB 1.01
overhead/simplify/randterm (+, *):thread 2.55 M allocs: 0.253 GB 2.48 M allocs: 0.253 GB 1
overhead/simplify/randterm (/, *):serial 2.04 k allocs: 0.0733 MB 1.91 k allocs: 0.0713 MB 1.03
overhead/simplify/randterm (/, *):thread 2.07 k allocs: 0.0743 MB 1.95 k allocs: 0.0724 MB 1.03
overhead/substitute/a 0.158 k allocs: 5.78 kB 0.328 k allocs: 10.9 kB 0.532
overhead/substitute/a,b 0.201 k allocs: 7.25 kB 0.372 k allocs: 12.4 kB 0.586
overhead/substitute/a,b,c 0.203 k allocs: 7.22 kB 0.343 k allocs: 11.5 kB 0.626
polyform/easy_iszero 0.105 k allocs: 3.41 kB 0.302 k allocs: 9.44 kB 0.361
polyform/isone 7.67 k allocs: 0.55 MB 12 k allocs: 0.68 MB 0.809
polyform/isone:noop 1 allocs: 16 B 1 allocs: 16 B 1
polyform/iszero 6.27 k allocs: 0.457 MB 10.7 k allocs: 0.582 MB 0.784
polyform/iszero:noop 1 allocs: 16 B 1 allocs: 16 B 1
polyform/simplify_fractions 8.07 k allocs: 0.57 MB 13 k allocs: 0.712 MB 0.8
printing/large_poly 1.86 M allocs: 0.082 GB 1.86 M allocs: 0.082 GB 1
time_to_load 0.153 k allocs: 14.5 kB 0.153 k allocs: 14.5 kB 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant