From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50068.outbound.protection.outlook.com [40.107.5.68]) by dpdk.org (Postfix) with ESMTP id 272A31B722 for ; Tue, 24 Oct 2017 04:59:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=HoOvsjcEcq5KuBn6Hbm5eAPT14m2NNCP+sY+3M8xghk=; b=a+xgfElVQ4/KfSxMAZPlmZMGCyDQkUx2MV6xNy7tm0XDvWv6A6cYAAcqEK7GzJJ1auHBwIKtDsd6iMQXGj67b4ZB+/b6ZoONwBw8oSkhRUBUBIMa7kPbjClZrR3+GlLEMJuMsDVoAdBVJ2Mux6dSPp2pD4DH2RqxM1g/3Bh3Ma0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jianbo.Liu@arm.com; Received: from arm.com (113.29.88.7) by VI1PR0801MB1357.eurprd08.prod.outlook.com (2603:10a6:800:3b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.156.4; Tue, 24 Oct 2017 02:59:11 +0000 Date: Tue, 24 Oct 2017 10:58:02 +0800 From: Jianbo Liu To: Herbert Guan Cc: dev@dpdk.org, bruce.richardson@intel.com, konstantin.ananyev@intel.com, phil.yang@arm.com Message-ID: <20171024025800.GA5111@arm.com> References: <1508726101-13009-1-git-send-email-herbert.guan@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1508726101-13009-1-git-send-email-herbert.guan@arm.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Originating-IP: [113.29.88.7] X-ClientProxiedBy: PS1PR0601CA0102.apcprd06.prod.outlook.com (2603:1096:803:1::28) To VI1PR0801MB1357.eurprd08.prod.outlook.com (2603:10a6:800:3b::9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 225993c8-7a77-4fae-00cf-08d51a8b35c8 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199); SRVR:VI1PR0801MB1357; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1357; 3:nK0egU8qcQRnGyVeMolGih9yCh1gYa93L3hKzMXhs0MwpA1V+FBsUJd9AuHTw9azKmk3octxbZNJv7WoGQGruZI/gTdt6WKvdbcPolOPfM3RcBU5jmQfYQkgmMezJzI6A89ZOZrhz+eT7mMY1ZOlT4lXxCLzKG07rvF/C6qGqvryg8qKgUuINGqar8RMb1VzoxAck10eie1ZIVd3Sy+0mUz7BpdKGOgTj9fQDeO+jD90mLatibGyu4hyFqXY7+3c; 25:x5HvFS97wTeCMc2fozKPrkAw8Y1pTWpeRt1YpBAzwU7ywq2U9vwa7/eR9JL8VY5vm1a48trOPWOwbH4EQ5Kg8Fg999X/dLoeJEwZGZfElA+a0SPBdkpTPlx9hKo9csCCtbD2csWcJgMoQCgybrWm+RUj+XNlXO0OrdSUPfFRZvBEEuzkjJhri+Xt2Kw7X78AQ06JJ51Q8OnL7l5vIISpO34po2WjUvg+C96s8wfeB+AVF+CkntLXsbxML++gL1PvqCnoEXWhe4lqlXC8aJjRQ7c8gyeKy4jvLUHMbNA37jO02V2IYWvYVc+foGjNVIpxVD2EmVpvT4A/Sz5sIhl2Mw==; 31:GuV5/WaFICrOh+VsP7oGMn9gVI1Hg85JPo2NINPRrqwZMGEehimgSbvIURXEBx5R4ZyerW/OwcycWSIHeNBa9YNnw9EX3bf2s170QeeMTWuomkskzFOyArI1r1wBzInwMzmTZ5fIfQCEiH9MkKCHIUbIlNrbRrZ/h3kOCoktTMPWEgfrHAHcEV1EPsxA1CbTUizTPY3oZOBGAGenIQAkROlTX4+AchKUi507pdbfK8c= X-MS-TrafficTypeDiagnostic: VI1PR0801MB1357: Content-Transfer-Encoding: quoted-printable X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1357; 20:ZFY5ZPb1Z/AuIL1/3OoVkbxm3b2AVlg2uUvXfSibDbyhuIVa8u6AhpVaSLCtfIoAgpMYp1KXhGovqPChjoNyOm1xmpDMnsci1LShz6T/91NNDcf5Co7Uh20l2zsm6WY/mdzlmXjSD1s2IvtLOoSn9aLu1PxmTvZUEFeMDMqKRwh+FsptIt0OK550R3j7MuX8nmlQuEHbgGl11x6fRGzw4Mciv655JNgriELaWl4YknLJJgsYFc8YWW3DKDGRhK85ZGcVuVnhzcvzVetqgcG2qFW2QNVrOqZ3SNwOFmIbzXPV3Wu8R/Ybw3tIGMl6Q5Dl6/yQ2pBAyib09I/cgOzzqFRl+QSk5r6DM0CI/wewkAd97w1ZZwwXbgq8+IDjZ32WkZsVIKRxDQDniXaoWF9ZaugVynrKz/hUvCWd8K2lAvbTj1tt7FfvpG+XV5FFqcEWnXZ8tPYwh6QGYV+Ok4GvKcT2Z5LAgQLnEu+4ro6i6aiBsc3c3gNHc6ymXLOKiN2w; 4:hMj/2vNrUIosIfrAAipFgTvzrfYnKUOlU7SDbAfec3SRROxhovLZR2JiK1RN7JbkGU+hxTAlxT/f3MqP7iskw/23TexdXpuiaZoInAyJC8jlKW9fV/TYnCBYN6a3yieoFfdYl21PzV1KI3xZQKAbQ+I/g+8bKCieQrhSs35Z7S2Pb5QrjgF7TdCN2cL7VHb1qI1TdctcPy1cQS3fnJYKMx7AIcjUyCiNMYPUH4Eg4soAGIKKzgzVx/Y6QastISER7i0czfkWIkZ60nbjeoD3avfyXQV1KheElMMiILejmAg= X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(10201501046)(100000703101)(100105400095)(3231020)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(20161123564025)(20161123562025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:VI1PR0801MB1357; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:VI1PR0801MB1357; X-Forefront-PRVS: 047001DADA X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(39860400002)(199003)(24454002)(40434004)(189002)(25786009)(37006003)(6246003)(106356001)(58126008)(55016002)(33656002)(101416001)(105586002)(316002)(5890100001)(97736004)(76176999)(53936002)(68736007)(54356999)(21086003)(50986999)(2906002)(7736002)(189998001)(1076002)(50466002)(16526018)(229853002)(47776003)(86362001)(66066001)(305945005)(81166006)(8746002)(4326008)(36756003)(6116002)(3846002)(8936002)(81156014)(8676002)(83506002)(478600001)(2950100002)(72206003)(23676002)(5660300001)(6862004)(6666003)(6636002)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0801MB1357; H:arm.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjA4MDFNQjEzNTc7MjM6Q1E5MXhlN2l6ckNTb2thUVQvNjlxRFhM?= =?utf-8?B?UFoxRjlKT0FVVk0zUDduSGlWdmpjL2hmb2s3YXFVNFBhSVMrQTYzeG1Cbm80?= =?utf-8?B?SVR2Qnc4YUhJV1BMczViSkJUSjdCbkhadmJpL3N5NldOeDNBVjd2K0lHVUhh?= =?utf-8?B?bWQ5UGRpTGtqNy90VWtLb1oyVmNVeUJZZVBDKzhLT29QMGtaY1U5NHJFaThB?= =?utf-8?B?ZmpuNjRpTStOdEFPeENwTFJMMnZJY0tvM3drNXRMNE9jM3o0SlFWNjdTN0Vw?= =?utf-8?B?ZkhxeC9OdDhNU3VTbzB1MDFQL0pwVUdoOVgyN1JRbkZ5a0dWUUpuWUFQZzY1?= =?utf-8?B?aDROY1c4T0ZaWXJFWlA5WkxRcHJsUUM1aG1hWERiMnlhOFZUc2gwTEhKM3Vi?= =?utf-8?B?aDE2ZC83ZTNSTndzNkhLUU9HbFlQbkdZSEw4RjlvZThIRGk0UWxlQnF3eVdX?= =?utf-8?B?MzQ5MWdrb2VScUJFQ3pZek9tYytlV285aUtzcUxQV0h5Y1d3bkUzM2N3akhw?= =?utf-8?B?eVZVSmlIQ2dWL0JMaG41STBxTXpWK1hhWnA1NFM2eUdwcU4rVXVCNFRSN3hI?= =?utf-8?B?QlQvYU0zN29HUTdKelpZZWJQUUpkNzBCMkJpdGpMdUpCMkc1bEFTOFcrZ0M1?= =?utf-8?B?TWFLOUoxblFtMm9GcU9tSTFVeEpjTFhzdDRlNkdrMkZRaGNKeEVsQVR6ZHFk?= =?utf-8?B?TDRhTGlIUHpjdnREdGh6b0dUTzZCbFN3NnVhS1FWSXZ1SXNHUEd4MEdqZk1v?= =?utf-8?B?ZlhONWtrWmRuWllYdUpOK25qQlVPZEFQd0dTKytodXZuWGI4Mm1SalFTTTNU?= =?utf-8?B?cGtjbndRM0tDZnRrUjQvblMxNm9LUWpkeDdnQjRKcFZwZkozNnlxbUlnNVp5?= =?utf-8?B?aUNzZms4T0ludVoxT3RlL3FmVGorN3ppUlBIMnpma0MrYTR3VHBMYlZSS3J6?= =?utf-8?B?am5zVFdZWHU5OFFTN0h2MW9QUUJCc0NGVzAxR2FCNE9Temk2bmFURE1mMmxh?= =?utf-8?B?WEF4ZWZLekRXN1dxOFZpY291Vkhva3VITTVYakRPZEpVYytlalN0M1B4SUhQ?= =?utf-8?B?K1cxc0VNVWRsU1FQVkZDMyt3N2k3QmY0KzIvZXVrS0cwNGJ1NkhEUTZYaHZs?= =?utf-8?B?cWRDcmxPQXFyZVpBU3BaY2o4eUZyWWhIeDdtcWRwOTMxejV2Qk1KL2RDTFFW?= =?utf-8?B?cXJheG9oVTBqYXhWVTNxNXV1MzBnZnZ3MTJIaERNMEdoeDc2K0R0ZGpmS1Rw?= =?utf-8?B?aEQ5a0xBYVVQSVdwUCt2SEpKL1hQdTlESS9CaHhDOWZ1aHZtbXhTR3pEZWt6?= =?utf-8?B?RFZCVmtxNHNENVFidmhreHAreW04dFNFRGlHcDY0eHloRnBnQThrenFQRTkx?= =?utf-8?B?T3JoVml0U3FiV01Nb3Q1M1VPd2VKNWJkQ0J1dFFhNGdrREZGaDNJdTE2Y0NQ?= =?utf-8?B?MHNwa3I0dXA3bWFRd2M2L1h1TFY5SUViR3YydG15KzlCejZHSUpaREs0aUtw?= =?utf-8?B?ZU00YjJXc2kvd2pmOE5Bc1pGcWdpb2pSc2xQZU5rMnNvUVUrN3hBMXZoQ1BJ?= =?utf-8?B?RTAzR21qU2dyNmNKSlR1N1NrSHEyVnloM1BSYWUrN3E1ZFBHYW1hbUxCT1Rw?= =?utf-8?B?UDc3L1JLWXRDemdPSU0zaU1JblRXUjBkWlgwZ1RRaEluSzNFNGZxWWtFNHRQ?= =?utf-8?B?ekxsVDNYK1V1RGNMQXM3VitZV0NVK28zTzBnN1F1eGNpTGtjckt2aUVIL0w1?= =?utf-8?Q?NMX7pd+0IcUa36Kx0WUo2NGUV7gESvewm7CnYH4=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB1357; 6:jPsVAXQmBNMEv9AoAYwbjRvk+aqSo3mGDbl8hi8BtR5uC9ShCXYIJJiqtCUodS8pqz7tjLP3Ems3Kaz+UdHVJ8P19cWeSVKnB7Il338ekL9RygSrHhYyst00W0GaUqwr96XjNAmooDhlqTmzxRJTFKYk9xHLy23qCGKOq1xBMaNsnA/c5kmqKEJAllfcxoKwF49B531yokBsvWzaL+FoC5522IJeO7z78p2DRaxJW7+lJpyY0wcS3Dr9DgwqOrQ0QB1cOEDPtAiQmILGrI2/Gk/vMhoC/qTkqIBonqZ2cWQwuX0/wGTuZRaJS3LY0sZr/HUWVj8RRX1LNiBRHuaazQ==; 5:uAf0GvI3daJqx0jonr61zVbvW8j2WyCi62u+UtWpdXPo1ro+NiVdEIu/Gn0Dc1EWgbGz9ljK7TkXLwdR36eJ2yXoFDTdN11LJ9XxQh/TWPXq8TKYcn+YO1LpRzXVBN8VZqlhEM5cM58OcQ/UgOplNg==; 24:zmQNNEQ72fn+/EUoFkD9yvBc6/xqhojqxt9M0Ee3S3SLKv3TObf9FPhI80YMZyH3Vi+jHNi5J6izb9CtBoLI+2bKwKurvXJ8chyqe/CICls=; 7:lSdeL3bRtkQ+ZTGw6OgY27mYuNqQdGY00notvG2N5YZ/FBC6W65WpL75XbQ8ipr/vFsoybgHtu30VOcTlAiUWo+GwYpflENWtJNy3FbxK/ApzjISOnnii80gv0CH27NjnEs+O970LHjkVFAsJa3zOxgHDnY6QbbkLXxItofvOUj5VgE5URox9WKUnCFkaPOJ7mITd2vGB926saAR2xjUk8/KlXVD261e5ZJbbcY1jJk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2017 02:59:11.9430 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 225993c8-7a77-4fae-00cf-08d51a8b35c8 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1357 Subject: Re: [dpdk-dev] [PATCH] test: provide performance difference ratio and test time X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Oct 2017 02:59:17 -0000 Hi Herbert, The 10/23/2017 10:35, Herbert Guan wrote: > The printed time values presented in TSC is not straight forward > showing the performance difference. And if the high resolution > counter is not enabled, time value is too small to show the actual > performance (e.g. "1 - 1" seems the same but in fact the perfomance > diffs by 50% or more). > With the performance difference ratio caculated and printed, it'll be > easier for people to read and compare the performance between > rte_memcpy() and memcpy(). > Since the TSC values' units may diff a lot on different platforms, > the total execution time of alligned/unaligned memcpy test are > provided to allow comparation between platforms. > > Signed-off-by: Herbert Guan > --- > test/test/test_memcpy_perf.c | 34 +++++++++++++++++++++++----------- > 1 file changed, 23 insertions(+), 11 deletions(-) > > diff --git a/test/test/test_memcpy_perf.c b/test/test/test_memcpy_perf.c > index 91de856..30c29e1 100644 > --- a/test/test/test_memcpy_perf.c > +++ b/test/test/test_memcpy_perf.c > @@ -35,6 +35,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -241,8 +242,9 @@ > memcpy(dst+dst_addrs[t], src+src_addrs[t], size); = \ > total_time2 +=3D rte_rdtsc() - start_time; = \ > } = \ > - printf("%8.0f -", (double)total_time /TEST_ITERATIONS); = \ > - printf("%5.0f", (double)total_time2 / TEST_ITERATIONS); = \ > + printf("%3.0f -", (double)total_time /TEST_ITERATIONS); = \ > + printf("%3.0f", (double)total_time2 / TEST_ITERATIONS); = \ > + printf("(%6.2f%%) ", ((double)total_time - total_time2)*100/total_ti= me2); \ > } while (0) > > /* Run aligned memcpy tests for each cached/uncached permutation */ > @@ -324,6 +326,8 @@ > perf_test(void) > { > int ret; > + struct timeval tv_begin, tv_end; > + time_t time_aligned, time_unaligned; > > ret =3D init_buffers(); > if (ret !=3D 0) > @@ -340,26 +344,34 @@ > do_uncached_write(large_buf_write, 0, small_buf_read, 1, SMALL_BUFF= ER_SIZE); > > printf("\n** rte_memcpy() - memcpy perf. tests (C =3D compile-time = constant) **\n" > - "=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n" > - " Size Cache to cache Cache to mem Mem to cache = Mem to mem\n" > - "(bytes) (ticks) (ticks) (ticks) = (ticks)\n" > - "------- -------------- -------------- -------------- --= ------------"); > + "=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D\n" > + " Size Cache to cache Cache to mem Mem to c= ache Mem to mem\n" > + "(bytes) (ticks) (ticks) (ti= cks) (ticks)\n" > + "------- ----------------- ----------------- -----------= ------ -----------------"); > > - printf("\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D %2dB aligned =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D", > + printf("\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D %2dB aligned =3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D", > alignment_unit); > /* Do aligned tests where size is a variable */ > + gettimeofday(&tv_begin, NULL); > perf_test_variable_aligned(); > - printf("\n------- -------------- -------------- -------------- ----= ----------"); > + gettimeofday(&tv_end, NULL); > + time_aligned =3D tv_end.tv_sec - tv_begin.tv_sec; > + printf("\n------- ----------------- ----------------- -------------= ---- -----------------"); > /* Do aligned tests where size is a compile-time constant */ > perf_test_constant_aligned(); > - printf("\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D Unaligned =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D"); > + printf("\n=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Unaligned =3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D"); > /* Do unaligned tests where size is a variable */ > + gettimeofday(&tv_begin, NULL); > perf_test_variable_unaligned(); > - printf("\n------- -------------- -------------- -------------- ----= ----------"); > + gettimeofday(&tv_end, NULL); > + time_unaligned =3D tv_end.tv_sec - tv_begin.tv_sec; > + printf("\n------- ----------------- ----------------- -------------= ---- -----------------"); > /* Do unaligned tests where size is a compile-time constant */ > perf_test_constant_unaligned(); > - printf("\n=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D\n\n"); > + printf("\n=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D\n\n"); > > + printf("Test Execution Time (Aligned) =3D %ld seconds\n", time_al= igned); > + printf("Test Execution Time (Unaligned) =3D %ld seconds\n", time_un= aligned); Is there any reason why you didn't include the time cost in constant aligne= d/unaligned cases? Thanks! Jianbo > free_buffers(); > > return 0; > -- > 1.8.3.1 > -- IMPORTANT NOTICE: The contents of this email and any attachments are confid= ential and may also be privileged. If you are not the intended recipient, p= lease notify the sender immediately and do not disclose the contents to any= other person, use it for any purpose, or store or copy the information in = any medium. Thank you.