2009-02-26 4 views
2

Я хотел ускорить компиляцию, поэтому я думал, что мои файлы могут быть построены на ramdisk, но также они автоматически очищаются от файловой системы и используют файловую систему, если не хватает бара.ramdisk с файловым зеркалом

Мне может понадобиться что-то подобное для приложения, которое я пишу, где бы я хотел, чтобы файлы были кэшированы в ram и сброшены в FS. Какие у меня варианты? Есть ли что-то подобное, которое уже существует? (возможно, предохранитель?) Приложение представляет собой игрушечное приложение (на данный момент), и мне нужно будет повторно скомпилировать код C++. Как мы знаем, чем дольше требуется компиляция, когда перед выполнением конкретной задачи необходимо решить проблему. тем меньше мы можем сделать.

ответ

3

Ram-диски пошли по пути додо с кешем файловой системы. Он может принимать гораздо более эффективные решения, чем статический кеш, осознавая использование ОЗУ другими программами и положение головки записи на диске. Ленькая обратная связь предоставляется бесплатно.

+0

Вы говорите, что окна будут кэшировать мои файлы, поэтому мне не нужно было это реализовать? – 2009-02-26 18:53:16

+0

Да, да. И чтение, и запись. –

+0

Действительно ли это вообще, или разработчик, который написал программное обеспечение, должен что-либо сделать, чтобы сообщить Windows, что он должен использовать кеш файловой системы? Другими словами, будет ли мой упрощенный код C извлекаться из системного кеша при записи больших файлов? И если да, то почему я вижу резкое ускорение, когда пишу в RAMDISK? (Примечание. Я использую OpenCV для записи больших видеофайлов по одному кадру за раз). – AndyL

1

Компиляция связана с ЦП, а не с диском. Если вы используете все ваши ядра процессора с помощью соответствующего флага сборки, вы можете легко насытить их на обычных ПК. Если у вас нет своего суперкомпьютера, я не думаю, что это сильно ускорит процесс.

Для VS2008 этот флаг /MP. Он также существует на VS2005.