Conversation
|
This is cool! I didn't realize the We measure the time it takes to load all 100 json documents and generate the 4200+ values. I'd like to investigate the cause of the difference to try and reach parity. |
Performance Analysis: jq4j (PR #25) vs mainTest Setup
Benchmark Results
jq4j is ~2.2-2.4x slower than ProcessBuilder jq on both databases. Both produce identical results (4526 values, 100 uploads). Note: Async-Profiler CPU Breakdown (11,940 samples, SQLite)
Root CauseThe dominant cost is that every The call path is: Potential Optimizations
|
|
Thanks for all the performance considerations! I implemented a "reactor-mode" and an "instance pool" to re-use as much as possible the runtime instances. Update coming soon! |
f3756c6 to
41c8a00
Compare
|
Everything is updated now, ready to look at the next perf results. |
Switches
calculateJqValues()from forking/usr/bin/jqviaProcessBuilderto usingjq4j, which runsjqas a WASM module inside the JVM.jqbinary requiredExisting
NodeServiceTest.calculateJqValues*tests pass unchanged.