absl::Symbolize does tons of tiny reads. Speed this up by switching from lseek+read to a pread, and by reading more data than requested into a buffer. A faster absl::Symbolize will be helpful in tests and when printing stack traces on /threadz etc. Results for absl::Symbolize benchmark that exercises uncached behavior of absl::Symbolize: ``` name old time/op new time/op delta BM_Symbolize 16.4ms ±12% 2.6ms ± 0% -84.06% (p=0.001 n=5+9) ``` PiperOrigin-RevId: 582687566 Change-Id: I44caf189d81867f3fd8c050a3100a4b9a8e744d7
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| internal | Loading commit data... | |
| BUILD.bazel | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| failure_signal_handler.cc | Loading commit data... | |
| failure_signal_handler.h | Loading commit data... | |
| failure_signal_handler_test.cc | Loading commit data... | |
| leak_check.cc | Loading commit data... | |
| leak_check.h | Loading commit data... | |
| leak_check_fail_test.cc | Loading commit data... | |
| leak_check_test.cc | Loading commit data... | |
| stacktrace.cc | Loading commit data... | |
| stacktrace.h | Loading commit data... | |
| stacktrace_benchmark.cc | Loading commit data... | |
| stacktrace_test.cc | Loading commit data... | |
| symbolize.cc | Loading commit data... | |
| symbolize.h | Loading commit data... | |
| symbolize_darwin.inc | Loading commit data... | |
| symbolize_elf.inc | Loading commit data... | |
| symbolize_emscripten.inc | Loading commit data... | |
| symbolize_test.cc | Loading commit data... | |
| symbolize_unimplemented.inc | Loading commit data... | |
| symbolize_win32.inc | Loading commit data... |