如果使用 Virtualbox 中的 RAMdisk 运行 2 线程 Perl 程序,速度会变慢吗?

如果使用 Virtualbox 中的 RAMdisk 运行 2 线程 Perl 程序,速度会变慢吗?

我在 Virtualbox 中运行一个 perl 脚本(主机和客户机操作系统都是 Windows 7)。Virtualbox 被分配了 8 个 CPU 中的 4 个(所有 CPU 都在 Intel i7 上运行)和 3 GB RAM(总共 8 个可用内存)。

双线程 perl 程序具有充足的可用 RAM,可执行大量 I/O、读写文件以及发出 perl“系统”命令(即执行外部程序)。

为了获得更好的性能,我尝试使用 RAM 磁盘(512 MB,足以包含输入和输出文件)。

我将所有输入文件和脚本复制到那里(为了考虑新磁盘略作修改)。输出文件在 RAM 磁盘上正确创建,但令人惊讶的是,它比使用普通硬盘花费的时间要多得多。

以下是“基准”:

使用 RAM 盘:大约 1 小时 03 分 45 秒。

不含 RAM 盘:大约 32 分 15 秒。

(请记住,所有内容都在 Virtualbox 中运行,并且 RAM 磁盘已配置里面客户操作系统)。

只有 perl.exe 和库仍然保留在“普通” C:盘上。

发生了什么?为什么 RAM 磁盘没有提高基准测试?

相关内容