-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Factor: base benchmarking for single/multiple u64, u128, and >u128 #9182
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
Conversation
…p the performance of calculating prime numbers for u64 and u128
… to add u64 digits from big_uint
|
please add it in the list here: .github/workflows/benchmarks.yml |
|
GNU testsuite comparison: |
|
Added to the list! |
|
GNU testsuite comparison: |
CodSpeed Performance ReportMerging #9182 will not alter performanceComparing Summary
Benchmarks breakdown
Footnotes
|
|
GNU testsuite comparison: |
|
I didn't expect it to take this long to run the benchmark. I think I'll reduce the range of numbers to iterate through for multiple_big_uint. |
|
GNU testsuite comparison: |
|
GNU testsuite comparison: |
… from divan macro
1f651e5 to
b492abd
Compare
…torize properly (factorize error take a while to propagate)
|
GNU testsuite comparison: |
|
please change the input sizes. |
|
also, 6 benchmarks seem a bit big, can we have 2 or 3 instead? thanks |
…ingle u64/u128/big_uint benchmark tests
|
I took off the single benchmark tests and kept the multiple u64/u128/BigUint benchmark tests (with smaller range of numbers to factorize) since it would be easier to notice any improvement on the factor command from those cases. In total, those 3 benchmark tests take about 350-400 ms to run (when run locally). |
|
GNU testsuite comparison: |
|
thanks |
Factor: base benchmarking for single/multiple u64, u128, and >u128
Factor: base benchmarking for single/multiple u64, u128, and >u128
|
seems that it is quite an unstable bench |
|
I took a closer look at the In fact, now that I look at it, Do you want me to comment out the |
if possible, yes, we really need something stable here |
|
The piece of randomization I see is over here: Whenever This isn't an issue for u64 integers because the small primes table fits for the numbers within the 64 bit range (especially with the sequence of 2-2502 I'm using for u64), but when you have u128 or >u128 integers, it seems like it will often drop to this loop of various factorization methods I'm not certain on how to reason about this in a stable manner for multiple u128/>u128 integers. |
Factor: base benchmarking for single/multiple u64, u128, and >u128
This PR adds benchmarking tests for the factor command to test how long uutils' factor command takes to compute the prime factors for u64/u128/>u128 values. It should also serve as a baseline for any modifications made to
src/factors.rsto check for any improvement on performance.