Summary (radar methodology — not a parity bug, but blocks measuring parity)
The #800 node-core radar runs perry compile with PERRY_NO_AUTO_OPTIMIZE=1 (a per-compile speed hack) against a fixed-feature .a. But Perry's http/net/https/ws servers, zlib, crypto, and async_hooks live in perry-ext-* crates / cargo features that are only built + added to the link line by the auto-optimize path. So those tests compile fine but fail to link (Undefined symbols: _js_node_http_create_server, _js_net_create_server, ...) and get bucketed as compile-fail.
Impact
In the full sweep this is the dominant compile-fail cause — ~570 tests across:
- http (237), net (99), https (41) — server symbols in
perry-ext-http-server etc.
- zlib (50), crypto (43), async_hooks (28), process (22), stream (14), child_process (12) — feature-gated stdlib.
These are not real gaps — Perry implements these APIs. The radar just isn't linking them, so http=4% / https=0% / net=8% / crypto=35% / zlib=19% / async_hooks=34% are all understated.
Fix options
- Pre-build a "kitchen-sink" runtime+stdlib + all
perry-ext-* libs once, and have the radar link that full surface (keeps the fast PERRY_NO_AUTO_OPTIMIZE path).
- Or add a
--auto-optimize mode to scripts/node_core_subset.py that drops PERRY_NO_AUTO_OPTIMIZE so the ext-crate link path runs (slower; rebuilds per feature-set).
Until fixed, exclude these compile-fails from the parity denominator (raw 12.5% → ~17.6% excluding the 377 network ones; higher still once the others are counted).
Context: full #800 radar sweep, perry 0.5.1028.
Summary (radar methodology — not a parity bug, but blocks measuring parity)
The #800 node-core radar runs
perry compilewithPERRY_NO_AUTO_OPTIMIZE=1(a per-compile speed hack) against a fixed-feature.a. But Perry's http/net/https/ws servers, zlib, crypto, and async_hooks live inperry-ext-*crates / cargo features that are only built + added to the link line by the auto-optimize path. So those tests compile fine but fail to link (Undefined symbols: _js_node_http_create_server,_js_net_create_server, ...) and get bucketed ascompile-fail.Impact
In the full sweep this is the dominant
compile-failcause — ~570 tests across:perry-ext-http-serveretc.These are not real gaps — Perry implements these APIs. The radar just isn't linking them, so http=4% / https=0% / net=8% / crypto=35% / zlib=19% / async_hooks=34% are all understated.
Fix options
perry-ext-*libs once, and have the radar link that full surface (keeps the fastPERRY_NO_AUTO_OPTIMIZEpath).--auto-optimizemode toscripts/node_core_subset.pythat dropsPERRY_NO_AUTO_OPTIMIZEso the ext-crate link path runs (slower; rebuilds per feature-set).Until fixed, exclude these
compile-fails from the parity denominator (raw 12.5% → ~17.6% excluding the 377 network ones; higher still once the others are counted).Context: full #800 radar sweep, perry 0.5.1028.