[Differential] [Updated] D322: Refactor DeclarationId / Structure-pack most used types
kfunk (Kevin Funk)
noreply at phabricator.kde.org
Tue Sep 8 19:36:32 UTC 2015
kfunk marked 4 inline comments as done.
kfunk added a comment.
Now pushed:
commit https://phabricator.kde.org/rKDEVPLATFORMe12636865ebc9c4f60d893bdeecb30a687ce10aa
Author: Kevin Funk <kfunk at kde.org>
Date: Thu Sep 3 00:03:57 2015 +0200
language: Structure-pack most used types
Make use of C++11 typed-enums and C++11 unions
sizeof-statistics (64 bit system):
- DUChainBaseData: 24B -> 20B
- AbstractTypeData: 32B -> 12B
- DelayedTypeData: 40B -> 24B
- DeclarationData: 76B -> 60B
- DUContextData: 64B -> 56B
- TopDUContextData: 96B -> 80B (not instantiated *that* often)
Differential Revision: https://phabricator.kde.org/D322
commit https://phabricator.kde.org/rKDEVPLATFORM730cb3923e22557b80a461d86a212ee41a5eeb91
Author: Kevin Funk <kfunk at kde.org>
Date: Thu Sep 3 00:02:56 2015 +0200
Refactor DeclarationId
Make use C++11 union (saves around 8 bytes per instance)
Differential Revision: https://phabricator.kde.org/D322
INLINE COMMENTS
language/duchain/types/abstracttype.h:133 Sure, I checked. LanguageSpecificModifier is never used outside of kdevplatform afaics.
Each module calling AbstractType::setModifiers just reuses the common modifiers apparently. No need to extend to 64 bit at all, IMO (still plenty of space left now)
language/duchain/types/typesystemdata.h:78 See above; I didn't see a place where any custom modifiers were used. Checked with ack / LXR. No uses of LanguageSpecificModifier (which would be required) at all.
REPOSITORY
rKDEVPLATFORM KDevPlatform
REVISION DETAIL
https://phabricator.kde.org/D322
EMAIL PREFERENCES
https://phabricator.kde.org/settings/panel/emailpreferences/
To: kfunk
Cc: mwolff, kdevelop-devel, arrowdodger, obogdan, kfunk
More information about the KDevelop-devel
mailing list