From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0068.outbound.protection.outlook.com [104.47.1.68]) by dpdk.org (Postfix) with ESMTP id 0039D1BA1C for ; Thu, 26 Oct 2017 08:24:52 +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=D2F5tb+vqsM5vPmtiynzOPNkPXWi+pOPjZDgNLryXCE=; b=P/vRkCmv7PzE3NWwg3UyZE4D4QSPdzl3kZ32CcVn6nmuULLs7FKVXHbGzoSF9SEpUOC+eLq6IfwIleh0v2y8ygmgx/jrnI6fOlkNtRFPs353iTysaPWb66T/hDdWiC81YC5ekg0K2wsJLBBWuPsRWD96zofXRhL3zKTTRQ8Pqds= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jianbo.Liu@arm.com; Received: from arm.com (113.29.88.7) by HE1PR0801MB1354.eurprd08.prod.outlook.com (2603:10a6:3:3a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Thu, 26 Oct 2017 06:24:48 +0000 Date: Thu, 26 Oct 2017 14:23:39 +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: <20171026062338.GA14312@arm.com> References: <1508915626-21407-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: <1508915626-21407-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: HK2PR04CA0051.apcprd04.prod.outlook.com (2603:1096:202:14::19) To HE1PR0801MB1354.eurprd08.prod.outlook.com (2603:10a6:3:3a::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 87be315c-3d69-4d58-3963-08d51c3a42fc X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(4534020)(4602075)(4627075)(201703031133081)(201702281549075)(2017052603199); SRVR:HE1PR0801MB1354; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1354; 3:5nb8IvbUGO/+lOkzlZSBWNunbkkhG9Chkd+p/0sNZAr4P9Tm5jwoXCSd3ezFtVRMxrLEwSyM0s/lrCNvtTYQ6WZmZks7CEi0raWJ31VZvDC/Hquq4kCOKhVgrxPMkoccHA2RM7Ws19MIAsH7il+ZTwFfcXKpWpsyjcVhdV5iovXw49gqwT9mo6Ifk2he321hs102qBOejoaF2AMeeftX/33xK2jk2Wp590+7PeBwsZz9jqfHW7AJiVrEIEhVARYi; 25:XOBZxwEgrG9m+TdkU6PO8kVIl/khtjyW3hocEKFrANwaGv1JpEmmGR/Xxf070TLZ1up14sMswivsmVDnFVk5jF7SL7zZ3jkkrdJ/s6ICP7NRRP6JwjOUWYkgJrtODR2Q1hfScoBD+JVd8L33D0UHclrSZZQP6St0xlF6prxLtxNQK5IgF9yW3N9DcLboEY/uh6Rvqn2VIuRGGp/zJcrrBBxTOi1SLXYeE1oiA9BX6EU55acy9+AFy2Y+NsugNkiDq2pxDav+qyaF97SZkm0hTKhMcTJ4L12QRFLjt52ya7+2fEJC9TWjML8nmf72poCSQWjFMkqUvTzXYLQwzFjk0g==; 31:KQA5fjaCgPeSRp3YM4lxAGCz9QjhWYZs18XqSUtAYJ7mVgFloBO3pPVBtaJ6CrerwAACHqfrN3GSgoLEhIwMzTtux8nfg4K/sD4Q4wUp1nxRyvjhBoqxrdw8rold1j6Gnfrja2MS2xhzXoMG1UaNTBeGnq6RkUEBJxC4VMzJLtQ1ZocfEjPFfXscllMfC3A0p26ouzmVHUBahAqPhuyp2upBFx8NIUju+n9oYhxbARY= X-MS-TrafficTypeDiagnostic: HE1PR0801MB1354: Content-Transfer-Encoding: quoted-printable X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1354; 20:RfuOwfLmTbvOehwFkCEtXp046I9/exAGwzMxT+zW3HZ49UdiXPE0mEshDzHvgQnLLCxFR2jE+FkIcTftBaD10M6zJsfuwzgI1l/QWyXF83oD+U+bYarFwlzUYhDFywf0/rDg8neI58qo7iNbcG7Zf7OU6P1iLU/669gi2G5RYlu4P4VEHSdZMH0nj1OEtKJKviqIz60Xv7wthZ+6y6n9mRvLZEUkqtlS5ZxKN+giY82uge0Dwsb0gn5aWguSodlH2TQkREvA+mVCBS0liomOtloJ2XJxYGvk4v+pJ9PTrkaeT1IS5iJY7DimOw5UhR05lfwjAikPkEpuSyVl7v117+kDz43aCmyIstTnJv+jljaWWZ7imuN4uv2cp9/a3B3of/ncLDvX2FALfUQkolRmgwJklMWaQlq2KtOe8wLRR/SnZ8UZW5Cs0VDO0BMMX6F+RTdtMqienU86zu1zjBDGG9rlHGi6xyTq6pF4EOEmek6fUebLg1tYwMEPf5GswQLo; 4:NX4iTo+NsfSm2Giv7VneiTO05V/MyPIhXbpzYhJfHIU19Fyf2LWP+8sGEfejUuaVpif5ZhzZKhL9DjBn697h2ONUunFEjZx7e66NagNPm8irl1ZgFtcV9pBrh1WJL7fChNksfZJnlD2KWcxMOdcN2nj430trC6yqOhx5bkhvyLw5qf0SQXvbxjO5J4baHKF00dQ1/8JGCkqBr/I6hrR/CTQ+NFyHdNh9XNINesE6KxdovS/DIzASJRPTjGfecGP6R7xY4Z3iPxslisMejQuNuTaEQYevj0o4952u8cKCIBNf83kvoOd5hKN46hsmr7fp 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)(8121501046)(5005006)(3231020)(3002001)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(20161123562025)(20161123558100)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:HE1PR0801MB1354; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:HE1PR0801MB1354; X-Forefront-PRVS: 04724A515E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(39860400002)(24454002)(40434004)(189002)(199003)(83506002)(23676002)(36756003)(86362001)(50466002)(316002)(1076002)(4326008)(3846002)(6862004)(6116002)(6246003)(66066001)(37006003)(5890100001)(16526018)(58126008)(47776003)(21086003)(7736002)(68736007)(97736004)(189998001)(8936002)(8746002)(81166006)(8676002)(81156014)(305945005)(33656002)(5660300001)(478600001)(72206003)(25786009)(6666003)(229853002)(101416001)(53936002)(6636002)(105586002)(106356001)(2906002)(54356999)(50986999)(76176999)(55016002)(2950100002)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0801MB1354; H:arm.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA4MDFNQjEzNTQ7MjM6NkFwOWtYUThTNGxaa1JoM1BHRU4wR2Zi?= =?utf-8?B?R05NTTcvMnIyQ1NEY0I1YUhnUVF4QzZvdHFZSTJIUk03bk9FMVBZQStTb1Jr?= =?utf-8?B?ZUxLWk1UY0h2MC90Y0c5WHEzWVBPb3M5U0FOdzlOQktxSlpDeWdwWEZNUURS?= =?utf-8?B?T3ZoVjQxTkxPTXpvbEhXeEV3VC9Qb3l1MUdRMG5sSzhGNzA1SEpPT0VhMmE5?= =?utf-8?B?TnlYU0dnTWJCR2FMSkdQK2p3aFgwcmVHRWlQUVJQQ2gveXJud3lNdVBMVUs3?= =?utf-8?B?Q2Zwc3hEcDVTNFJUZ3RSWjFLU0hndkFRMkRESTI3Y29LUzJvR0xmSEIwQVNC?= =?utf-8?B?YWhrODdtTlZCejVLSE1NSExycnlRU2pIbXR6ekgwc3VtN2toVGl2MTJ0bFRE?= =?utf-8?B?UFpiRkxwMFNvTElmdDEzeWI0YVFoTG03SjZuRmlTRGxnYlp0MXZQelhJSjRS?= =?utf-8?B?anpWSnRYbU9CZkk1UUJpZjhBa1R5L2VQNmlPU2NoNW8xdUkxMTM0MmVxbjRU?= =?utf-8?B?QWx4d3V3N1ArSThoa0Npc1pQYTYyVi9JWVV3VERWRTk4VkJmdk9MQlJMcUVy?= =?utf-8?B?UUphWlVBRHZIZFVGRmZvdlRUUTVlMGlVUlY4OFJKVHdtVnBTL3dsYkVEcGl5?= =?utf-8?B?MlY0dExlWGZYMnQ4TlhkV0JnaUY1Vkd5RDJpbzFGYWczS1JEWWVEMFhydFVs?= =?utf-8?B?eHViYk56dDFsVG4vY1dhUW12TVFmTTUrMWZiSGwveFRGbXZkVE1uRXQ5Skx2?= =?utf-8?B?WGlBaHJMNDM4QzRyVU9TUDMrc0NTQmZ6dlBXYnI1YWpXdVJXSzI2WGdEWnlC?= =?utf-8?B?bFlSc0tURHFFWmhVY0psQ1ZBYlE3T3NrNHg3M2txblhHVC9NMi96ZWY1U003?= =?utf-8?B?V3dyOG5VZElwRWFsSkpUS2JHdGk1Qlg0OVlKaGZsQ09KV2wyLzI0UHJuUDFZ?= =?utf-8?B?QmNIcFhISTdhQ1Y1T1JwSDNlVmJjcms3azVoQThhT3IxakM4T2FMZnh4WFIz?= =?utf-8?B?c0VTdEh2OEJpOTgxZ0QvNkYxVWhMZVdjMmQwMmJobWlnbVVqanFKUDduaGFa?= =?utf-8?B?eHVHeFJ1dVBUUzMwN2ZnMEJ3NHc1aTZ6ZkZ3VndaRjlVTzBOcXR4SXI3M1Bz?= =?utf-8?B?Y0V6L3Bucmp5aWJ1Z0xkY2xXN05PWHM4NWMrSGRBMGhmckZqc3plQ1FONHRW?= =?utf-8?B?UkhyUGNKK3dmbEYrY09tWXcwc20rOEFZa3JzMm9mcTF6V2t2cE81K2ZPUmtp?= =?utf-8?B?dHB1Zi91alFvRHNVS25pZXlEY0VmbGFLeVJ1UElMRXJKQ29yY3JNZGVaSjNt?= =?utf-8?B?b0lTeEpWVDk5TDZOYk5DVDVneWVGSEoyaW1UWm02VnVrZEZwNFVJK0hNWFBH?= =?utf-8?B?WFhsSXZHZWdLaWVVcTU3Sm1OeTUrWEpJd0FWNkRyQ2ZJb0tadWVuMVVZdG9r?= =?utf-8?B?bVZZdEpHd3dFRmQwUjVTS3hMZWQ3VU5lZnlVL1UxZERXWE04VlBRcFR5TFNz?= =?utf-8?B?SkNGS3JHb0RGTWpMdlJUaCtrdDkrcmdlTlV2UUMvcTlScmNZcCs3cU9oYjl0?= =?utf-8?B?cXk4L21iVnVVdTZ1Rkp3c2VHbG83S1o4L05MK1dDWVpLczZwajZRRGxqS3VJ?= =?utf-8?B?cE55dW5jYzE1d3FwOTFyVDYyQUZvNk9JeTN4TnpjMndDWW5iM0hZOFJaSUlV?= =?utf-8?B?aHJnWFJmY1h2SUw0b3dyV3hORXJyVmh2OXh5ZEdHMU9DSDF4RnBYQ04zbDN2?= =?utf-8?Q?KQSdh35Wlngt0Nbmnc4teFjyaI3rdhVLPGUnTOI=3D?= X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1354; 6:kWlLMdFNI4f5HQ8P/VcBBxTXGxkZ+EEIaMlgt0RPvb+RvDJK6g1q62bsjuMZtZCdCRrt5PrMKIMvL9BFyjFhp5QD3uq6rVoug9KpdZ36rCEnXAFPrdH7JgETVLXPt9QAVCnuhx8l85K1h0mwBdRFgmvI0MyJjVcurdN7VL8C6NuwJguJI2F/CgenHwWrMIaxAf6PBd5RryeXuY2PQMN1s8kPyIiAz3dZerjfIfBRcbIaVD5f6vFP8n6s968F4dnnk7ONVlExAv7YaZU+bmHXBtmmk3M6hybg0YtRNbxZMNz+hKYw3puDXRxtIEL11Ifw6IYrzhsSs4zKK02YtVkYWBCgoG1KuhHL19OvOIFXRcw=; 5:CFjOKM+EjcsM6qC9Aiy+E02Xi3xH7pluVOcfi1icqO6mnQOp8uhqxILgGKLkE2r5aHuVh03MVftUG6iEEjwYIJtQj3/8MWCRWHafszw8kJl59tBoXzNYbbuT1ZPk89+HEPS7CE6t8P2TErkGNXRcS1bpv6YmOyN8M5MRZapMeUs=; 24:z7yHaluVBegaQ++n1TwPMMSU+4AaVe2RlTBB11/xKfZ3M4sUzew58NlVl2YRBfF/yCGNo3uhWEQ4GMP9PjIOr/frzbCMy/xyXh+zM5msM4g=; 7:c/Iq1EieN9dUj8hCXqJpIgX7+oP88DaW6G1Oqenx4hHMxf0AzT9TFg1cnYQ4lwI0dulJETbUTWgE+d3xlEWLV3lY+qnJSLwBaCznC7mc/Xo3iIkuUBcRrLJLgT0F5gn3aupWB80ZQq10aPo/vKlzT0+amZ/zuqVbtYzYNOSnC/1H9dOjuYPf53hBu7+lRUQsWhX13PZIzIiSHUV+8tt2rxF/UuVT+oRmPkWGJWh4Yv2BfektUpJd/AoMPt4EN47E SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2017 06:24:48.1549 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 87be315c-3d69-4d58-3963-08d51c3a42fc X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1354 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: Thu, 26 Oct 2017 06:24:53 -0000 The 10/25/2017 15:13, 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 aligned/unaligned memcpy test are > provided to allow comparation between platforms. > > Signed-off-by: Herbert Guan Acked-by: Jianbo Liu > --- > test/test/test_memcpy_perf.c | 50 +++++++++++++++++++++++++++++++++-----= ------ > 1 file changed, 38 insertions(+), 12 deletions(-) > > diff --git a/test/test/test_memcpy_perf.c b/test/test/test_memcpy_perf.c > index 91de856..b23026b 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,9 @@ > perf_test(void) > { > int ret; > + struct timeval tv_begin, tv_end; > + double time_aligned, time_unaligned; > + double time_aligned_const, time_unaligned_const; > > ret =3D init_buffers(); > if (ret !=3D 0) > @@ -340,26 +345,47 @@ > 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 (double)(tv_end.tv_sec - tv_begin.tv_sec) > + + ((double)tv_end.tv_usec - tv_begin.tv_usec)/1000000; > + printf("\n------- ----------------- ----------------- -------------= ---- -----------------"); > /* Do aligned tests where size is a compile-time constant */ > + gettimeofday(&tv_begin, NULL); > 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"); > + gettimeofday(&tv_end, NULL); > + time_aligned_const =3D (double)(tv_end.tv_sec - tv_begin.tv_sec) > + + ((double)tv_end.tv_usec - tv_begin.tv_usec)/1000000; > + 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 (double)(tv_end.tv_sec - tv_begin.tv_sec) > + + ((double)tv_end.tv_usec - tv_begin.tv_usec)/1000000; > + printf("\n------- ----------------- ----------------- -------------= ---- -----------------"); > /* Do unaligned tests where size is a compile-time constant */ > + gettimeofday(&tv_begin, NULL); > 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"); > - > + gettimeofday(&tv_end, NULL); > + time_unaligned_const =3D (double)(tv_end.tv_sec - tv_begin.tv_sec) > + + ((double)tv_end.tv_usec - tv_begin.tv_usec)/1000000; > + 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 (seconds):\n"); > + printf("Aligned variable copy size =3D %8.3f\n", time_aligned); > + printf("Aligned constant copy size =3D %8.3f\n", time_aligned_con= st); > + printf("Unaligned variable copy size =3D %8.3f\n", time_unaligned); > + printf("Unaligned constant copy size =3D %8.3f\n", time_unaligned_c= onst); > 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.