UUIDs are a relatively separated part of the configuration, hence the internal representation can be changed quite easily. Nevertheless, they make up a considerable fraction of all strings found in the configuration data. Hence changing their in-memory representation can be used to improve to the memory foot print of our daemons. On my test cluster, the improvement was about 20%.
Klaus Aehlig (2): Prefer the UuidObject type class over specific functions Encode UUIDs as ByteStrings src/Ganeti/Confd/ClientFunctions.hs | 2 +- src/Ganeti/Confd/Server.hs | 6 +++--- src/Ganeti/Config.hs | 8 ++++---- src/Ganeti/DataCollectors/InstStatus.hs | 3 ++- src/Ganeti/JQScheduler.hs | 2 +- src/Ganeti/JQScheduler/Filtering.hs | 7 +++++-- src/Ganeti/Objects.hs | 11 ++++++----- src/Ganeti/Objects/Disk.hs | 3 ++- src/Ganeti/Objects/Instance.hs | 3 ++- src/Ganeti/Objects/Lens.hs | 18 +++++++++++++----- src/Ganeti/Objects/Nic.hs | 5 ++++- src/Ganeti/Query/Group.hs | 8 ++++---- src/Ganeti/Query/Instance.hs | 14 +++++++------- src/Ganeti/Query/Network.hs | 10 +++++----- src/Ganeti/Query/Node.hs | 10 +++++----- src/Ganeti/Query/Query.hs | 2 +- src/Ganeti/Query/Server.hs | 3 ++- src/Ganeti/Rpc.hs | 2 +- src/Ganeti/Storage/Utils.hs | 2 +- src/Ganeti/THH/Field.hs | 3 ++- src/Ganeti/WConfd/Ssconf.hs | 4 ++-- test/hs/Test/Ganeti/JQScheduler.hs | 5 +++-- test/hs/Test/Ganeti/Objects.hs | 19 +++++++++++++------ test/hs/Test/Ganeti/Query/Instance.hs | 3 ++- 24 files changed, 91 insertions(+), 62 deletions(-) -- 2.6.0.rc2.230.g3dd15c0
