JuliaAlgebra / MultivariatePolynomials.jl

Multivariate polynomials interface
https://juliaalgebra.github.io/MultivariatePolynomials.jl/stable/
Other
135 stars 27 forks source link

Rename _div into div_multiple #241

Closed blegat closed 1 year ago

blegat commented 1 year ago

Part of https://github.com/JuliaAlgebra/MultivariatePolynomials.jl/issues/194

Closes https://github.com/JuliaAlgebra/MultivariatePolynomials.jl/pull/207 Closes https://github.com/JuliaAlgebra/MultivariatePolynomials.jl/pull/201

Int64

Benchmark 0

Before

Time Alloc Memory
SIMDPolynomials 358.810 ns 8 400 bytes
DynamicPolynomials 6.579 μs 196 10.81 KiB
TypedPolynomials 170.237 ns 4 336 bytes

After

Time Alloc Memory
SIMDPolynomials 317.813 ns 6 272 bytes
DynamicPolynomials 5.072 μs 170 9.62 KiB
TypedPolynomials 117.847 ns 2 208 bytes

Benchmark 1

Before

Time Alloc Memory
SIMDPolynomials 132.809 μs 1904 2.10 MiB
DynamicPolynomials 1.166 ms 24080 3.28 MiB
TypedPolynomials 124.154 μs 1125 2.25 MiB

After

Time Alloc Memory
SIMDPolynomials 122.177 μs 1316 468.48 KiB
DynamicPolynomials 692.039 μs 15658 1.24 MiB
TypedPolynomials 97.478 μs 502 473.70 KiB

Benchmark 2

Before

Time Alloc Memory
SIMDPolynomials 4.770 μs 263 43.88 KiB
DynamicPolynomials 55.238 μs 1967 160.36 KiB
TypedPolynomials 5.576 μs 188 74.64 KiB

After

Time Alloc Memory
SIMDPolynomials 3.761 μs 218 8.31 KiB
DynamicPolynomials 31.402 μs 1361 92.11 KiB
TypedPolynomials 4.284 μs 137 6.09 KiB

Benchmark 3

Before

Time Alloc Memory
SIMDPolynomials 677.469 μs 31351 17.62 MiB
DynamicPolynomials 6.198 ms 156645 25.84 MiB
TypedPolynomials 372.314 μs 6414 25.02 MiB

After

Time Alloc Memory
SIMDPolynomials 461.465 μs 26515 1.02 MiB
DynamicPolynomials 2.307 ms 89587 6.01 MiB
TypedPolynomials 92.893 μs 547 353.50 KiB

BigInt

Benchmark 0

Before

Time Alloc Memory
SIMDPolynomials 931.929 ns 42 1008 bytes
DynamicPolynomials 6.983 μs 236 11.50 KiB
TypedPolynomials 724.700 ns 38 944 bytes

After

Time Alloc Memory
SIMDPolynomials 750.315 ns 34 784 bytes
DynamicPolynomials 5.634 μs 202 10.19 KiB
TypedPolynomials 555.119 ns 30 720 bytes

Benchmark 1

Before

Time Alloc Memory
SIMDPolynomials 438.317 μs 14864 1.93 MiB
DynamicPolynomials 1.216 ms 35406 3.07 MiB
TypedPolynomials 430.715 μs 13983 2.08 MiB

After

Time Alloc Memory
SIMDPolynomials 338.276 μs 12454 1001.43 KiB
DynamicPolynomials 880.820 μs 27690 1.85 MiB
TypedPolynomials 324.824 μs 11554 1004.15 KiB

Benchmark 2

Before

Time Alloc Memory
SIMDPolynomials 9.882 μs 419 46.76 KiB
DynamicPolynomials 61.901 μs 2167 164.78 KiB
TypedPolynomials 12.040 μs 311 76.74 KiB

After

Time Alloc Memory
SIMDPolynomials 5.636 μs 307 9.92 KiB
DynamicPolynomials 35.949 μs 1471 95.04 KiB
TypedPolynomials 5.281 μs 197 6.98 KiB

Benchmark 3

Before

Time Alloc Memory
SIMDPolynomials 2.633 ms 82073 18.48 MiB
DynamicPolynomials 7.521 ms 202263 26.72 MiB
TypedPolynomials 3.141 ms 57088 25.88 MiB

After

Time Alloc Memory
SIMDPolynomials 945.529 μs 59541 1.54 MiB
DynamicPolynomials 2.873 ms 111267 6.50 MiB
TypedPolynomials 515.503 μs 33525 885.83 KiB

Rational{BigInt}

Benchmark 0

Before

Time Alloc Memory
SIMDPolynomials 3.026 μs 225 5.48 KiB
DynamicPolynomials 8.217 μs 390 15.22 KiB
TypedPolynomials 2.861 μs 221 5.42 KiB

After

Time Alloc Memory
SIMDPolynomials 2.932 μs 217 5.33 KiB
DynamicPolynomials 8.069 μs 386 15.14 KiB
TypedPolynomials 2.792 μs 213 5.27 KiB

Benchmark 1

Before

Time Alloc Memory
SIMDPolynomials 1.673 ms 76435 4.21 MiB
DynamicPolynomials 2.346 ms 89963 5.32 MiB
TypedPolynomials 1.679 ms 75715 4.37 MiB

After

Time Alloc Memory
SIMDPolynomials 1.445 ms 68042 2.67 MiB
DynamicPolynomials 1.997 ms 77748 3.53 MiB
TypedPolynomials 1.446 ms 67322 2.68 MiB

Benchmark 2

Before

Time Alloc Memory
SIMDPolynomials 18.776 μs 1006 79.23 KiB
DynamicPolynomials 75.952 μs 2847 200.82 KiB
TypedPolynomials 20.142 μs 894 109.32 KiB

After

Time Alloc Memory
SIMDPolynomials 10.845 μs 692 20.28 KiB
DynamicPolynomials 45.825 μs 1968 108.00 KiB
TypedPolynomials 10.151 μs 580 17.30 KiB

Benchmark 3

Before

Time Alloc Memory
SIMDPolynomials 6.140 ms 242270 31.12 MiB
DynamicPolynomials 12.206 ms 339036 38.81 MiB
TypedPolynomials 7.747 ms 215223 38.57 MiB

After

Time Alloc Memory
SIMDPolynomials 2.562 ms 163028 4.71 MiB
DynamicPolynomials 5.302 ms 243218 9.64 MiB
TypedPolynomials 2.083 ms 135981 4.01 MiB