From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25299 invoked by alias); 1 Nov 2013 19:43:46 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 25285 invoked by uid 89); 1 Nov 2013 19:43:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-ve0-f170.google.com Received: from mail-ve0-f170.google.com (HELO mail-ve0-f170.google.com) (209.85.128.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 01 Nov 2013 19:43:44 +0000 Received: by mail-ve0-f170.google.com with SMTP id oy12so3462269veb.29 for ; Fri, 01 Nov 2013 12:43:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=X9otjnf4ObT+QoNIYoC2WtmF1w/PUEcJXBSqDB5gtb8=; b=Md7zpREL5c3m4gAhknjsj0UOB77ILhjLq4IdXzIAU4Kp7Mz/JY+pxAnOhJ+7RLqFsF uSXvh4V4fdgXdX2E2zsW5uNZ+Auwdg0SswKh0By3fG0rimhaAmLj5RTeiMUcEfWb2zcH Cef5MoS5ZwQ4P9byuKCHP1W3EqQqA/t0AJKuME/lKtL2me08Jv3kxpkc73dld1oXbclk O0+iLVtCG3k8c4FYtv7CUD+5Wr6G6XTQ/Zk28ygr2uaLzZ38EezaKGEAAmKxqMy/JxTL aER/eI8Ak0MY2y9c59e9GS8AElpP/Q4ZdK1qQBke/KcH8dWOiqaA2r1lEhF/FNYRCp+n ZMnA== X-Gm-Message-State: ALoCoQln1s6sAhf9LOCPuaMHd2m3u8KkxAnqjY5COBJcXE2WM5fnXRp7ictQD60juP44XXQ3yc0dFhzcef63CrAJVyJYHudm8qxdCd49E2p2VQ2QA+7bWjg1V80tgx8gztQD/9vpWNiMmJ53tQkhThH10s+8n11Y1xmvzGV/X5iIb8C4K/b21V3TqomvqfSFw8dn7lxm0OxicEL2v0hS/n9yuOFSD0sxFQ== MIME-Version: 1.0 X-Received: by 10.52.94.9 with SMTP id cy9mr11697vdb.70.1383335021845; Fri, 01 Nov 2013 12:43:41 -0700 (PDT) Received: by 10.52.237.232 with HTTP; Fri, 1 Nov 2013 12:43:41 -0700 (PDT) In-Reply-To: <1383291300-13917-3-git-send-email-yao@codesourcery.com> References: <1383291300-13917-1-git-send-email-yao@codesourcery.com> <1383291300-13917-3-git-send-email-yao@codesourcery.com> Date: Fri, 01 Nov 2013 19:43:00 -0000 Message-ID: Subject: Re: [PATCH 2/4] Perf test framework From: Doug Evans To: Yao Qi Cc: gdb-patches Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes X-SW-Source: 2013-11/txt/msg00018.txt.bz2 On Fri, Nov 1, 2013 at 12:34 AM, Yao Qi wrote: > This patch adds a basic framework to do performance testing for GDB. > perftest.py is about the test case, testresult.py is about test > results, and how are they saved. reporter.py is about how results > are reported (in what format). measure.py is about measuring the > execution of tests by a collection of measurements. > > In V4: > > - Rename MeasurementCPUTime to MeasurementCpuTime, > - Add 'pass' in empty method, > - Simplify string comparison in perftest.exp. > - Rename GDB_PERFORMANCE to GDB_PERFTEST_MODE and rename > GDB_PERFORMANCE_TIMEOUT to GDB_PERFTEST_TIMEOUT. > > In V3, there are some changes, > > - Add wall time measurement, cpu time measurement and vmsize > measurement. > - Rename SingleStatisticTestCase to TestCaseWithBasicMeasurements, > which measures cpu time, wall time, and memory (vmsize). > - GDB_PERFORMANCE=run|compile|both to control the mode of perf > testing. > - New GDB_PERFORMANCE_TIMEOUT to specify the timeout. > - Split proc prepare to proc compile and startup. > - Disable GC while doing measurements. > > In V2, there are several changes to address Doug and Sanimir's > comments. > > - Add copyright header and docstring in perftest/__init__.py > - Remove config.py. > - Fix docstring format. > - Rename classes "SingleVariable" to "SingleStatistic". > - Don't extend gdb.Function in class TestCase. Add a new method run > to run the test case so that we can pass parameters to test. > - Allow to customize whether to warm up and to append test log. > - Move time measurement into test harness. Add a new class > Measurement for a specific measurement and a new class Measure to > measure them for a given test case. > - A new class ResultFactory to create instances of TestResult. > - New file lib/perftest.exp, which is to do some preparations and > cleanups to simplify each *.exp file. > - Skip compilation step if GDB_PERFORMANCE_SKIP_COMPILE is set. > > gdb/testsuite/ > > * lib/perftest.exp: New. > * gdb.perf/lib/perftest/__init__.py: New. > * gdb.perf/lib/perftest/measure.py: New. > * gdb.perf/lib/perftest/perftest.py: New. > * gdb.perf/lib/perftest/reporter.py: New. > * gdb.perf/lib/perftest/testresult.py: New. Ok by me. [Might want to give it a day or two to see if anyone else has any final comments.] Thanks for the perseverance!