Open
Conversation
…on and off. - added OCIO_ARCHIVE_SUPPORT preprocessor switch - And the library now compiles with or without LUT and/or OCIOZ support, shaving off 40% of dll size.
… and baking the values in the OpenColorABI.h, where it makes more sense.
…conversion LUT just through the preprocessor macros without re-compiling the imath library. So exposed OCIO_USE_HALF_LOOKUP_TABLE cmake option to turn it on/off
…which is pretty large - more cleanup
…med by what. - Looks like in some files (such as ocioyaml.cpp) the string manipulation for exception messages takes ~30% of the binary. - Also heavy usage of smart pointers and other dereferencing is contributing to a degree (std::shared_pt, yaml iterators). It'd be a good idea to extract raw pointers and use them if they will be used many many times within a function) - With changing some of the functions, it's possible to help compiler to do return value optimizations. - Also some back and forth string conversions (between std::string, char*, std::stringstream etc) in many places, we can implement overloads of functions taking different variants, limiting the conversion code to a single instance. - some more ideas
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adding options to turn off various features to reduce OCIO size
When all are turned off, the dll size goes down from 4468 KB to 2381 KB