Вчера, когда работал над интеграцией AngelScript для платформы HTML5, заметил, что скрипты довольно часто пользуются моей системой мета объектов. В частности, поиском мета объекта по его сигнатуре.
У меня получение сигнатуры происходит через ее сборку с использованием имени метода и типов входящий параметров. По сути возвращается строка, которая собирается из кусочков каждый раз.
И тут меня осенило! А что если хранить собранную сигнатуру прямо в поле мета объекта. И не просто строку, а ее хэш значение. Это существенно ускорило бы поиск нужного метода просто через сравнение двух целых значений, без необходимости собирать что то из кусочков каждый раз.
Сегодня я сделал этот маленький фикс. Вот такая маленькая история одного ченжа. Хэши это наше все!