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

ptondereau / ext-php-rs / 24423222637
66%
master: 66%

Build:
Build:
LAST BUILD BRANCH: fix/string-prop-getter-zend-string-leak
DEFAULT BRANCH: master
Ran 14 Apr 2026 09:17PM 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 09:12PM UTC coverage: 66.091%. First build
24423222637

push

github

ptondereau
perf: cache property lookups across repeated accesses

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%)

8426 of 12749 relevant lines covered (66.09%)

33.3 hits per line

Uncovered Changes

Lines Coverage ∆ File
38
0.0
src/zend/handlers.rs
Jobs
ID Job ID Ran Files Coverage
1 24423222637.1 14 Apr 2026 09:17PM UTC 95
66.09
GitHub Action Run
Source Files on build 24423222637
  • Tree
  • List 95
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24423222637
  • 0cbf993e on github
  • Delete
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