Programa Perl de 2 threads mais lento se executado usando um RAMdisk dentro de um Virtualbox?

Programa Perl de 2 threads mais lento se executado usando um RAMdisk dentro de um Virtualbox?

Eu executo um script perl dentro de um Virtualbox (tanto o sistema operacional host quanto o convidado são Windows 7). O Virtualbox recebeu 4 CPUs de 8 (tudo roda em um Intel i7) e 3 GB de RAM (de 8 disponíveis).

O programa perl de 2 threads, que tem bastante RAM disponível, faz muitas E/S, lendo e gravando arquivos e emitindo comandos de "sistema" perl (ou seja, executa programas externos).

Para obter melhor desempenho, tentei usar um disco RAM (512 MB, suficiente para conter arquivos de entrada e de saída).

Copiei lá todos os arquivos de entrada e o script (ligeiramente modificado para considerar o novo disco).Os arquivos de saída são criados corretamente no disco RAM, mas, surpreendentemente, leva muito mais tempo do que usar o disco rígido comum.

Aqui estão os "referências":

com disco RAM: cerca de 1h03min45seg.

sem disco RAM: cerca de 32 minutos e 15 segundos.

(lembre-se, tudo roda dentro de um Virtualbox e o disco RAM está configuradodentroo sistema operacional convidado).

Apenas o perl.exe e as bibliotecas ainda permanecem no disco C: 'comum'.

O que acontece? Por que o disco RAM não melhorou o benchmark?

informação relacionada