Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Base64 encode/decode performance #4

Open
samsharp99 opened this issue Nov 30, 2019 · 2 comments
Open

Improve Base64 encode/decode performance #4

samsharp99 opened this issue Nov 30, 2019 · 2 comments
Labels
enhancement New feature or request

Comments

@samsharp99
Copy link
Contributor

For large packet sizes (>1Mb), the Base64 encode/decode functions are not performant.

Investigate and see if improvements can be made to increase library performance.

@samsharp99 samsharp99 added the enhancement New feature or request label Nov 30, 2019
@francois-normandin
Copy link
Contributor

I'd love some feedback on this library, performance-wise.
https://github.com/LabVIEW-Open-Source/Serializer.Base64

I know it is 15% faster than the one found on NI forums for short strings (such as PEM certificates), but I have not tested it for large payloads. I assume a sort of in-place algorithm is what you're looking for... I'm interested in working on this.
Let me know.

@francois-normandin
Copy link
Contributor

ok, this one is really a gem: https://forums.ni.com/t5/Example-Code/Fast-Base64-Encoder-Decoder-using-LabVIEW
It is MIT license, so I'll include in the one I mentioned above.

By the way, this is the kind of improvement you're looking at for a 800kB payload:
image
(I toggled between my take on Base64 and this VI)

It does not check for validity of the string though, such as removing all whitespaces (space, tabs, CR, LF, etc.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants