Двухпоточная программа Perl работает медленнее, если запущена с использованием RAM-диска в Virtualbox?

Двухпоточная программа Perl работает медленнее, если запущена с использованием RAM-диска в Virtualbox?

Я запускаю скрипт perl внутри Virtualbox (как хостовая, так и гостевая ОС — Windows 7). Virtualbox получил 4 процессора из 8 (все работает на Intel i7) и 3 ГБ оперативной памяти (из 8 доступных).

Двухпоточная программа Perl, имеющая большой объем оперативной памяти, выполняет множество операций ввода-вывода, чтения и записи файлов, а также выдает «системные» команды Perl (т. е. выполняет внешние программы).

Для достижения лучшей производительности я попробовал использовать RAM-диск (512 МБ, достаточно для хранения как входных, так и выходных файлов).

Я скопировал туда все входные файлы и скрипт (слегка измененный для учета нового диска).Выходные файлы корректно создаются на RAM-диске, но, что удивительно, это занимает гораздо больше времени, чем при использовании обычного жесткого диска.

Вот «контрольные показатели»:

с RAM-диском: около 1 ч 03 мин 45 сек.

без RAM-диска: около 32 мин 15 сек.

(помните, все работает внутри Virtualbox, а RAM-диск настроенвнутригостевая ОС).

На «обычном» диске C: остались только perl.exe и библиотеки.

Что происходит? Почему RAM-диск не улучшил результаты теста?

Связанный контент