Наткнулся я на вот такой замечательный пакет для GO http://ift.tt/1vn31qT
Покрутив его мне стало интересно, а что будет если заменить map[string]Item на бинарное дерево, немного повозившись я это сделал и очень обрадовался результатами бенчмарка. Это и стало моей ошибкой.
Бенчмарк показывал среднее ускорение работы кэша почти в 2 раза, вот не сказка ли?
На радостях я тут же оформил пулл реквест (http://ift.tt/1myVDmV), получил ответ pmylund о том, что это выглядит интересно и он подумает.
А я тем временем использовал модифицированный пакет в своем проекте, но закрались в меня сомнения, а действительно ли это так, действительно ли есть прирост скорости в два раза?
И я решил провести небольшое исследование (читай: синтетический тест)
И вот что показали результаты:




Отсюда, можно судить, при больших объемах бинарное дерево проигрывает по производительности хэшмапу во всем, кроме итераций.
Сами тесты здесь, вместе с графиками
http://ift.tt/1q8PqEk
Покрутив его мне стало интересно, а что будет если заменить map[string]Item на бинарное дерево, немного повозившись я это сделал и очень обрадовался результатами бенчмарка. Это и стало моей ошибкой.
Бенчмарк показывал среднее ускорение работы кэша почти в 2 раза, вот не сказка ли?
На радостях я тут же оформил пулл реквест (http://ift.tt/1myVDmV), получил ответ pmylund о том, что это выглядит интересно и он подумает.
А я тем временем использовал модифицированный пакет в своем проекте, но закрались в меня сомнения, а действительно ли это так, действительно ли есть прирост скорости в два раза?
И я решил провести небольшое исследование (читай: синтетический тест)
И вот что показали результаты:
Удаление записей
Получение записей
Заполнение
Цикл по структурам
Отсюда, можно судить, при больших объемах бинарное дерево проигрывает по производительности хэшмапу во всем, кроме итераций.
Сами тесты здесь, вместе с графиками
http://ift.tt/1q8PqEk
P.S. прошу прощения за несколько сумбурное повествование
P.P.S бенчмарк у go-cache показал такие скорости из-за малых объемов данных
This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий