Пост для программистов!
Возможно кто-то из вас в свободное время "копает" исходный код FlylinkDC++ в академических целях
и если вдруг вы заметили элементы говно-кода обязательно сообщите об этом!
Пример использования профайлера для поиска хот поинтов по нагрузке на CPU
Шаг 1 - под профайлером запускаем флайлинк и после завершения процесса студия показывает нам стек вызова "горячей" функции.Шаг 2 - находим тормозной кусок в коде и , где выполняется заполнение массива стран и провайдеров через использование
линейного поиска по std::vector. данный вызов выполняется ~180 тысяч раз
при этом в результирующем векрторе набирается всего ~2900 названий стран и провайдеров.
Шаг 3 - заводим дополнительную хэш таблицу std::unordered_map
через которую пробрасываем наши 180 тысяч записей. и после индексации всего массива чистим.
Шаг 4 - Сравниваем скорость загрузки GeoIP старой и новой версии:
3 комментария:
Уберите нецензурные слова из Вашего текста, пожалуйста. Впоследствии будьте аккуратнее в выражениях.
уточните о каком слове идет речь?
Паш, напиши "биоразложимого кода" :)
Отправить комментарий