Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-9288

[PATCH] crc32 implement suboptimal on Power platform

    XMLWordPrintable

    Details

    • Sprint:
      10.1.10

      Description

      IBM Power doesn't have SSE and the generic implementation generates poorly performing CRC32 code.

      A good implementation from https://github.com/antonblanchard/crc32-vpmsum forms the basis for improvement.

      running MySQL-5.7 unittest/gunit/innodb/ut0crc32-t

      Before:

      1..2
      Using software crc32 implementation, CPU is little-endian
      ok 1
      Using software crc32 implementation, CPU is little-endian
      normal CRC32: real 0.148006 sec
      normal CRC32: user 0.148000 sec
      normal CRC32: sys 0.000000 sec
      big endian CRC32: real 0.144293 sec
      big endian CRC32: user 0.144000 sec
      big endian CRC32: sys 0.000000 sec
      ok 2

      After:

      1..2
      Using POWER8 crc32 implementation, CPU is little-endian
      ok 1
      Using POWER8 crc32 implementation, CPU is little-endian
      normal CRC32: real 0.008097 sec
      normal CRC32: user 0.008000 sec
      normal CRC32: sys 0.000000 sec
      big endian CRC32: real 0.147043 sec
      big endian CRC32: user 0.144000 sec
      big endian CRC32: sys 0.000000 sec

        Attachments

          Activity

            People

            Assignee:
            jplindst Jan Lindström
            Reporter:
            danblack Daniel Black
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: