New extension for hardware accelerated crc32c
| From: | Andrew Brampton | Date: | Sun, 10 Mar 2019 06:36:32 +0000 |
| Subject: | New extension for hardware accelerated crc32c | ||
| Groups: | php.pecl.dev | ||
| Request: | Send a blank email to pecl-dev+get-15805@lists.php.net to get a copy of this message | ||
Hi,
I recently contributed a crc32c implementation to PHP's hash function
<https://github.com/php/php-src/pull/3913>.
However, I wanted to get
hardware acceleration, and support older versions of PHP. So I wrote a new
extension that uses github.com/google/crc32c, which utilised hardware
acceleration on modern intel CPUs.
My quick benchmark shows:
CRC32_PHP 12.27 MB/s (pure php solution)
CRC32_Builtin 468.74 MB/s (my pull request above)
CRC32C_Google 24,684.46 MB/s (using new extension)
I'm in the process of open sourcing my code (I have to jump though some
hopes at my day job), but soon after I would like to publish the pure PHP
implementation to packagist, and the compilable extension to pecl.
Per the account request guidelines
<https://pecl.php.net/account-request.php>,
I'm reaching out to say hello.
A quick note about myself, I've been a avid contributor to open source for
a decade, but I haven't touched PHP recently. I have far too many project
on my github <https://github.com/bramp>. I also work at
Google as a Cloud
Storage (GCS) SRE, and while my interest in crc32c was to improve the GCS
API support, I'm doing this as 20% instead of my main duties.
thanks
Andrew