about summary refs log tree commit diff
path: root/tests/rustdoc-js-std/from_u.js
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-11-25 02:01:39 +0000
committerbors <bors@rust-lang.org>2023-11-25 02:01:39 +0000
commit34c5ab9aac327a8a18e18ea37a2468a320d82fb0 (patch)
tree6b568c081d23279b1c6f151f6147890465405bad /tests/rustdoc-js-std/from_u.js
parent2a48155aec535e140b10cb2553673ced43c6e148 (diff)
parent107ea5d3bcc154b4c1dd31e646bb8fc41d4e7531 (diff)
downloadrust-34c5ab9aac327a8a18e18ea37a2468a320d82fb0.tar.gz
rust-34c5ab9aac327a8a18e18ea37a2468a320d82fb0.zip
Auto merge of #118227 - Mark-Simulacrum:worker-local-outline, r=cjgillot
Optimize QueryArena allocation

This shifts the WorkerLocal wrapper to be outside the QueryArena, meaning that instead of having each query allocate distinct arenas per-worker we allocate the full set of arenas per-worker. This is primarily a code size optimization (locally, ~85 kilobytes, [perf is reporting >100 kilobytes](https://perf.rust-lang.org/compare.html?start=1fd418f92ed13db88a21865ba5d909abcf16b6cc&end=884c95a3f1fe8d28630ec3cdb0c8f95b2e539fde&stat=instructions%3Au&tab=artifact-size)), saving a bunch of code in the initialization of the arenas which was previously duplicated lots of times (per arena type).

Additionally this tells LLVM that the thread count can't be zero in this code (I believe this is true?) which shaves some small amount of bytes off as well since we eliminate checks for zero in the vec allocations.
Diffstat (limited to 'tests/rustdoc-js-std/from_u.js')
0 files changed, 0 insertions, 0 deletions