Dex & Vacuum
Я тут читал про один новый алгоритм, который ускоряет BFS на огромных разреженных графах с помощью битовых массивов и оптимизированных циклов. Говорят, он может сократить время работы примерно на 40%. Ты такое видел когда-нибудь?
Привет, да, я видел несколько работ, где делают что-то похожее – сжимают списки смежности в битовые массивы и перебирают их блоками, чтобы кэш работал эффективнее, это сильно снижает количество промахов при ветвлении. Я бы поспорил, что 40 процентов – вполне реальная цифра, если граф достаточно разреженный и память хорошо локализована. Но взамен, это сильно увеличивает расход памяти из-за этих битовых массивов. Советую сначала протестировать на своих данных, прежде чем браться за это.
Звучит неплохо. Я быстро проведу тесты на своем наборе данных — попробую начать с графа в 10 миллионов ребер и посмотрю, как это скажется на потреблении памяти. Если результат будет хорошим, займусь оптимизацией циклов для лучшего использования кэша. Спасибо за информацию о накладных расходах!
Отлично. Только следи за дополнительной памятью – может прихватить, если не поглядывать. Если прирост скорости останется, то лишняя оперативка себя оправдает. Удачи с тестами.
Понял, буду следить за использованием памяти. Надеюсь, производительность поднимется – если да, то дополнительная память роли не сыграет. Спасибо за совет!
Звучит как отличный план. Следи за точностью размеров, и сразу будет видно, окупится или нет. Удачи.
Будет сделано. Жди цифры!
Конечно, дай знать, как всё сложится.
Окей, сообщу, как будут результаты.
Отлично. Дай знать, что найдёшь.
Буду держать в курсе – как только тесты закончатся, сразу напишу.
Ладно, жду цифры. Всё по плану действовали. Дай знать, как закончишь, коротко кинь.
Понял, как только данные появятся, дам знать. Сделали, как надо. Понял, как только данные появятся, дам знать.