Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to MultivariatePolynomials v0.5 #531

Merged
merged 2 commits into from
Jul 27, 2023
Merged

Conversation

blegat
Copy link
Contributor

@blegat blegat commented Jul 5, 2023

Most of the breaking changes were done in order to make it faster notably to resolve JuliaAlgebra/MultivariatePolynomials.jl#194 (I should update the benchmarks in this issue by the way, they should be much better now).
The performance of multivariate gcd should be much better now.

@shashi
Copy link
Member

shashi commented Jul 10, 2023

CI is erroring with:

  `variable_union_type` not implemented for MultivariatePolynomials.AbstractVariable.

src/polyform.jl Outdated Show resolved Hide resolved
@github-actions
Copy link
Contributor

Benchmark Results

master c6ffe2f... t[master]/t[c6ffe2f...]
overhead/acrule/a+2 1.2 ± 0.2 μs 1.18 ± 0.19 μs 1.02
overhead/acrule/a+2+b 1.19 ± 0.2 μs 1.17 ± 0.21 μs 1.02
overhead/acrule/a+b 0.401 ± 0.0055 μs 0.396 ± 0.007 μs 1.01
overhead/acrule/noop:Int 27.2 ± 0.4 ns 25.1 ± 0.2 ns 1.08
overhead/acrule/noop:Sym 0.0436 ± 0.0067 μs 0.0396 ± 0.0064 μs 1.1
overhead/rule/noop:Int 0.0421 ± 0.0026 μs 0.0397 ± 0.0022 μs 1.06
overhead/rule/noop:Sym 0.0528 ± 0.0014 μs 0.0517 ± 0.0023 μs 1.02
overhead/rule/noop:Term 0.0528 ± 0.0015 μs 0.0514 ± 0.0016 μs 1.03
overhead/ruleset/noop:Int 0.157 ± 0.0018 μs 0.145 ± 0.0021 μs 1.08
overhead/ruleset/noop:Sym 0.179 ± 0.0024 μs 0.187 ± 0.0039 μs 0.957
overhead/ruleset/noop:Term 4.47 ± 0.2 μs 4.56 ± 0.23 μs 0.981
overhead/simplify/noop:Int 0.206 ± 0.0071 μs 0.196 ± 0.0093 μs 1.05
overhead/simplify/noop:Sym 0.213 ± 0.0031 μs 0.218 ± 0.003 μs 0.978
overhead/simplify/noop:Term 0.0417 ± 0.0012 ms 0.0421 ± 0.0021 ms 0.991
overhead/simplify/randterm (+, *):serial 0.111 ± 0.0016 s 0.113 ± 0.0015 s 0.99
overhead/simplify/randterm (+, *):thread 0.0756 ± 0.011 s 0.0734 ± 0.012 s 1.03
overhead/simplify/randterm (/, *):serial 0.251 ± 0.005 ms 0.252 ± 0.0057 ms 0.995
overhead/simplify/randterm (/, *):thread 0.292 ± 0.0069 ms 0.296 ± 0.0071 ms 0.987
overhead/substitute/a 0.0955 ± 0.0013 ms 0.0936 ± 0.0013 ms 1.02
overhead/substitute/a,b 0.0844 ± 0.0012 ms 0.0836 ± 0.0013 ms 1.01
overhead/substitute/a,b,c 0.0409 ± 0.0008 ms 0.0406 ± 0.0007 ms 1.01
polyform/easy_iszero 0.0413 ± 0.0017 ms 0.0417 ± 0.0019 ms 0.99
polyform/isone 2.8 ± 0.1 ns 3.6 ± 0.1 ns 0.778
polyform/iszero 1.62 ± 0.026 ms 1.68 ± 0.027 ms 0.964
polyform/simplify_fractions 2.47 ± 0.034 ms 2.55 ± 0.04 ms 0.969
time_to_load 5.15 ± 0.0052 s 5.09 ± 0.0065 s 1.01

Benchmark Plots

A plot of the benchmark results have been uploaded as an artifact to the workflow run for this PR.
Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).

@schillic
Copy link

If this looks good to you, could you please merge and tag a new release? This is holding back changes in other packages.

@shashi shashi merged commit e5c25e4 into JuliaSymbolics:master Jul 27, 2023
9 checks passed
@shashi shashi deleted the MP@v0.5 branch July 27, 2023 19:42
@shashi
Copy link
Member

shashi commented Jul 27, 2023

Thanks!

schillic referenced this pull request Jul 29, 2023
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.

gcd performance
3 participants