- the operators
==
,!=
,<<
, toJson, fromJson for reflected structs are only declared in .h and defined in .cpp. Avoids duplicated instantiation of these templates - avoid BOOST_FOREACH in headers. Compiler is faster than type system and generates less symbols
- use fold expressions in ds::str to instantation of strRecursive symbols. Reduces number of symbols generated by logging macros considerably, although may lose opportunities to share code.
Compilation time of src/ds-model.ccp: 33s -> 19s
revision / compile time of dss.o / stripped binary size of dss
- 148bfc50 (master) - 0m23.156s / 28.2MiB
- 463a910b (defining json, <<, == in .ccp) - 0m21.172s / dss:30.1MiB
- 9ebea824 (remove isEmptyInstance) - 0m20.884s dss:30.1MiB
- fc7af293 (ds::str as fold expression) - 0m20.750s stripped dss:29.1MiB
- ac3ae784 (remove BOOST_FOREACH) - 0m19.918s stripped dss:29.1MiB