--===============5587472905563124861== Content-Type: multipart/alternative; boundary="00000000000042c78505ba470086" --00000000000042c78505ba470086 Content-Type: text/plain; charset="UTF-8" On Sunday, January 31, 2021, Matthew Miller wrote: > On my Intel i7 laptop, xxhash is a small but clear performance win over > crc32c: > > $ ./hash-speedtest 10000000 > Block size: 4096 > Iterations: 10000000 > Implementation: builtin > > NULL-NOP: cycles: 1372543560, c/i 137 > NULL-MEMCPY: cycles: 2844174884, c/i 284 > CRC32C: cycles: 9673117404, c/i 967 > XXHASH: cycles: 7129819594, c/i 712 > SHA256: cycles: 649914613520, c/i 64991 > BLAKE2b: cycles: 153513008046, c/i 15351 > > > And I'm given to understand that this is even more the case on newer CPUs. > > Plus, it's 64 bit instead of 32 bit. The 256-bit algorithms are obviously > much, much slower and probably not right for a default, but should we > consider making xxhash the default for Fedora Linux systems with btrfs? > > Comparing the hash algorithms in isolation doesn't mean much - does it make a difference if you try various file system workloads with the different algorithms? > -- > Matthew Miller > > Fedora Project Leader > _______________________________________________ > devel mailing list -- devel@lists.fedoraproject.org > To unsubscribe send an email to devel-leave@lists.fedoraproject.org > Fedora Code of Conduct: https://docs.fedoraproject. > org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: https://lists.fedoraproject.org/archives/list/devel@lists. > fedoraproject.org > --00000000000042c78505ba470086 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Sunday, January 31, 2021, Matthew Miller <mattdm@fedoraproject.org> wrote:
On my Intel i7 laptop, xxhash is a small but clear = performance win over
crc32c:

=C2=A0 =C2=A0 $ ./hash-speedtest=C2=A0 10000000
=C2=A0 =C2=A0 Block size:=C2=A0 =C2=A0 =C2=A04096
=C2=A0 =C2=A0 Iterations:=C2=A0 =C2=A0 =C2=A010000000
=C2=A0 =C2=A0 Implementation: builtin

=C2=A0 =C2=A0 =C2=A0 =C2=A0 NULL-NOP: cycles:=C2=A0 =C2=A01372543560, c/i= =C2=A0 =C2=A0 =C2=A0 137
=C2=A0 =C2=A0 =C2=A0NULL-MEMCPY: cycles:=C2=A0 =C2=A02844174884, c/i=C2=A0 = =C2=A0 =C2=A0 284
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CRC32C: cycles:=C2=A0 =C2=A09673117404, = c/i=C2=A0 =C2=A0 =C2=A0 967
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 XXHASH: cycles:=C2=A0 =C2=A07129819594, = c/i=C2=A0 =C2=A0 =C2=A0 712
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 SHA256: cycles: 649914613520, c/i=C2=A0 = =C2=A0 64991
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0BLAKE2b: cycles: 153513008046, c/i=C2=A0 = =C2=A0 15351


And I'm given to understand that this is even more the case on newer CP= Us.

Plus, it's 64 bit instead of 32 bit. The 256-bit algorithms are obvious= ly
much, much slower and probably not right for a default, but should we
consider making xxhash the default for Fedora Linux systems with btrfs?


Comparing the hash algorithms in isola= tion doesn't mean much - does it make a difference if you try various f= ile system workloads with the different algorithms?

=C2=A0
--
Matthew Miller
<mattdm@fedoraproject.org>
Fedora Project Leader
_______________________________________________
devel mailing list --
deve= l@lists.fedoraproject.org
To unsubscribe send an email to devel-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.or= g/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list= _guidelines
List Archives: https://lists.fedoraproject.<= wbr>org/archives/list/devel@lists.fedoraproject.org
--00000000000042c78505ba470086-- --===============5587472905563124861== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZGV2ZWwgbWFp bGluZyBsaXN0IC0tIGRldmVsQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnClRvIHVuc3Vic2NyaWJl IHNlbmQgYW4gZW1haWwgdG8gZGV2ZWwtbGVhdmVAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmcKRmVk b3JhIENvZGUgb2YgQ29uZHVjdDogaHR0cHM6Ly9kb2NzLmZlZG9yYXByb2plY3Qub3JnL2VuLVVT L3Byb2plY3QvY29kZS1vZi1jb25kdWN0LwpMaXN0IEd1aWRlbGluZXM6IGh0dHBzOi8vZmVkb3Jh cHJvamVjdC5vcmcvd2lraS9NYWlsaW5nX2xpc3RfZ3VpZGVsaW5lcwpMaXN0IEFyY2hpdmVzOiBo dHRwczovL2xpc3RzLmZlZG9yYXByb2plY3Qub3JnL2FyY2hpdmVzL2xpc3QvZGV2ZWxAbGlzdHMu ZmVkb3JhcHJvamVjdC5vcmcK --===============5587472905563124861==--