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?