40

Ответ на пост «"Программисты не умеют программировать"»19

А ведь было же золотое время, когда большие циклы оптимизировали по времени, считая сумму тактов на цикл. И количество байт (не мб!) в программах минимизировали. Но потом пришли языки высокого уровня с кучей неоптимизированных библиотек.
Как то загорелся сделать программу для составления частотного словаря на Паскале. Для него понадобилась подпрограмма сортировки, которая должна была вызываться миллионы тысячи раз. Поэтому написал "пузырёк" на ассемблере. Когда сделал, стал искать аналоги в интернете. Нашёл одну распиаренную, которая на словаре Брокгауза и Евфрона (22мб) после получаса работы ушла в себя... Моя обрабатывала этот файл около 2-3 минут(*). Связался с автором, он рассказал, что написал программу за какой-то грант. А на вопрос, какой алгоритм сортировки использовал, ответил: "А хрен его знает? Взял какую-то готовую библиотеку и использовал модуль сортировки..."

(*) Сейчас на новом железе - 22сек.
*** 1 BROK_EFR.TXW (23270 kb)

Total words in Source: 3250130

sorting...

After sorting: 20,499 sec

After FRQ-counting: 21,887 sec

SortType=0 (alphabetical)

After sort of Destination: 21,887 sec

Total words in Destination: 282033

Total time: 21,965 sec

Average Speed: 1059 kb/sec

Типичный программист

1.5K постов6.7K подписчиков

Вы смотрите срез комментариев. Показать все
11
Автор поста оценил этот комментарий

Не знаю, че вы там на пузырьке пишите, вот, сортировка из коробки вашего словаря работает за 6.5 сек в режиме отладки:

Иллюстрация к комментарию
раскрыть ветку (2)
5
Автор поста оценил этот комментарий

Ты ему сейчас весь мир сломал. Ведь придется осознать, что компиляторы продвинулись вперед настолько, что оптимизировать лучше их можно далеко не всегда... Собственно, я на это же наткнулся и слегка прифигел на недельку. Правда страдал молча.

Автор поста оценил этот комментарий

А я время выполнения указал полное, сама сортировка <6 сек.
Creating Frequency Dictionary from Texts

(c)2000-2002 *

*** 1 ┴Ёюъурєч ╘.. ▌эЎшъыюяхфшўхёъшщ ёыютрЁ№ - royallib.ru.txt (23304 kb)

After loading: 0,016 sec

extracting...

After extracting: 12,278 sec

recoding...>

After recoding: 14,384 sec

Total words in Source: 3252991

sorting...

After sorting: 20,156 sec

After FRQ-counting: 21,544 sec

SortType=2 (frq+alphabetical)

After sort of Destination: 25,865 sec

Total words in Destination: 283708

Total time: 25,959 sec

Average Speed: 898 kb/sec

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества