[Tarantool-patches] [PATCH luajit v2 0/3] memprof: add demangling capabilities for C functions
Максим Корякшин
m.kokryashkin at tarantool.org
Wed Aug 25 13:01:07 MSK 2021
So here are the benchmark results, and they are surprising.
It turns out that dumping all symbols from all shared objects is
actually much faster than dumping only the name and address of
each shared object.
==========================================================
tested script:
package.cpath = "./?.so"
require "hello"
for j=1,1e3 do
misc.memprof.start('./memprof.test')
misc.memprof.stop()
end
----------------------------------------------------------
vanilla:
0,03s user 0,05s system 50% cpu 0,158 total
0,01s user 0,04s system 88% cpu 0,051 total
0,01s user 0,05s system 79% cpu 0,071 total
avg total: 0.093
avg total per memprof.start/stop: 9.3e-5
performance relative to vanilla: x1
----------------------------------------------------------
dump only shared objects addresses and names:
18,83s user 0,36s system 99% cpu 19,285 total
19,15s user 0,35s system 99% cpu 19,586 total
18,75s user 0,39s system 99% cpu 19,244 total
avg total: 19.371
avg total per memprof.start/stop: 0.019
performance relative to vanilla: x208.29
----------------------------------------------------------
dump all symbols:
0,30s user 0,10s system 75% cpu 0,519 total
0,41s user 0,20s system 52% cpu 1,173 total
0,31s user 0,08s system 73% cpu 0,531 total
avg total: 0.741
avg total per memprof.start/stop: 7.4e-4
performance relative to vanilla: x7.96
==========================================================
Best regards,
Maxim Kokryashkin
>Friday, 20.08.21Maxim Kokryashkin <max.kokryashkin at gmail.com>:
>
>Changes in v2:
> - Fixed comments as per review by Sergey
>
>
>Maxim Kokryashkin (3):
> utils: add CRC32 hash implementation
> memprof: extend symtab with information about .so libs
> memprof: update memprof parser
>
> CMakeLists.txt | 2 +
> src/CMakeLists.txt | 1 +
> src/Makefile.dep.original | 3 +-
> src/Makefile.original | 2 +-
> src/lj_memprof.c | 60 +++++++++
> src/lj_memprof.h | 3 +-
> src/lj_utils.h | 29 +++++
> src/lj_utils_hash.c | 110 +++++++++++++++++
> src/ljamalg.c | 1 +
> .../misclib-memprof-lapi.test.lua | 5 +-
> tools/CMakeLists.txt | 2 +
> tools/utils/hash.lua | 99 +++++++++++++++
> tools/utils/symtab.lua | 114 +++++++++++++++++-
> 13 files changed, 420 insertions(+), 11 deletions(-)
> create mode 100644 src/lj_utils_hash.c
> create mode 100644 tools/utils/hash.lua
>
>---
>Github branch: https://github.com/tarantool/luajit/tree/fckxorg/gh-5813-demangling-of-c-symbols
>Issue: https://github.com/tarantool/tarantool/issues/5813
>
>2.32.0
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20210825/95cbc718/attachment.htm>
More information about the Tarantool-patches
mailing list