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

Reduce the size of the binary. #62

Merged
merged 2 commits into from Dec 9, 2015
Merged

Reduce the size of the binary. #62

merged 2 commits into from Dec 9, 2015

Conversation

michaelnmmeyer
Copy link
Contributor

A few changes aimed at shrinking the compiled library. Saves 226 kb / 716 kb.
A downside is that this breaks binary compatibility.

Use integers instead of pointers in Unicode tables. Saves 226 kb / 716 kb in the
compiled library.
@stevengj
Copy link
Member

stevengj commented Dec 9, 2015

Sounds reasonable. The current length of utf8proc_sequences seems to be 12461, so we are pretty far from 65535 (and we can always change the size if we have to in the future).

Because this breaks ABI compatibility, but preserves the documented API, you should change the major soversion at https://github.com/JuliaLang/utf8proc/blob/6b510deff274dc79b4e324abef5fbb45a8162861/Makefile#L22-L24 (i.e. major=2, minor=patch=0), and correspondingly in cmakelists and manifest as mentioned in that file. (Leave the API version unchanged for now; we'll bump the minor version in the next release.)

@michaelnmmeyer
Copy link
Contributor Author

Okay, version bumped.

@ScottPJones
Copy link
Contributor

This is very nice! When I worked on fixing some bugs in utf8proc months ago, I'd commented on the tables not being efficient, but didn't have time to do anything about it. 👍

stevengj added a commit that referenced this pull request Dec 9, 2015
Reduce the size of the binary.
@stevengj stevengj merged commit ec0daa5 into JuliaStrings:master Dec 9, 2015
stevengj added a commit that referenced this pull request Jul 13, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants