mirror of https://github.com/ethereum/go-ethereum
eth/tracers/js: avoid compiling js bigint when not needed (#30640)
While looking at some mem profiles from `evm` runs, I noticed that `goja` compilation of the bigint library was present. The bigint library compilation happens in a package `init`, whenever the package `eth/tracers/js` is loaded. This PR changes it to load lazily when needed. It becomes slightly faster with this change, and slightly less alloc:y. Non-scientific benchmark with 100 executions: ``` time for i in {1..100}; do ./evm --code 6040 run; done; ``` current `master`: ``` real 0m6.634s user 0m5.213s sys 0m2.277s ``` Without compiling bigint ``` real 0m5.802s user 0m4.191s sys 0m1.965s ```release/1.14
parent
db03e01577
commit
26e1470393
Loading…
Reference in new issue