-
-
Notifications
You must be signed in to change notification settings - Fork 89
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
Added :iterate-max to control number of function calls #349
Conversation
;; Results interpretation body inline lein test sci.performance Testing reusable function result. Evaluation count : 18228 in 6 samples of 3038 calls. Execution time mean : 34.552298 µs Execution time std-deviation : 1.253465 µs Execution time lower quantile : 32.660598 µs ( 2.5%) Execution time upper quantile : 35.494253 µs (97.5%) Overhead used : 1.411180 ns Ran 1 tests containing 0 assertions. 0 failures, 0 errors. ;; Results interpretation of body as inline function lein test sci.performance Testing reusable function result. Evaluation count : 17478 in 6 samples of 2913 calls. Execution time mean : 35.173788 µs Execution time std-deviation : 1.636139 µs Execution time lower quantile : 32.530240 µs ( 2.5%) Execution time upper quantile : 36.825700 µs (97.5%) Overhead used : 1.415773 ns Ran 1 tests containing 0 assertions. 0 failures, 0 errors.
lein test sci.performance Testing reusable function result. Evaluation count : 19170 in 6 samples of 3195 calls. Execution time mean : 32.441596 µs Execution time std-deviation : 636.477386 ns Execution time lower quantile : 31.584483 µs ( 2.5%) Execution time upper quantile : 33.182918 µs (97.5%) Overhead used : 1.858977 ns Found 2 outliers in 6 samples (33.3333 %) low-severe 1 (16.6667 %) low-mild 1 (16.6667 %) Variance from outliers : 13.8889 % Variance is moderately inflated by outliers
@jeroenvandijk The case I've been optimizing is this:
I do that using
What's weird is that your branch is even a tad faster than the original. It would be good to find out what causes the speedup :). |
I can imagine the speedup comes from extracting the interpretation of the body 25ace7c This is one extra function call, but two function calls less ( |
If the speedup is reproducible then a separate PR with only the speedup fix would be a no-brainer. |
I'm getting different results. Not exactly sure how to read or explain the results:
|
With n=100. I don't really see anything that is significant or makes sense (3c01531 should be slower than 25ace7c)
|
OK, thanks. At least we know how to test a performance regression now :). |
Install instructions to be complete :)
I used multitime version |
I just did |
Hmmm odd
Guess I was unlucky 😐 |
Maybe no Catalina support? |
Btw, not sure what you think of this:
Changed this line from Now I wonder how to do a proper performance test. Maybe these differences are just too small |
Yes, these types of changes are good for performance and PRs for them are welcome. |
Posted a comment in #348. |
This is an example implementation for issue #348
It allows to control the number of functions call via the
iterate-max
.In local
script/perf
checks this doesn't seem to affect performance (before and after).things to be discussed