-
-
Notifications
You must be signed in to change notification settings - Fork 48
Add PHPBench tool and first benchmark example #581
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
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: