Я запускаю Perl-скрипт внутри Virtualbox (и хост, и гостевая ОС являются Windows 7). Virtualbox получил 4 ЦП из 8 (все работает на Intel i7) и 3 ГБ ОЗУ (из 8 доступных).
Двухпоточная Perl-программа, которая имеет много доступной оперативной памяти, выполняет много операций ввода-вывода, чтения и записи файлов и выдает perl "системные" команды (т.е. выполняет внешние программы).
Чтобы добиться большей производительности, я попытался использовать RAM-диск (512 МБ, достаточно, чтобы содержать и входные, и выходные файлы).
Я скопировал туда все входные файлы и скрипт (слегка модифицированный, чтобы рассмотреть новый диск). Выходные файлы создаются правильно на RAM-диске, но на удивление, это занимает гораздо больше времени, чем при использовании обычного жесткого диска.
Вот "эталоны":
с RAM-диском: около 1 ч 03 мин 45 сек
без оперативной памяти: около 32 мин 15 сек
(пожалуйста, помните, что все работает внутри Virtualbox, а диск RAM настроен внутри гостевой ОС).
Только «perl.exe» и библиотеки по-прежнему остаются на «обычном» диске C:.
Что просходит? Почему RAM-диск не улучшил тест?