-
Notifications
You must be signed in to change notification settings - Fork 5
Use instrument hooks #45
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
Use instrument hooks #45
Conversation
11d48ea
to
2a2de7a
Compare
CodSpeed Instrumentation Performance ReportMerging #45 will degrade performances by 35.94%Comparing 🎉 Hooray!
|
Benchmark | BASE |
HEAD |
Change | |
---|---|---|---|---|
❌ | RegExp#test |
13.6 µs | 20.2 µs | -32.57% |
❌ | switch 1 |
23.6 µs | 30.1 µs | -21.64% |
❌ | test_recursive_fibo_10 |
21.7 µs | 28.2 µs | -22.92% |
❌ | test_recursive_fibo_10 |
39.5 µs | 45.9 µs | -14.06% |
❌ | test_recursive_fibo_10 |
21.5 µs | 28.2 µs | -23.62% |
❌ | test_recursive_fibo_10 |
39.5 µs | 46.1 µs | -14.16% |
❌ | RegExp#test |
11.9 µs | 18.6 µs | -35.94% |
❌ | switch 1 |
24.1 µs | 30.6 µs | -21.4% |
❌ | RegExp#test |
12 µs | 18.8 µs | -35.82% |
❌ | switch 1 |
24.1 µs | 30.6 µs | -21.27% |
❌ | RegExp#test |
12 µs | 18.7 µs | -35.67% |
❌ | switch 1 |
24.3 µs | 30.7 µs | -20.87% |
⚡ | wait 500ms |
12.3 ms | 10.6 ms | +16% |
⚡ | short body |
295.8 µs | 132.9 µs | ×2.2 |
❌ | wait 1ms |
24.8 µs | 31.1 µs | -20.44% |
Footnotes
@not-matthias I'm looking into performance regression I'll ping you when it's full ready sorry |
2a2de7a
to
0711f7e
Compare
0d7d691
to
712520f
Compare
CodSpeed WallTime Performance ReportMerging #45 will degrade performances by 14.29%Comparing 🎉 Hooray!
|
Benchmark | BASE |
HEAD |
Change | |
---|---|---|---|---|
⚡ | test_iterative_fibo_10 |
240 ns | 216 ns | +11.11% |
❌ | test_iterative_fibo_10 |
216 ns | 252 ns | -14.29% |
Footnotes
ad8b539
to
094b54b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Please also set CODSPEED_PERF_ENABLED
in CI, to ensure the integration works!
static InstrumentHooks *ensureInitialized() { | ||
if (!g_hooks) { | ||
InstrumentHooks *hooks = instrument_hooks_init(); | ||
if (hooks) { | ||
g_hooks.reset(hooks); | ||
} | ||
} | ||
return g_hooks.get(); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will add some performance impact on the StopBenchmark()
path since we're checking first if the instrument hooks has been initialized. I've had a similar issue when adding instrument-hooks to codspeed-cpp.
We're initializing the global instance once, to avoid doing extra checks in the start/stop paths.
See:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh wait, since we're dealing with a JIT-compiled language here it should only have a very minimal effect. But maybe this can become an issue once the JS code is JIT-compiled and then directly calls this code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I'll test it out, it's maybe the source of some of the performance regressions that we observe. Won't be able to eliminate evrything but still.
dc40126
to
cb3de54
Compare
Instrumented perf observation
test_iterative_fibo_100
Still ready for review