Я пытаюсь реализовать Hash Array Mapped Trie на Java. Раньше я думал, что эта структура данных должна быть более эффективной с точки зрения памяти, чем Hash Map, но когда я сделал первые измерения памяти с помощью Visual Vm, я обнаружил, что моя реализация требует больше памяти, чем Hash Map (также операция «положить» медленнее). Я не могу понять: HAMT действительно требует больше памяти, или я допустил ошибку в реализации. Результаты производительности такие же, как у в этом вопросе.
Есть ли преимущества в производительности «Hash Array Mapped Trie» по сравнению с «Hash Table» («Hash Map»)?