-
Notifications
You must be signed in to change notification settings - Fork 4
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
Identify the performance bottleneck for G(1, 3) #11
Comments
The slow bit is the tests for A.4.32: a = V.mv("a", "vector")
a₁₋ᵣ = [V.mv("a_$(i)", "vector") for i in 1:r]
wedge_a₁₋ᵣ = reduce(∧, a₁₋ᵣ)
prod_a₁₋ᵣ = reduce(*, a₁₋ᵣ)
@test wedge_a₁₋ᵣ == prod_a₁₋ᵣ[r] # A.4.12
A₁₋ᵣ = prod_a₁₋ᵣ
s = 3
Bs = B[s]
# 0.604375 seconds (5 allocations: 96 bytes)
@time AB1 = A₁₋ᵣ * Bs
# 0.976315 seconds (7.27 k allocations: 366.075 KiB, 1.75% compilation time)
@time AB2 = (A₁₋ᵣ)ǂ
# 60.840067 seconds (5 allocations: 96 bytes)
@time A_Bs_Aǂ = AB1 * AB2
# 283.460948 seconds (22 allocations: 704 bytes)
@time @test A_Bs_Aǂ == A_Bs_Aǂ[s] # A.4.32 I've also tried G(4), almost the same time, which means it's not triggered by metric. |
Complete stat by https://github.com/pygae/GAlgebra.jl/actions/runs/5081830873/jobs/9130739582 of 7ac49b0
compared to G(3):
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I've just noticed that the test CI is slow due to G(1, 3) Graded identities, particularly for A4, which takes 32m44.7s for no good reason. Tested with branch https://github.com/pygae/GAlgebra.jl/tree/profile_11
The text was updated successfully, but these errors were encountered: