История изменений
Исправление a--, (текущая версия) :
Я тут еще немножко подумал о timer-list. Он крайне поучителен во многих моментах. Сначала отмазки:
1. Если timer-list удастся написать на сейф расте, то это не означает, что раст хороший. В продакшене надо писать напрямую, а не лавировать между ограничениями.
2. Да, самый прямой способ организовать timer-list — это двухсвязный список. Но мне интересно сделать его на деревьях и кажется получится быстрее.
Теперь по сути:
У тебя сохранился твой старый вариант на std::map и тесты скорости? Мне кажется минимальное портирование (т.е. замена итераторов на поиск в btree::map) ускорит твои таймеры.
Правда в таком варианте нет гранулярности. Гранулярность тоже можно сделать, но это надо уже немного другое btree.
Исправление a--, :
Я тут еще немножко подумал о timer-list. Он крайне поучителен во многих моментах. Сначала отмазки:
1. Если timer-list удастся написать на сейф расте, то это не означает, что раст хороший. В продакшене надо писать напрямую, а не лавировать между ограничениями.
2. Да, самый прямой способ организовать timer-list — это двухсвязный список. Но мне интересно сделать его на деревьях и кажется получится быстрее.
Теперь по сути:
У тебя сохранился твой старый вариант std::map и тесты скорости? Мне кажется минимальное портирование (т.е. замена итераторов на поиск в btree::map) ускорит твои таймеры.
Правда в таком варианте нет гранулярности. Гранулярность тоже можно сделать, но это надо уже немного другое btree.
Исходная версия a--, :
Я тут еще немножко подумал о timer-list. Он крайне поучителен во многих моментах. Сначала отмазки:
1. Если timer-list удастся написать на сейф расте, то это не означает, что раст хороший. В продакшене надо писать напрямую, а не лавировать между ограничениями.
2. Да, самый прямой способ организовать timer-list — это двухсвязный список. Но мне интересно сделать его на деревьях и кажется получится быстрее.
У тебя сохранился твой старый вариант std::map и тесты скорости? Мне кажется минимальное портирование (т.е. замена итераторов на поиск в btree::map) ускорит твои таймеры.
Правда в таком варианте нет гранулярности. Гранулярность тоже можно сделать, но это надо уже немного другое btree.