Чтобы улучшить обмен сообщениями в кластере, важно знать во время выполнения о том, насколько велико сообщение (желательно ли мне обрабатывать локальный или удаленный).
Я мог бы просто найти фреймворки об оценке размера памяти объекта на основе Java-инструментария. Я тестировал classmexer, который не приближался к размеру сериализации и sourceforge SizeOf.
В маленькой тестовой папке SizeOf был около 10% ошибочным и в 10 раз быстрее, чем сериализация. (Тем не менее переходный режим полностью прерывает оценку, и, например, ArrayList является временным, но сериализуется как массив, не так легко исправлять параметр SizeOf. Но я мог бы жить с этим)
С другой стороны, 10 раз быстрее с ошибкой 10%, кажется, не очень хорошо. Любые идеи, как я мог бы сделать лучше?
Обновление: я также тестировал ObjectSize (http://sourceforge.net/projects/objectsize-java). Результаты кажутся просто хорошими для не наследуемых объектов: (