Здравствуйте, Sinclair, Вы писали:
V>>Разве что рекурсию при вызове Node.get_Item[index] можно заменить на цикл.
S>Ну, решение имеет право на жизнь. Лёгким движением руки можно склонировать https://githib.com/evilguest/atropos и сделать в него коммит. По коммиту все бенчмарки запускаются автоматически; примерно минут через 20-30 после коммита можно смотреть на графики.
Да я когда-то играл с иммутабельными коллекциями в дотнете с подачи Wolfhound — они всё-равно работали медленнее copy-on-write.
В моих сценариях разделяемые м/у потоками данные читаются во много раз чаще их обновления, т.е. скорость доступа к элементу по чтению была определяющей, а эта скорость для банального массива несравнима с логарифмическим доступом к элементу в деревьях.
И проблема не только в логарифмичности — даже если элемент найден в первом же узле дерева, то даже такой случай слишком проигрывает обычному массиву.