Size: a a a

pro.graphon (and gamedev)

2020 May 12

d

disba1ancer in pro.graphon (and gamedev)
Sergey Skvortsov
Нет, конечно, в определенных сценариях там будет и быстрее
Ровно один процесс в системе в диск ходит, например, и программа очень хорошо натюнила свои кеши
когда читаешь файл целиком, тебе кеш особо не нужен
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
disba1ancer
я просто топлю за здравый подход: не использовать лишние буферы там где это имеет смысл
А я топлю за научный подход: бенчмаркать и исследовать)
источник

I

Ioann_V in pro.graphon (and gamedev)
Ioann_V
окей, напишу сейчас - если ты читаешь файл целиком, то выгоден ДиректИо, если ты Сикаешься по файлу - то выгоден ВиртуалМап. Я это проверял, да и это очевидно.
Вот так.
источник

d

disba1ancer in pro.graphon (and gamedev)
Sergey Skvortsov
А я топлю за научный подход: бенчмаркать и исследовать)
первая часть на практике не работает
источник

I

Ioann_V in pro.graphon (and gamedev)
Sergey Skvortsov
А я топлю за научный подход: бенчмаркать и исследовать)
Если так не выходит, то используй Маппинг. Обычно надо делать так - нагрузить оперативку файлом, и уже читать из оперативки.
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
disba1ancer
первая часть на практике не работает
Надо уметь бенчмаркать, конечно
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Это не про микробенчмарки 10 строк
источник

I

Ioann_V in pro.graphon (and gamedev)
Sergey Skvortsov
Надо уметь бенчмаркать, конечно
Есть только один кейс, где ДиректИо не даст плюса - это когда вся ОСь активно работает с ХДД
источник

d

disba1ancer in pro.graphon (and gamedev)
Sergey Skvortsov
Надо уметь бенчмаркать, конечно
надо ещё помнить что бенч это нечто в вакууме...
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
disba1ancer
надо ещё помнить что бенч это нечто в вакууме...
Бенчмаркай программу целиком
источник

I

Ioann_V in pro.graphon (and gamedev)
Ioann_V
Есть только один кейс, где ДиректИо не даст плюса - это когда вся ОСь активно работает с ХДД
Поэтому тут бенчи могут и не дать ответа. ХДД ж нагружен каждый раз по-разному.
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Ioann_V
Есть только один кейс, где ДиректИо не даст плюса - это когда вся ОСь активно работает с ХДД
Или когда он используется неоптимально, ага
источник

I

Ioann_V in pro.graphon (and gamedev)
На Винде, с ее префетчером... На Линуксе все всегда ок.
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Ядро оптимизирует io, программа вряд ли
источник

d

disba1ancer in pro.graphon (and gamedev)
Ioann_V
На Винде, с ее префетчером... На Линуксе все всегда ок.
а что у не так с префетчером?
источник

I

Ioann_V in pro.graphon (and gamedev)
Sergey Skvortsov
Ядро оптимизирует io, программа вряд ли
Так можно сказать и про HeapAlloc
источник

I

Ioann_V in pro.graphon (and gamedev)
Что он быстрый, потмоу что ядро. Внутри там - самые обычные механизмы.
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Там точно в программе проверяется диск и выбирается оптимальный размер буфера для записи?
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Ioann_V
Что он быстрый, потмоу что ядро. Внутри там - самые обычные механизмы.
Нет, просто ядро уже натюнило, а тут надо тюнить заново
источник

SS

Sergey Skvortsov in pro.graphon (and gamedev)
Почему это строго быстрее - неочевидно, да и на практике это не всегда так
источник