← All posts tagged i/o

lovesan

Кэши NTFS и диска это просто невыносимая победа.

Я тут попробовал, от нехер делать, mmap'ить, а потом декодировать в строки(вообще, с помощью модуля для работы с текстом из программы для моего стартапа, но думаю, что например cffi+babel дадут те же результаты) все более-менее текстовые файлы из сорцов SBCL(считая что они все в utf-8), каких около 20 мегабайт, рекурсивно обходя директорию с сорцами.

Так первый раз это заняло 32 секунды(из них времени на перекодирование — 1 секунда, примерно), а второй и последующие — в районе 2 секунд(даже после перезапуска процесса). Я предполагал улучшение показателей, конечно, но все-равно охуел.

Чуваки, если у вас в программе что-то якобы тормозит, то 95% что это I/O. Дисковое I/O — в первую очередь; хотя и другие виды I/O, типа загрузки ресурсов на видеокарту, сокетов, и прочего — тоже нихуевый источник тормозов.

Поэтому я всегда уже давно считаю, что ни Си, ни C++, нигде в прикладном программировании не нужны. C++, впрочем, даже в системном то нахуй не сдался, но это уже другой вопрос. Брать сишечку или кресты "для производительности" это просто задротство, и неумение эту самую производительность замерять.