-
Notifications
You must be signed in to change notification settings - Fork 28
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
Add PHPBench tool and first benchmark example #581
Conversation
UPGRADE.md
file
src/core/etl/tests/Flow/ETL/Tests/Benchmark/Row/Reference/Expression/AddJsonBench.php
Outdated
Show resolved
Hide resolved
src/core/etl/tests/Flow/ETL/Tests/Benchmark/Row/Reference/Expression/AddJsonBench.php
Outdated
Show resolved
Hide resolved
3e2f98d
to
637bdd9
Compare
ef2dca0
to
2075d7c
Compare
This looks great! I was thinking about creating benchmarks for specific building blocks separately, for example:
Those are very granular benchmarks, which can test all building blocks separately, providing clear insights about each element separately. However, on top of that, I would probably still try to benchmark entire Pipelines on a selected subset of the most frequently used extractors/loaders/transformers (we would need to develop a few scenarios here). So, to summarize, in order to finish this initial setup, I would probably start by preparing benchmarks for each of the elements I described above, except the global scenarios for now. This will not only be a good starting point for us but also a pretty nice template for anyone who would like to contribute, even without a full understanding of how the entire project works. I'm not sure what are the right numbers for revisions (this is what revs stands for?) and iterations, we would need to find a sweet spot between time/value. We might need to use different values for different building blocks because for example Expressions would show any performance degradation only after a couple hundred of iterations when extractors might need only a few and a bigger input. Those are my thoughts about adding phpbench to the project, in the past I made a few attempts to use it in other projects, and what I wrote here is pretty much a summary of my past experiences. I would love to hear some thoughts about it or different propositions. |
3132377
to
341bf2c
Compare
341bf2c
to
97c3346
Compare
97c3346
to
c0a8258
Compare
Change Log
Added
Fixed
Changed
Removed
Deprecated
Security
Description
Docs: https://phpbench.readthedocs.io/en/latest/quick-start.html
Refs: #560
Report: