public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Burgess <aburgess@redhat.com>
To: Ilya Leoshkevich <iii@linux.ibm.com>, Tom Tromey <tromey@adacore.com>
Cc: Ulrich Weigand <ulrich.weigand@de.ibm.com>,
	Andreas Arnez <arnez@linux.ibm.com>,
	Pedro Alves <pedro@palves.net>,
	gdb-patches@sourceware.org, Ilya Leoshkevich <iii@linux.ibm.com>
Subject: Re: [PATCH 0/5] gdb.perf/: Add JIT performance test
Date: Fri, 27 May 2022 10:43:52 +0100	[thread overview]
Message-ID: <87o7zjgvjb.fsf@redhat.com> (raw)
In-Reply-To: <20220525223711.845475-1-iii@linux.ibm.com>

Ilya Leoshkevich <iii@linux.ibm.com> writes:

> Hi,
>
> This series implements a JIT performance test as discussed in [1].
> Patch 1 is a small fix, patches 2-4 are preparations and patch 5 is
> the test itself.
>
> The test can be used as follows:
>
> $ make build-perf -j"$(nproc)" RUNTESTFLAGS=jit.exp
> $ make check-perf RUNTESTFLAGS=jit-check.exp GDB_PERFTEST_MODE=run
>
> The results can be converted to gnuplot-friendly format as follows:
>
> $ perl -ne 'if (/:register_times:(\d+) (.+)/) { print "$1 $2\n"; }' \
>       <gdb.perf/outputs/jit/pieces/perftest.sum >jit.txt
>
> I've uploaded the results to [2].  They are somewhat different from
> those from Andrew, but they still show that [1] is an improvement.

I'm sure the reason for this difference is down to something I did
differently (wrong?) in my original benchmark, but I think it would be
really good to understand what that mistake was, as the performance
characteristics between my benchmark and yours are quite different.

I am taking a look at this myself, but it would be great if you could
run my original benchmark and let me know if you see result similar to
mine, or more similar to your benchmark.

If you can quickly spot why my benchmark does so much better (when
patched) then I'd love to hear why!

Thanks,
Andrew




> The third result shown on the chart is from [3] - with it I can
> pass the 10k JITed objects mark and finally debug CoreCLR JIT with
> GDB.  It's still WIP though - the testsuite shows a couple of
> failures.
>
> Best regards,
> Ilya
>
> [1] https://sourceware.org/pipermail/gdb-patches/2022-May/189341.html
> [2] https://github.com/iii-i/binutils-gdb/blob/section-map-20220525-2/gdb/testsuite/jit.png
> [3] https://github.com/iii-i/binutils-gdb/commits/section-map-20220525-2
>
> Ilya Leoshkevich (5):
>   gdb.perf/: Fix tcl_string_list_to_python_list {x}
>   gdb.perf/: Add binary_link_with_shlibs setting to GenPerfTest
>   gdb.perf/: Compile the binary with -DSHLIB
>   gdb.base/: Introduce jit-protocol-util.h
>   gdb.perf/: Add JIT performance test
>
>  gdb/testsuite/gdb.base/jit-elf-fork-main.c | 37 +---------
>  gdb/testsuite/gdb.base/jit-elf-main.c      | 37 +---------
>  gdb/testsuite/gdb.base/jit-protocol-util.h | 74 +++++++++++++++++++
>  gdb/testsuite/gdb.base/jit-reader-host.c   |  8 +-
>  gdb/testsuite/gdb.perf/jit-check.exp       | 25 +++++++
>  gdb/testsuite/gdb.perf/jit-check.py        | 60 +++++++++++++++
>  gdb/testsuite/gdb.perf/jit-solib.c         | 28 +++++++
>  gdb/testsuite/gdb.perf/jit.c               | 85 ++++++++++++++++++++++
>  gdb/testsuite/gdb.perf/jit.exp             | 37 ++++++++++
>  gdb/testsuite/lib/gen-perf-test.exp        | 25 ++++---
>  gdb/testsuite/lib/perftest.exp             |  2 +-
>  11 files changed, 336 insertions(+), 82 deletions(-)
>  create mode 100644 gdb/testsuite/gdb.base/jit-protocol-util.h
>  create mode 100644 gdb/testsuite/gdb.perf/jit-check.exp
>  create mode 100644 gdb/testsuite/gdb.perf/jit-check.py
>  create mode 100644 gdb/testsuite/gdb.perf/jit-solib.c
>  create mode 100644 gdb/testsuite/gdb.perf/jit.c
>  create mode 100644 gdb/testsuite/gdb.perf/jit.exp
>
> -- 
> 2.35.3


  parent reply	other threads:[~2022-05-27  9:43 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-25 22:37 Ilya Leoshkevich
2022-05-25 22:37 ` [PATCH 1/5] gdb.perf/: Fix tcl_string_list_to_python_list {x} Ilya Leoshkevich
2022-05-26 14:39   ` Andrew Burgess
2022-05-25 22:37 ` [PATCH 2/5] gdb.perf/: Add binary_link_with_shlibs setting to GenPerfTest Ilya Leoshkevich
2022-05-26 15:38   ` Andrew Burgess
2022-05-25 22:37 ` [PATCH 3/5] gdb.perf/: Compile the binary with -DSHLIB Ilya Leoshkevich
2022-05-26 15:43   ` Andrew Burgess
2022-05-25 22:37 ` [PATCH 4/5] gdb.base/: Introduce jit-protocol-util.h Ilya Leoshkevich
2022-05-26 15:55   ` Andrew Burgess
2022-05-25 22:37 ` [PATCH 5/5] gdb.perf/: Add JIT performance test Ilya Leoshkevich
2022-05-27 13:32   ` Andrew Burgess
2022-05-27  9:43 ` Andrew Burgess [this message]
2022-05-30 12:32   ` [PATCH 0/5] " Ilya Leoshkevich

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=87o7zjgvjb.fsf@redhat.com \
    --to=aburgess@redhat.com \
    --cc=arnez@linux.ibm.com \
    --cc=gdb-patches@sourceware.org \
    --cc=iii@linux.ibm.com \
    --cc=pedro@palves.net \
    --cc=tromey@adacore.com \
    --cc=ulrich.weigand@de.ibm.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).