From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id CBF923827790 for ; Fri, 27 May 2022 09:43:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CBF923827790 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-161-mJnvz_X_PdW-gIu3GBdDHw-1; Fri, 27 May 2022 05:43:56 -0400 X-MC-Unique: mJnvz_X_PdW-gIu3GBdDHw-1 Received: by mail-wm1-f70.google.com with SMTP id o3-20020a05600c510300b0039743540ac7so2157481wms.5 for ; Fri, 27 May 2022 02:43:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references:date :message-id:mime-version; bh=HnEecRBIr8nPWKfYxMZwg3X438HGhG+AGHPXxLNzHEE=; b=OljVnIF7Cs+l0ZSeI3+yoI98fRHRP0QkhimjS6yXA+REuGmAL2QI5544MXg6tIYGQB ihNTHE8JtsGIM9g9n3BHIqRJbhINjMI5/2O6KYohs56LLQHOlPVuKW3eEJMG5tgsbS0Z SUYbMPqxf7Gu5lNCW/oNkKq4ejBpHTO6CvMGCIROg7IKqthyAQm4E7lAQ7xRL6CGNYPB dYaKPvHtByqv4H5gZzRRsYpxEbgoT7P0Bsc/qZSDdG/S40iLVrRDKP2CiRa1lFpfWwAD GDhg7LvXWTKyJG1BzvQDtjl+PyIYD7gsY/ObdKIvspXyVzaP2gPN6eItkiQJTTvfeADP DZYw== X-Gm-Message-State: AOAM533UbJYUifPIqIJ5t6Zxa71It/0CGENM/Jy1Uz0/Q07IaeQtgpDR AFWj+oYlVYauofCf7zwLcr509Lzj/SS1wnBKh8CgfofPx+bR/vbJlJX2Kl7G1fz0QycvYNtt7EZ d43K7W5jfIFAqmHbLDsbpNA== X-Received: by 2002:a5d:4c42:0:b0:210:413:4ef6 with SMTP id n2-20020a5d4c42000000b0021004134ef6mr8308887wrt.10.1653644635133; Fri, 27 May 2022 02:43:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy6/nEVVNJy+wb3Xf/fpoUix49Tep2Ct0FIAl+swDhZ7oyPf9YQo+1a0xKSAyMtnyu6unBj+A== X-Received: by 2002:a5d:4c42:0:b0:210:413:4ef6 with SMTP id n2-20020a5d4c42000000b0021004134ef6mr8308873wrt.10.1653644634867; Fri, 27 May 2022 02:43:54 -0700 (PDT) Received: from localhost (host109-152-215-36.range109-152.btcentralplus.com. [109.152.215.36]) by smtp.gmail.com with ESMTPSA id n15-20020a5d588f000000b0020fe86d340fsm1315337wrf.55.2022.05.27.02.43.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 May 2022 02:43:54 -0700 (PDT) From: Andrew Burgess To: Ilya Leoshkevich , Tom Tromey Cc: Ulrich Weigand , Andreas Arnez , Pedro Alves , gdb-patches@sourceware.org, Ilya Leoshkevich Subject: Re: [PATCH 0/5] gdb.perf/: Add JIT performance test In-Reply-To: <20220525223711.845475-1-iii@linux.ibm.com> References: <20220525223711.845475-1-iii@linux.ibm.com> Date: Fri, 27 May 2022 10:43:52 +0100 Message-ID: <87o7zjgvjb.fsf@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 May 2022 09:44:00 -0000 Ilya Leoshkevich 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"; }' \ > 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