e4dbd5f685
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 ``` |
||
---|---|---|
.. | ||
internal | ||
js | ||
live | ||
logger | ||
native | ||
api_test.go | ||
api.go | ||
dir.go | ||
live.go | ||
tracers_test.go | ||
tracker_test.go | ||
tracker.go |