[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161222004635.GV8388@tassilo.jf.intel.com>
Date: Wed, 21 Dec 2016 16:46:35 -0800
From: Andi Kleen <ak@...ux.intel.com>
To: "Jason A. Donenfeld" <Jason@...c4.com>
Cc: Netdev <netdev@...r.kernel.org>,
kernel-hardening@...ts.openwall.com,
LKML <linux-kernel@...r.kernel.org>,
linux-crypto@...r.kernel.org,
David Laight <David.Laight@...lab.com>,
Ted Tso <tytso@....edu>,
Hannes Frederic Sowa <hannes@...essinduktion.org>,
edumazet@...gle.com,
Linus Torvalds <torvalds@...ux-foundation.org>,
Eric Biggers <ebiggers3@...il.com>,
Tom Herbert <tom@...bertland.com>, davem@...emloft.net,
luto@...capital.net,
Jean-Philippe Aumasson <jeanphilippe.aumasson@...il.com>
Subject: Re: [PATCH v7 6/6] siphash: implement HalfSipHash1-3 for hash tables
> 64-bit x86_64:
> [ 0.509409] test_siphash: SipHash2-4 cycles: 4049181
> [ 0.510650] test_siphash: SipHash1-3 cycles: 2512884
> [ 0.512205] test_siphash: HalfSipHash1-3 cycles: 3429920
> [ 0.512904] test_siphash: JenkinsHash cycles: 978267
I'm not sure what these numbers mean. Surely a single siphash2-4
does not take 4+ million cycles?
If you run them in a loop please divide by the iterations.
But generally running small code in a loop is often an unrealistic
benchmark strategy because it hides cache misses, primes
predictors, changes frequencies and changes memory costs,
but also can overload pipelines and oversubscribe
resources.
[see also page 46+ in http://halobates.de/applicative-mental-models.pdf]
So the numbers you get there are at least somewhat
dubious. It would be good to have at least some test which
is not just a tiny micro benchmark to compare before making
conclusions.
-Andi
Powered by blists - more mailing lists