[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: |
|
| 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 |