首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模拟物理磁盘以加快执行速度?

模拟物理磁盘以加快执行速度?
EN

Stack Overflow用户
提问于 2009-08-31 06:12:26
回答 4查看 433关注 0票数 3

我们有一个命令行exe,它从文本文件中获取输入并生成输出文本文件。它用于复杂的工业模拟。

此可执行文件的源代码早已不复存在。现在很容易创建一个.NET包装器,它控制这个exe的执行,并通过web服务链接到外部应用程序。

不幸的是,一个新的需求是在这个黑盒模型上运行优化。现在有各种方法来执行黑盒优化,但它们都需要调用数千(数百万?)可执行文件。很多次。很明显,基于磁盘的文本文件的创建和解析是模拟过程的瓶颈。

有没有什么办法可以让这个可执行文件不写入物理磁盘?如果我们是在Unix上,我想管道可以做到这一点,但我们的部署服务器是Windows server 03。

我突然想到一个ramdrive也许可以解决这个问题,但是自从MS-DOS 6之后我就再也没有玩过这样的东西了。有没有什么值得一看的商业产品?有没有人有通过代码模拟物理硬盘的其他想法?我们使用的是.NET 3.5。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-12-23 18:25:40

RAMDisk with freeware version

Microsoft version

How-to

票数 1
EN

Stack Overflow用户

发布于 2009-08-31 06:34:45

在windows中也可以使用Pipeing输出-如果可执行文件只生成标准输出,您可以使用它。

如果它真的写入一个文件:因为windows缓存文件系统的写入,我可以想象简单地写入,然后删除小文件几乎和ramdisk一样快。你是否真的尝试过以实际的速度运行程序,在运行后删除所有输出?如果您密切关注CPU的使用情况和磁盘队列,就应该知道普通的老式磁盘缓存是否足够了。

票数 0
EN

Stack Overflow用户

发布于 2009-08-31 06:46:05

如果你使用的是Vista,有一个commercial Ramdisk product可能很适合你。如果您的系统已经使用了大部分内存,则可能需要x64版本,以确保您最终不会进行过多的页面交换。

另一种选择是花点钱买一个15000转/分的磁盘或固态硬盘(固态硬盘),尽管这会比RAM磁盘慢。

但是,从长远来看,对处理工具进行逆向工程并从头开始重写可能会更便宜,以避免瓶颈。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1356038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档