Repository navigation
Conversation
Collaborator
|
Review requested:
|
env.h includes inspector_profiler.h, which included simdjson.h for the types of two virtual methods and a parser member. As a result, about 155 files in src/ parsed the amalgamated simdjson header, which is over 10 MB. Keep simdjson out of inspector_profiler.h: the profile connections now say which field of `result` holds the profile, and WriteProfile() takes the profile as raw JSON. The parser becomes a local variable, so its buffers are no longer kept alive for the lifetime of the Environment. Also drop the unused include from node_task_runner.h, and let the config file reader rewind its document instead of parsing the whole file a second time with a second parser. Now only the eight files that use simdjson include it. On an Apple M-series machine, a clean rebuild of the src/ objects takes about 15% less CPU time (376 s to 320 s) and 19% less wall time at -j14. Signed-off-by: Daniel Lemire <daniel@lemire.me>
lemire
force-pushed
the
deps-simdjson-5.0.3
branch
from
October 9, 2026 03:34
3149d2d to
2b17b43
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #66620 +/- ##
==========================================
- Coverage 92.78% 90.43% -2.35%
==========================================
Files 422 791 +369
Lines 193692 276572 +82880
Branches 29881 53108 +23227
==========================================
+ Hits 179714 250116 +70402
- Misses 13650 16859 +3209
- Partials 328 9597 +9269
🚀 New features to boost your workflow:
|
Collaborator
anonrig
approved these changes
Oct 9, 2026
aduh95
approved these changes
Oct 10, 2026
richardlau
approved these changes
Oct 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This has two commits:
deps: update simdjson to 5.0.3, using
tools/dep_updaters/update-simdjson.sh. simdjson 5.0.2 (deps: update simdjson to 5.0.2 #66495)
fails to compile with Apple clang 17 (Xcode 26.3) under
-fno-exceptions, which is within the supported range
(Xcode >= 16.4):
5.0.3 fixes it.
src: stop including simdjson.h from env.h. env.h included it
through inspector_profiler.h, so about 155 files in src/ parsed the
10 MB amalgamated header. Now only the 8 files that use simdjson
include it. A clean rebuild of src/ takes 15% less CPU time
(376 s to 320 s) and 19% less wall time (36.9 s to 29.8 s, -j14,
Apple M-series). The startup and runtime benchmarks I ran
(startup, module loading, --cpu-prof, NODE_V8_COVERAGE, the
config file and
node --run) show no regression.Release notes:
Refs: simdjson/simdjson#2913
Refs: #66495