base64 encode/decode is really slow
Open
- Dominant language
- JavaScript
- Stars
- 9.3k
- Forks
- 802
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 5
Description
Background: we have a grpc-web-based app that performs bulk data upload, and it can sustain only about ~15MB/s regardless of the underlying network speed. The reason is that the base64 encoder used by grpc-web (goog.crypt.base64) is quite slow. I did a quick benchmark between `goog.crypt.base64.encodeByteArray` vs `Base64.fromUint8Array` (from `https://www.npmjs.com/package/js-base64`), and the former is about 50x slower than js-base64. E.g., encoding a random 16MB Uint8Array payload takes about ~1000ms with `goog.crypt.base64`, 19ms with `js-base64`.
Contributor guide
Assessment
This issue has not been assessed yet.