Skip to content

refactor: make subset_ir faster#947

Open
AayushSabharwal wants to merge 2 commits into
masterfrom
as/faster-subset-ir
Open

refactor: make subset_ir faster#947
AayushSabharwal wants to merge 2 commits into
masterfrom
as/faster-subset-ir

Conversation

@AayushSabharwal
Copy link
Copy Markdown
Member

No description provided.

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results (Julia vlts)

Time benchmarks
master c120957... master / c120957...
arithmetic/2-arg mul 10.4 ± 0.31 μs 10.6 ± 0.35 μs 0.987 ± 0.044
arithmetic/addition 0.0651 ± 0.0013 ms 0.0628 ± 0.00097 ms 1.04 ± 0.026
arithmetic/division 22.1 ± 0.61 μs 21.7 ± 0.59 μs 1.02 ± 0.04
arithmetic/multiplication 0.0387 ± 0.0018 ms 0.0347 ± 0.0012 ms 1.11 ± 0.065
codegen/arrayop_nested/fast_toexpr 10.4 ± 1.2 μs 10.8 ± 1.6 μs 0.961 ± 0.18
codegen/arrayop_nested/toexpr 0.0529 ± 0.0028 ms 0.0545 ± 0.0036 ms 0.971 ± 0.082
codegen/deep_poly/deg=10:fast_toexpr 0.0755 ± 0.0051 ms 0.08 ± 0.0089 ms 0.944 ± 0.12
codegen/deep_poly/deg=10:toexpr 0.074 ± 0.0038 ms 0.0755 ± 0.0043 ms 0.981 ± 0.075
codegen/deep_poly/deg=14:fast_toexpr 0.138 ± 0.011 ms 0.147 ± 0.015 ms 0.937 ± 0.12
codegen/deep_poly/deg=14:toexpr 0.133 ± 0.0096 ms 0.136 ± 0.012 ms 0.981 ± 0.11
codegen/deep_poly/deg=6:fast_toexpr 0.0345 ± 0.0025 ms 0.0369 ± 0.0042 ms 0.936 ± 0.13
codegen/deep_poly/deg=6:toexpr 0.0319 ± 0.0026 ms 0.0332 ± 0.0045 ms 0.962 ± 0.15
codegen/makearray/n=100:fast_toexpr 0.0814 ± 0.0053 ms 0.0837 ± 0.01 ms 0.972 ± 0.14
codegen/makearray/n=100:toexpr 0.541 ± 0.017 ms 0.55 ± 0.022 ms 0.983 ± 0.05
codegen/makearray/n=200:fast_toexpr 0.138 ± 0.011 ms 0.142 ± 0.015 ms 0.972 ± 0.13
codegen/makearray/n=200:toexpr 0.778 ± 0.02 ms 0.796 ± 0.034 ms 0.977 ± 0.049
codegen/makearray/n=400:fast_toexpr 0.262 ± 0.018 ms 0.27 ± 0.028 ms 0.972 ± 0.12
codegen/makearray/n=400:toexpr 1.26 ± 0.033 ms 1.28 ± 0.049 ms 0.982 ± 0.045
codegen/wide_deep_poly/fast_toexpr 0.56 ± 0.033 ms 0.58 ± 0.04 ms 0.966 ± 0.088
codegen/wide_deep_poly/toexpr 0.482 ± 0.019 ms 0.493 ± 0.018 ms 0.977 ± 0.052
codegen/wide_poly/n=100:fast_toexpr 0.244 ± 0.023 ms 0.256 ± 0.025 ms 0.954 ± 0.13
codegen/wide_poly/n=100:toexpr 0.271 ± 0.015 ms 0.278 ± 0.022 ms 0.975 ± 0.093
codegen/wide_poly/n=25:fast_toexpr 0.0538 ± 0.0042 ms 0.0558 ± 0.0062 ms 0.963 ± 0.13
codegen/wide_poly/n=25:toexpr 0.0672 ± 0.0033 ms 0.068 ± 0.0065 ms 0.987 ± 0.11
codegen/wide_poly/n=50:fast_toexpr 0.109 ± 0.0091 ms 0.117 ± 0.013 ms 0.938 ± 0.13
codegen/wide_poly/n=50:toexpr 0.135 ± 0.01 ms 0.137 ± 0.013 ms 0.984 ± 0.12
irstructure/search_variables/common:IRStructure 0.248 ± 0.0072 ms 0.249 ± 0.0073 ms 0.993 ± 0.041
irstructure/search_variables/common:reference 0.548 ± 0.12 ms 0.453 ± 0.096 ms 1.21 ± 0.36
irstructure/search_variables/dissimilar:IRStructure 0.0616 ± 0.0017 ms 0.0605 ± 0.0019 ms 1.02 ± 0.042
irstructure/search_variables/dissimilar:reference 0.142 ± 0.056 ms 0.137 ± 0.0066 ms 1.03 ± 0.41
irstructure/subset_ir/large 3.36 ± 0.077 ms 3.06 ± 0.066 ms 1.1 ± 0.034
irstructure/subset_ir/small 0.525 ± 0.013 ms 0.274 ± 0.012 ms 1.91 ± 0.097
irstructure/substitute/IRSubstituter 7.81 ± 0.14 ms 7.82 ± 0.11 ms 0.999 ± 0.022
irstructure/substitute/reference 8.42 ± 0.17 ms 8.5 ± 0.51 ms 0.991 ± 0.063
irstructure/substitute/sparse IRSubstituter 1.34 ± 0.028 ms 1.36 ± 0.036 ms 0.984 ± 0.033
irstructure/substitute/sparse reference 2.03 ± 0.026 ms 2 ± 0.03 ms 1.01 ± 0.02
overhead/acrule/a+2 2.68 ± 0.12 μs 2.62 ± 0.12 μs 1.02 ± 0.065
overhead/acrule/a+2+b 0.06 ± 0.01 μs 0.06 ± 0.01 μs 1 ± 0.24
overhead/acrule/a+b 4.73 ± 0.18 μs 5.28 ± 0.44 μs 0.896 ± 0.082
overhead/acrule/noop:Int 0.05 ± 0.009 μs 0.05 ± 0 μs 1 ± 0.18
overhead/acrule/noop:Sym 0.05 ± 0.01 μs 0.05 ± 0.01 μs 1 ± 0.28
overhead/get_degrees/large_poly 0.08 ± 0.01 μs 0.08 ± 0.001 μs 1 ± 0.13
overhead/rule/noop:Int 0.06 ± 0.01 μs 0.06 ± 0.01 μs 1 ± 0.24
overhead/rule/noop:Sym 0.06 ± 0.001 μs 0.06 ± 0.001 μs 1 ± 0.024
overhead/rule/noop:Term 0.06 ± 0.001 μs 0.06 ± 0.001 μs 1 ± 0.024
overhead/ruleset/noop:Int 30 ± 0 ns 30 ± 0 ns 1 ± 0
overhead/ruleset/noop:Sym 0.251 ± 0.01 μs 0.251 ± 0.01 μs 1 ± 0.056
overhead/ruleset/noop:Term 1.13 ± 0.03 μs 1.07 ± 0.03 μs 1.06 ± 0.041
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 30.1 ± 0.8 μs 30.5 ± 1.5 μs 0.986 ± 0.056
overhead/simplify/randterm (+, *):serial 0.297 ± 0.012 s 0.307 ± 0.0092 s 0.97 ± 0.048
overhead/simplify/randterm (+, *):thread 0.337 ± 0.018 s 0.342 ± 0.02 s 0.987 ± 0.077
overhead/simplify/randterm (/, *):serial 0.175 ± 0.0088 ms 0.181 ± 0.013 ms 0.967 ± 0.083
overhead/simplify/randterm (/, *):thread 0.178 ± 0.0087 ms 0.183 ± 0.012 ms 0.97 ± 0.078
overhead/substitute/a 0.0323 ± 0.00073 ms 0.0333 ± 0.00092 ms 0.971 ± 0.035
overhead/substitute/a,b 0.0394 ± 0.00083 ms 0.04 ± 0.00093 ms 0.984 ± 0.031
overhead/substitute/a,b,c 0.0376 ± 0.0008 ms 0.0378 ± 0.00087 ms 0.996 ± 0.031
polyform/easy_iszero 17.9 ± 0.42 μs 17.5 ± 0.46 μs 1.02 ± 0.036
polyform/isone 0.957 ± 0.031 ms 0.957 ± 0.048 ms 1 ± 0.06
polyform/isone:noop 0.08 ± 0.01 μs 0.08 ± 0.001 μs 1 ± 0.13
polyform/iszero 0.791 ± 0.028 ms 0.797 ± 0.043 ms 0.993 ± 0.064
polyform/iszero:noop 0.08 ± 0.001 μs 0.08 ± 0.01 μs 1 ± 0.13
polyform/simplify_fractions 1.01 ± 0.032 ms 1.03 ± 0.051 ms 0.981 ± 0.057
printing/large_poly 0.24 ± 0.005 s 0.243 ± 0.0058 s 0.987 ± 0.031
time_to_load 1.36 ± 0.0079 s 1.37 ± 0.027 s 0.993 ± 0.02
Memory benchmarks
master c120957... master / c120957...
arithmetic/2-arg mul 0.067 k allocs: 2.3 kB 0.067 k allocs: 2.3 kB 1
arithmetic/addition 0.251 k allocs: 8.08 kB 0.251 k allocs: 8.08 kB 1
arithmetic/division 0.131 k allocs: 5.06 kB 0.13 k allocs: 5.03 kB 1.01
arithmetic/multiplication 0.254 k allocs: 7 kB 0.254 k allocs: 7 kB 1
codegen/arrayop_nested/fast_toexpr 0.189 k allocs: 11.2 kB 0.189 k allocs: 11.2 kB 1
codegen/arrayop_nested/toexpr 0.473 k allocs: 20.5 kB 0.473 k allocs: 20.5 kB 1
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.0703 MB 1
codegen/makearray/n=100:toexpr 4.43 k allocs: 0.173 MB 4.43 k allocs: 0.173 MB 1
codegen/makearray/n=200:fast_toexpr 2.38 k allocs: 0.118 MB 2.38 k allocs: 0.118 MB 1
codegen/makearray/n=200:toexpr 6.36 k allocs: 0.246 MB 6.36 k allocs: 0.246 MB 1
codegen/makearray/n=400:fast_toexpr 4.25 k allocs: 0.214 MB 4.25 k allocs: 0.214 MB 1
codegen/makearray/n=400:toexpr 10.2 k allocs: 0.392 MB 10.2 k allocs: 0.392 MB 1
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 0.08 k allocs: 0.238 MB 1
irstructure/search_variables/dissimilar:IRStructure 0.051 k allocs: 6.22 kB 0.051 k allocs: 6.22 kB 1
irstructure/search_variables/dissimilar:reference 0.071 k allocs: 0.119 MB 0.071 k allocs: 0.119 MB 1
irstructure/subset_ir/large 0.0425 M allocs: 2.16 MB 0.0426 M allocs: 1.97 MB 1.09
irstructure/subset_ir/small 2.66 k allocs: 0.348 MB 2.65 k allocs: 0.177 MB 1.97
irstructure/substitute/IRSubstituter 29.6 k allocs: 1.03 MB 29.6 k allocs: 1.03 MB 1
irstructure/substitute/reference 0.0349 M allocs: 1.24 MB 0.0349 M allocs: 1.24 MB 1
irstructure/substitute/sparse IRSubstituter 3.41 k allocs: 0.12 MB 3.41 k allocs: 0.12 MB 1
irstructure/substitute/sparse reference 8.74 k allocs: 0.328 MB 8.74 k allocs: 0.328 MB 1
overhead/acrule/a+2 0.034 k allocs: 1.25 kB 0.034 k allocs: 1.25 kB 1
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.047 k allocs: 1.8 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.298 k allocs: 11.5 kB 0.298 k allocs: 11.5 kB 1
overhead/simplify/randterm (+, *):serial 2.5 M allocs: 0.0954 GB 2.5 M allocs: 0.0954 GB 1
overhead/simplify/randterm (+, *):thread 2.56 M allocs: 0.253 GB 2.56 M allocs: 0.253 GB 1
overhead/simplify/randterm (/, *):serial 2.04 k allocs: 0.0733 MB 2.04 k allocs: 0.0733 MB 1
overhead/simplify/randterm (/, *):thread 2.07 k allocs: 0.0743 MB 2.07 k allocs: 0.0743 MB 1
overhead/substitute/a 0.158 k allocs: 5.78 kB 0.158 k allocs: 5.78 kB 1
overhead/substitute/a,b 0.201 k allocs: 7.25 kB 0.201 k allocs: 7.25 kB 1
overhead/substitute/a,b,c 0.203 k allocs: 7.22 kB 0.203 k allocs: 7.22 kB 1
polyform/easy_iszero 0.105 k allocs: 3.41 kB 0.105 k allocs: 3.41 kB 1
polyform/isone 7.69 k allocs: 0.551 MB 7.67 k allocs: 0.55 MB 1
polyform/isone:noop 1 allocs: 16 B 1 allocs: 16 B 1
polyform/iszero 6.29 k allocs: 0.457 MB 6.27 k allocs: 0.457 MB 1
polyform/iszero:noop 1 allocs: 16 B 1 allocs: 16 B 1
polyform/simplify_fractions 8.09 k allocs: 0.571 MB 8.07 k allocs: 0.57 MB 1
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

@github-actions
Copy link
Copy Markdown
Contributor

Benchmark Results (Julia v1)

Time benchmarks
master c120957... master / c120957...
arithmetic/2-arg mul 9.88 ± 0.29 μs 9.92 ± 0.34 μs 0.996 ± 0.045
arithmetic/addition 0.0585 ± 0.0011 ms 0.057 ± 0.00066 ms 1.03 ± 0.022
arithmetic/division 23.6 ± 0.58 μs 23.3 ± 0.51 μs 1.02 ± 0.033
arithmetic/multiplication 0.0391 ± 0.002 ms 0.0381 ± 0.0014 ms 1.03 ± 0.065
codegen/arrayop_nested/fast_toexpr 7.92 ± 0.48 μs 7.8 ± 0.43 μs 1.02 ± 0.083
codegen/arrayop_nested/toexpr 0.0588 ± 0.0022 ms 0.0601 ± 0.0021 ms 0.979 ± 0.05
codegen/deep_poly/deg=10:fast_toexpr 0.0736 ± 0.019 ms 0.074 ± 0.02 ms 0.995 ± 0.37
codegen/deep_poly/deg=10:toexpr 0.0758 ± 0.019 ms 0.0759 ± 0.019 ms 0.999 ± 0.36
codegen/deep_poly/deg=14:fast_toexpr 0.17 ± 0.025 ms 0.167 ± 0.023 ms 1.02 ± 0.21
codegen/deep_poly/deg=14:toexpr 0.139 ± 0.035 ms 0.14 ± 0.038 ms 0.994 ± 0.37
codegen/deep_poly/deg=6:fast_toexpr 31.2 ± 4.5 μs 30.4 ± 3.6 μs 1.03 ± 0.19
codegen/deep_poly/deg=6:toexpr 0.0327 ± 0.00082 ms 0.0327 ± 0.00065 ms 0.999 ± 0.032
codegen/makearray/n=100:fast_toexpr 0.121 ± 0.038 ms 0.136 ± 0.036 ms 0.89 ± 0.37
codegen/makearray/n=100:toexpr 0.623 ± 0.062 ms 0.624 ± 0.067 ms 0.999 ± 0.15
codegen/makearray/n=200:fast_toexpr 0.184 ± 0.048 ms 0.21 ± 0.05 ms 0.876 ± 0.31
codegen/makearray/n=200:toexpr 1.07 ± 0.12 ms 1.07 ± 0.13 ms 1 ± 0.16
codegen/makearray/n=400:fast_toexpr 0.346 ± 0.049 ms 0.377 ± 0.053 ms 0.919 ± 0.18
codegen/makearray/n=400:toexpr 1.79 ± 0.21 ms 1.76 ± 0.22 ms 1.01 ± 0.18
codegen/wide_deep_poly/fast_toexpr 0.62 ± 0.034 ms 0.614 ± 0.036 ms 1.01 ± 0.081
codegen/wide_deep_poly/toexpr 0.505 ± 0.02 ms 0.509 ± 0.02 ms 0.992 ± 0.056
codegen/wide_poly/n=100:fast_toexpr 0.252 ± 0.018 ms 0.255 ± 0.048 ms 0.988 ± 0.2
codegen/wide_poly/n=100:toexpr 0.296 ± 0.031 ms 0.299 ± 0.074 ms 0.991 ± 0.27
codegen/wide_poly/n=25:fast_toexpr 0.0476 ± 0.019 ms 0.0464 ± 0.017 ms 1.03 ± 0.55
codegen/wide_poly/n=25:toexpr 0.0715 ± 0.017 ms 0.0712 ± 0.017 ms 1 ± 0.34
codegen/wide_poly/n=50:fast_toexpr 0.114 ± 0.018 ms 0.116 ± 0.015 ms 0.984 ± 0.2
codegen/wide_poly/n=50:toexpr 0.144 ± 0.035 ms 0.145 ± 0.036 ms 0.998 ± 0.35
irstructure/search_variables/common:IRStructure 0.246 ± 0.0075 ms 0.246 ± 0.0078 ms 1 ± 0.044
irstructure/search_variables/common:reference 0.794 ± 0.017 ms 0.79 ± 0.018 ms 1.01 ± 0.032
irstructure/search_variables/dissimilar:IRStructure 0.066 ± 0.0019 ms 0.0676 ± 0.0029 ms 0.976 ± 0.05
irstructure/search_variables/dissimilar:reference 0.246 ± 0.017 ms 0.25 ± 0.017 ms 0.983 ± 0.095
irstructure/subset_ir/large 2 ± 0.056 ms 2.14 ± 0.41 ms 0.932 ± 0.18
irstructure/subset_ir/small 0.237 ± 0.013 ms 0.124 ± 0.011 ms 1.92 ± 0.19
irstructure/substitute/IRSubstituter 7.42 ± 0.23 ms 7.5 ± 0.18 ms 0.989 ± 0.039
irstructure/substitute/reference 7.91 ± 0.26 ms 7.8 ± 0.28 ms 1.01 ± 0.05
irstructure/substitute/sparse IRSubstituter 1.29 ± 0.031 ms 1.32 ± 0.04 ms 0.98 ± 0.038
irstructure/substitute/sparse reference 1.71 ± 0.072 ms 1.68 ± 0.028 ms 1.01 ± 0.046
overhead/acrule/a+2 2.5 ± 0.061 μs 2.52 ± 0.051 μs 0.992 ± 0.031
overhead/acrule/a+2+b 0.08 ± 0.01 μs 0.071 ± 0.01 μs 1.13 ± 0.21
overhead/acrule/a+b 4.47 ± 0.11 μs 4.51 ± 0.091 μs 0.991 ± 0.032
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.09 ± 0.01 μs 0.07 ± 0.001 μs 1.29 ± 0.14
overhead/rule/noop:Int 0.061 ± 0.01 μs 0.06 ± 0.001 μs 1.02 ± 0.17
overhead/rule/noop:Sym 0.07 ± 0.01 μs 0.061 ± 0.01 μs 1.15 ± 0.25
overhead/rule/noop:Term 0.07 ± 0.01 μs 0.061 ± 0.01 μs 1.15 ± 0.25
overhead/ruleset/noop:Int 30 ± 0 ns 30 ± 0 ns 1 ± 0
overhead/ruleset/noop:Sym 0.321 ± 0.011 μs 0.311 ± 0.01 μs 1.03 ± 0.049
overhead/ruleset/noop:Term 1.21 ± 0.021 μs 1.19 ± 0.03 μs 1.02 ± 0.031
overhead/simplify/noop:Int 30 ± 0 ns 30 ± 0 ns 1 ± 0
overhead/simplify/noop:Sym 30 ± 10 ns 30 ± 10 ns 1 ± 0.47
overhead/simplify/noop:Term 30.2 ± 0.63 μs 30.6 ± 0.7 μs 0.986 ± 0.031
overhead/simplify/randterm (+, *):serial 0.294 ± 0.028 s 0.298 ± 0.035 s 0.985 ± 0.15
overhead/simplify/randterm (+, *):thread 0.354 ± 0.11 s 0.357 ± 0.013 s 0.99 ± 0.31
overhead/simplify/randterm (/, *):serial 0.188 ± 0.022 ms 0.183 ± 0.021 ms 1.03 ± 0.17
overhead/simplify/randterm (/, *):thread 0.199 ± 0.026 ms 0.192 ± 0.02 ms 1.03 ± 0.17
overhead/substitute/a 31.6 ± 0.7 μs 31.3 ± 0.76 μs 1.01 ± 0.033
overhead/substitute/a,b 0.0393 ± 0.00094 ms 0.0387 ± 0.00094 ms 1.02 ± 0.035
overhead/substitute/a,b,c 0.0379 ± 0.00094 ms 0.0375 ± 0.00084 ms 1.01 ± 0.034
polyform/easy_iszero 16.4 ± 0.64 μs 15.7 ± 0.39 μs 1.04 ± 0.048
polyform/isone 0.931 ± 0.1 ms 0.89 ± 0.023 ms 1.05 ± 0.12
polyform/isone:noop 0.07 ± 0.001 μs 0.071 ± 0.01 μs 0.986 ± 0.14
polyform/iszero 0.79 ± 0.024 ms 0.773 ± 0.021 ms 1.02 ± 0.042
polyform/iszero:noop 0.071 ± 0.01 μs 0.071 ± 0.01 μs 1 ± 0.2
polyform/simplify_fractions 0.986 ± 0.025 ms 0.968 ± 0.021 ms 1.02 ± 0.034
printing/large_poly 0.214 ± 0.025 s 0.222 ± 0.029 s 0.963 ± 0.17
time_to_load 1.52 ± 0.08 s 1.38 ± 0.016 s 1.1 ± 0.06
Memory benchmarks
master c120957... master / c120957...
arithmetic/2-arg mul 0.06 k allocs: 1.84 kB 0.06 k allocs: 1.84 kB 1
arithmetic/addition 0.251 k allocs: 7.75 kB 0.251 k allocs: 7.75 kB 1
arithmetic/division 0.134 k allocs: 4.8 kB 0.134 k allocs: 4.8 kB 1
arithmetic/multiplication 0.254 k allocs: 6.53 kB 0.254 k allocs: 6.53 kB 1
codegen/arrayop_nested/fast_toexpr 0.203 k allocs: 9.53 kB 0.203 k allocs: 9.53 kB 1
codegen/arrayop_nested/toexpr 0.524 k allocs: 19.7 kB 0.524 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.98 k allocs: 0.0835 MB 1
codegen/makearray/n=100:toexpr 4.86 k allocs: 0.169 MB 4.86 k allocs: 0.169 MB 1
codegen/makearray/n=200:fast_toexpr 3.22 k allocs: 0.135 MB 3.22 k allocs: 0.135 MB 1
codegen/makearray/n=200:toexpr 8.39 k allocs: 0.291 MB 8.39 k allocs: 0.291 MB 1
codegen/makearray/n=400:fast_toexpr 6.34 k allocs: 0.268 MB 6.34 k allocs: 0.268 MB 1
codegen/makearray/n=400:toexpr 13.9 k allocs: 0.473 MB 13.9 k allocs: 0.473 MB 1
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.26 k allocs: 0.23 MB 0.26 k allocs: 0.23 MB 1
irstructure/search_variables/dissimilar:IRStructure 0.076 k allocs: 5.5 kB 0.076 k allocs: 5.5 kB 1
irstructure/search_variables/dissimilar:reference 0.154 k allocs: 0.0483 MB 0.155 k allocs: 0.0486 MB 0.994
irstructure/subset_ir/large 0.037 M allocs: 1.81 MB 0.037 M allocs: 1.63 MB 1.11
irstructure/subset_ir/small 2.69 k allocs: 0.329 MB 2.66 k allocs: 0.156 MB 2.11
irstructure/substitute/IRSubstituter 31.2 k allocs: 1.01 MB 31.2 k allocs: 1.01 MB 1
irstructure/substitute/reference 0.0338 M allocs: 1.17 MB 0.0338 M allocs: 1.17 MB 1
irstructure/substitute/sparse IRSubstituter 3.63 k allocs: 0.119 MB 3.63 k allocs: 0.119 MB 1
irstructure/substitute/sparse reference 6.3 k allocs: 0.286 MB 6.3 k allocs: 0.286 MB 1
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.268 k allocs: 9.91 kB 1
overhead/simplify/randterm (+, *):serial 2.28 M allocs: 0.0846 GB 2.28 M allocs: 0.0846 GB 1
overhead/simplify/randterm (+, *):thread 2.44 M allocs: 0.247 GB 2.44 M allocs: 0.247 GB 1
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.164 k allocs: 5.69 kB 1
overhead/substitute/a,b 0.211 k allocs: 7.22 kB 0.211 k allocs: 7.22 kB 1
overhead/substitute/a,b,c 0.215 k allocs: 7.31 kB 0.215 k allocs: 7.31 kB 1
polyform/easy_iszero 0.093 k allocs: 2.91 kB 0.093 k allocs: 2.91 kB 1
polyform/isone 11.1 k allocs: 0.57 MB 11.1 k allocs: 0.57 MB 1
polyform/isone:noop 1 allocs: 16 B 1 allocs: 16 B 1
polyform/iszero 9.21 k allocs: 0.474 MB 9.21 k allocs: 0.474 MB 1
polyform/iszero:noop 1 allocs: 16 B 1 allocs: 16 B 1
polyform/simplify_fractions 11.6 k allocs: 0.588 MB 11.6 k allocs: 0.588 MB 1
printing/large_poly 2.15 M allocs: 0.079 GB 2.15 M allocs: 0.079 GB 1
time_to_load 0.145 k allocs: 11 kB 0.145 k allocs: 11 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