Tarantool development patches archive
 help / color / mirror / Atom feed
From: Mikhail Shishatskiy via Tarantool-patches <tarantool-patches@dev.tarantool.org>
To: tarantool-patches@dev.tarantool.org, imun@tarantool.org,
	skaplun@tarantool.org
Subject: [Tarantool-patches] [PATCH luajit v2 0/2] memprof: group allocations on traces by trace number
Date: Wed, 28 Jul 2021 20:42:57 +0700
Message-ID: <20210728134259.1113235-1-m.shishatskiy@tarantool.org> (raw)

New patch series with Sergey's comments in mind.

Changes in v2:
    - Fixed comments as per review by Sergey Kaplun;
    - Trace dump supplemented with info about trace start pc,
      which is stored in the symtab;
    - Added test, checking if allocations in trace reported;
    - Ran an allocation-heavy benchmark on new patches to test the
      behavior.

The benchmark payload code can be found at [1]. It was summoned from
under the wrapper code [2]. The average time of 15 runs in seconds
is presented below. The second field is the standard deviation for 
the found difference:

| -------------------------------------- |
|           JIT-off, memprof-on          |
| -------------------------------------- |
|       BEFORE       |       AFTER       |
| ------------------ | ----------------- |
| 9.6155 (0.0656)    | +0.2951 (0.0742)  |
| -------------------------------------- |
|           JIT-on, memprof-on           |
| -------------------------------------- |
|       BEFORE       |       AFTER       |
| ------------------ | ----------------- |
| 7.0037 (0.2044)    | +0.2842 (0.0662)  |
| -------------------------------------- |

[1]: https://github.com/LuaJIT/LuaJIT-test-cleanup/blob/master/bench/binary-trees.lua
[2]: https://gist.github.com/Shishqa/d8e29f501d72647878b8993a206cea19

Issue: https://github.com/tarantool/tarantool/issues/5814
Branch: https://github.com/tarantool/luajit/tree/shishqa/gh-5814-group-allocations-on-trace-by-trace-number
CI: https://github.com/tarantool/tarantool/tree/shishqa/gh-5814-group-allocations-on-trace-by-trace-number

Mikhail Shishatskiy (2):
  memprof: dump traceno if allocate from trace
  memprof: extend symtab with info about traces

 src/lj_memprof.c                              |  33 ++++-
 src/lj_memprof.h                              |  20 ++-
 .../misclib-memprof-lapi.test.lua             | 121 +++++++++++++-----
 tools/memprof/parse.lua                       |  22 ++--
 tools/utils/symtab.lua                        |  41 +++++-
 5 files changed, 184 insertions(+), 53 deletions(-)

-- 
2.32.0

             reply	other threads:[~2021-07-28 13:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-28 13:42 Mikhail Shishatskiy via Tarantool-patches [this message]
2021-07-28 13:42 ` [Tarantool-patches] [PATCH luajit v2 1/2] memprof: dump traceno if allocate from trace Mikhail Shishatskiy via Tarantool-patches
2021-08-14  8:00   ` Sergey Kaplun via Tarantool-patches
2021-07-28 13:42 ` [Tarantool-patches] [PATCH luajit v2 2/2] memprof: extend symtab with info about traces Mikhail Shishatskiy via Tarantool-patches
2021-08-14 11:03   ` Sergey Kaplun via Tarantool-patches

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210728134259.1113235-1-m.shishatskiy@tarantool.org \
    --to=tarantool-patches@dev.tarantool.org \
    --cc=imun@tarantool.org \
    --cc=m.shishatskiy@tarantool.org \
    --cc=skaplun@tarantool.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Tarantool development patches archive

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://lists.tarantool.org/tarantool-patches/0 tarantool-patches/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 tarantool-patches tarantool-patches/ https://lists.tarantool.org/tarantool-patches \
		tarantool-patches@dev.tarantool.org.
	public-inbox-index tarantool-patches

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git