Недавно я столкнулся с ситуацией в Perl, когда использование хэша, сохраняющего порядок, сделало бы мой код более читабельным и простым в использовании. После небольшого поиска я узнал о модуле CPAN Tie :: IxHash, который делает именно то, что я хочу. Прежде чем я проявлю осторожность и просто начну использовать его, я хотел бы получить лучшее представление о том, как он работает и какую производительность я могу ожидать от него.
Из того, что я знаю, упорядоченные ассоциативные массивы обычно реализуются как попытки, которые я никогда раньше не использовал, но знаю, что их производительность соответствует моим ожиданиям (я ожидаю много читать и писать, и нужно будет всегда помнить, что ключи заказа были изначально вставлены). Моя проблема в том, что я не могу понять, так ли был создан Tie :: IxHash, или какую производительность я должен ожидать от него, или есть ли для меня какой-то лучший / более чистый вариант (на самом деле я бы предпочел не сохранять отдельный массив и хеш для выполнения того, что мне нужно, так как это приводит к уродливому коду и неэффективности пространства). Мне также просто любопытно ради любопытства. Если это не было реализовано как три, как это было реализовано? Я знаю, что могу разобраться с исходным кодом, но я надеюсь, что кто-то другой уже сделал это, и я предполагаю, что я не единственный человек, который будет заинтересован в ответе.
Итак ... Идеи? Предложения? Совет?