[dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio

2015-05-05 Thread Ravi Kerur
gt; > Sent: Thursday, April 23, 2015 9:12 AM >> > > > To: Wodkowski, PawelX >> > > > Cc: dev at dpdk.org >> > > > Subject: Re: [dpdk-dev] [PATCH] Implement memcmp using AVX/SSE >> instructio >> > > > >> > > > On Thu

[dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio

2015-04-23 Thread Ravi Kerur
> > > > > > > > > > -Original Message- > > > > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Bruce > Richardson > > > > Sent: Thursday, April 23, 2015 9:12 AM > > > > To: Wodkowski, PawelX > > > > Cc: dev

[dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio

2015-04-23 Thread Bruce Richardson
org] On Behalf Of Bruce Richardson > > > Sent: Thursday, April 23, 2015 9:12 AM > > > To: Wodkowski, PawelX > > > Cc: dev at dpdk.org > > > Subject: Re: [dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio > > > > > > On Thu, Apr

[dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio

2015-04-23 Thread Luke Gorrie
On 23 April 2015 at 10:11, Bruce Richardson wrote: > Also, if I read your quoted performance numbers in your earlier mail > correctly, > we are only looking at a 1-4% performance increase. Is the additional code > to > maintain worth the benefit? > ... and if so, how would one decide whether it

[dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio

2015-04-23 Thread Pawel Wodkowski
On 2015-04-22 17:33, Ravi Kerur wrote: > +/** > + * Compare bytes between two locations. The locations must not overlap. > + * > + * @note This is implemented as a macro, so it's address should not be taken > + * and care is needed as parameter expressions may be evaluated multiple > times. > + *

[dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio

2015-04-23 Thread Ananyev, Konstantin
> -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Bruce Richardson > Sent: Thursday, April 23, 2015 9:12 AM > To: Wodkowski, PawelX > Cc: dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio > >

[dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio

2015-04-23 Thread Bruce Richardson
On Thu, Apr 23, 2015 at 09:24:52AM +0200, Pawel Wodkowski wrote: > On 2015-04-22 17:33, Ravi Kerur wrote: > >+/** > >+ * Compare bytes between two locations. The locations must not overlap. > >+ * > >+ * @note This is implemented as a macro, so it's address should not be taken > >+ * and care is ne

[dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio

2015-04-23 Thread Ravi Kerur
To: Wodkowski, PawelX > > Cc: dev at dpdk.org > > Subject: Re: [dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio > > > > On Thu, Apr 23, 2015 at 09:24:52AM +0200, Pawel Wodkowski wrote: > > > On 2015-04-22 17:33, Ravi Kerur wrote: > > > >+/**

[dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio

2015-04-23 Thread Ravi Kerur
On Thu, Apr 23, 2015 at 12:24 AM, Pawel Wodkowski < pawelx.wodkowski at intel.com> wrote: > On 2015-04-22 17:33, Ravi Kerur wrote: > >> +/** >> + * Compare bytes between two locations. The locations must not overlap. >> + * >> + * @note This is implemented as a macro, so it's address should not be

[dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio

2015-04-22 Thread Ravi Kerur
This patch replaces memcmp and strncmp in librte_hash with rte_memcmp which is implemented with AVX/SSE instructions. Preliminary results on Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz, Ubuntu 14.04 x86_64 shows 1 second improvement when hash key length <= 64 4 seconds improvement when hash key lengt