[MDEV-14129] Add AArch64 optimized crc32c implementation for Mariadb Created: 2017-10-26  Updated: 2019-05-28  Resolved: 2019-05-28

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Fix Version/s: 10.5.0

Type: Task Priority: Major
Reporter: Sandeep sethia Assignee: Sergey Vojtovich
Resolution: Fixed Votes: 0
Labels: None

Attachments: File MDEV-14129.ods    
Epic Link: arm64 optimization

 Description   

ARMv8 defines a set of optional CRC32/CRC32C instructions.

The CRC32 function for AArch64 that uses these instructions will optimized the performance rather than uses table-based lookup.

Already MYSQL has these patch submitted so it will be great if same can be ported to Mariadb.

https://bugs.mysql.com/file.php?id=25349&bug_id=85819



 Comments   
Comment by Axel Schwenke [ 2017-10-26 ]

While this in general a good idea, it will require thorough testing of performance. I did a benchmark with InnoDB page checksums disabled, but the performance didn't increase much. The best effect was for updating a non-indexed column (oltp_update_non_index.lua) and then it was about 2%. So the margin for optimization is small.

See attached spread sheet for detailed numbers.

Comment by Sergey Vojtovich [ 2019-05-28 ]

Was merged recently to 10.5: https://github.com/MariaDB/server/pull/772

Generated at Thu Feb 08 08:11:09 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.