• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

extphprs / ext-php-rs / 24425467643
66%

Build:
DEFAULT BRANCH: master
Ran 14 Apr 2026 10:14PM UTC
Jobs 1
Files 95
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

14 Apr 2026 10:11PM UTC coverage: 66.091% (-0.1%) from 66.211%
24425467643

push

github

web-flow
perf: cache property lookups across repeated accesses (#726)

When PHP reads or writes an object property (e.g. `$obj->name`), ext-php-rs
previously searched through all registered properties by name on every single
access. In a loop hitting the same property 100k times, that same search ran
100k times.

PHP provides a per-opcode "cache slot" mechanism to avoid this. On the first
access, we now store the resolved property descriptor pointer in the cache
slot. On all subsequent accesses to the same property on the same class, we
skip the search entirely and read the cached pointer directly -- a single
pointer comparison instead of string conversions and linear scans.

Applied to all three property handlers: read, write, and isset/exists.

Benchmarks (callgrind, 100k iterations):
  - Property reads:  235M -> 93.5M instructions (-60%)
  - Property writes: 220M -> 75.7M instructions (-66%)

0 of 38 new or added lines in 1 file covered. (0.0%)

2 existing lines in 1 file now uncovered.

8426 of 12749 relevant lines covered (66.09%)

33.3 hits per line

Uncovered Changes

Lines Coverage ∆ File
38
0.0
0.0% src/zend/handlers.rs

Coverage Regressions

Lines Coverage ∆ File
2
0.0
0.0% src/zend/handlers.rs
Jobs
ID Job ID Ran Files Coverage
1 24425467643.1 14 Apr 2026 10:14PM UTC 95
66.09
GitHub Action Run
Source Files on build 24425467643
  • Tree
  • List 95
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24425467643
  • a6598dcb on github
  • Prev Build on master (#24422162052)
  • Next Build on master (#24468898292)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc