Skip to content

Opcode counting executor#904

Open
dantleech wants to merge 2 commits intomasterfrom
poc-opcode-counter
Open

Opcode counting executor#904
dantleech wants to merge 2 commits intomasterfrom
poc-opcode-counter

Conversation

@dantleech
Copy link
Copy Markdown
Member

@dantleech dantleech commented Jul 31, 2021

  • Adds opcode executor --executor=opcode
  • Show opcode count in aggregate report with stdev
  • Show opcode count in default (i.e. per-iteration) report.
  • Add option (enabled by default) to the expression report generator to hide columsn with missing vars (e.g. opcode count)
  • Move stuff around the executor hierarchy to enable more reuse 🙃
  • @deprecate the PARAM_SAFE_PARAMTER template-executor constant to force removal in 2.0
  • Allow opcode executor to be pre or post optimisation
  • Option to dump opcache output to path

TODO:

  • Reporting: maybe interesting to add a graph for opcode count.
  • Considering combining this into the default executor and adding an additional CLI option to enable it?
  • It is possible to use assertions with opcode counts?
  • Documentation...

image

@dantleech dantleech force-pushed the poc-opcode-counter branch from 4f8964b to aa1ed36 Compare July 31, 2021 21:07
@dantleech dantleech force-pushed the poc-opcode-counter branch 3 times, most recently from 519a643 to e515a93 Compare June 22, 2024 16:41
@dantleech dantleech changed the title POC: Opcode counter Opcode counting executor Jun 22, 2024
@dantleech dantleech force-pushed the poc-opcode-counter branch 4 times, most recently from 8502c67 to 8e34ac3 Compare June 22, 2024 17:02
namespace PhpBench\Expression\Exception;

class KeyDoesNotExist extends EvaluationError
class VariableNotFound extends EvaluationError
Copy link
Copy Markdown
Member Author

@dantleech dantleech Jun 22, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

previously unused class, technically a B/C break but 🤷 -- although to be safe may as well deprecate it and create a new class.

- Show opcode count in aggregate report
- Throw specific exception when variable not found
- Show stdev on aggregate report
- Add option to expression-generator to hide columsn with missing vars
  (e.g. opcode count)
- Move stuff around the executor hierarchy to enable more reuse 🙃
- @deprecate the PARAM_SAFE_PARAMTER template-executor constant to force removal in 2.0
- Allow opcode executor to be pre or post optimisation
- Option to dump opcache output to path
- Test opcode dump for file with > 1000 lines

Test > 1000 lines
@dantleech dantleech force-pushed the poc-opcode-counter branch from 8e34ac3 to f87176c Compare June 22, 2024 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant