Open Brooooooklyn opened 4 years ago
This is interesting. By implementing CRC32C in rust alone can make such a performance difference?
Seems like not only the differences between the languages, but also the implementation inside.
Bumping this as sse4_crc32
is not working on darwin-arm64
at the moment 😅
> require('@node-rs/crc32')
{ crc32: [Function: crc32], crc32c: [Function: crc32c] }
> require('sse4_crc32')
dyld: lazy symbol binding failed: Symbol not found: __Z18sse42_is_availablev
Referenced from: /Users/dafne/Workspaces/Piktochart/piktostory/node_modules/sse4_crc32/build/Release/crc32c.node
Expected in: flat namespace
dyld: Symbol not found: __Z18sse42_is_availablev
Referenced from: /Users/dafne/Workspaces/Piktochart/piktostory/node_modules/sse4_crc32/build/Release/crc32c.node
Expected in: flat namespace
@kiyui this PR is staled.. Run yarn add @node-rs/crc32
to install latest version and it support darwin-arm64 natively
The @google-cloud/storage docs recommend installing fast-crc32c to speed up crc32c
computation. In turn, @google-cloud/storage
requires hash-stream-validation which in turn requires this library.
I would not be bumping this issue if not for this coupling.
Hi, just revisiting this issue. Since google node-storage depends on this module can we get the upstream changes of @chainsafe/fast-crc32c
and published?
Bumping this ask. We're using fast-crc32c in our monorepo, and until this is resolved the entire repo fails to run on M1 macs since the current sse4_crc32
dependency causes a node crash during package import.
Hey y'all, also wanted to jump in and mention this is a blocker in my organization. If we could merge https://github.com/ashi009/node-fast-crc32c/pull/28 that would be great!
Hello everybody! If you have landed here because you are trying to use @google-cloud/storage
on an Apple Silicon Mac, I have raised an issue on the GitHub repo for this library... linked above. Hopefully Google updates their library to remove this dependency!
https://github.com/Brooooooklyn/node-rs/tree/master/packages/crc32
Here is benchmark on my machine:
Benchmark: