Skip to content

[NFR]: Benchmark subjects for components with no reference app #17695

Closed

Description

@niden

Summary

The benchmark harness in tests/benchmarks/ measures the 4 reference apps (MVC, Micro, REST, ADR) and the components that they use: Di, Filter, Http, Mvc, Db, Events, Support, Container and ADR. The other components have no subjects and no measurements.

This issue adds subjects for 9 of these components. Then the performance work can rank and change them the same way as the components of the apps.

Scope

23 new subjects in 10 classes (11 files, tests/benchmarks/ only):

Class Subjects
Session\SessionBench benchGet, benchSet, benchBagSet
Cache\CacheBench benchGet, benchSet, benchCreate
Forms\FormBench benchConstruct, benchRender, benchIsValid
Filter\ValidationBench benchValidate, benchValidateFails
Acl\AclBench benchIsAllowed, benchIsAllowedInherited, benchIsDenied, benchBuild
Encryption\SecurityBench benchCsrf
Encryption\JwtBench benchBuild, benchParse
Logger\LoggerBench benchInfo, benchDebugSkipped
Config\ConfigBench benchConstruct, benchPath
Flash\FlashBench benchMessages
  • The subjects use no network: Session uses the Noop adapter, Cache the memory adapter, and Logger a small bench adapter with no I/O (Logger\LastLineAdapter).
  • Each subject checks its result and throws an exception if the result is wrong.
  • An A/A run on the same build must show no change, so that each subject does the same work on each call.
  • The README lists the new subjects and the run-all batches.

Not in scope

  • No change to the framework code (phalcon/, ext/).
  • Optimizations of these components: each one gets its own issue after the measurements.
  • Paginator, Annotations, Translate, Assets, Html\TagFactory, Tag, Image, and the Redis and Memcached adapters (a later batch).

Activity

  1. self-assigned this
    on Oct 27, 2026
  2. added
    new feature requestPlanned Feature or New Feature Request
    5.0The issues we want to solve in the 5.0 release
    on Oct 27, 2026
  3. added theissue type on Oct 27, 2026
  4. niden commented on Oct 27, 2026

    @niden
    SponsorMemberAuthor

    Resolved in #17698

  5. moved this from Backlog to Implemented in Phalcon v5on Oct 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

5.0The issues we want to solve in the 5.0 releasenew feature requestPlanned Feature or New Feature Request

Projects

  • Status
    Implemented

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions