我有一个在C应用程序中运行的python脚本(我无法控制它的源代码),我希望这个脚本生成一个任意大小的文件。这个文件中的数据无关紧要。我编写了以下代码:
def generateFile(filename, size):
file = open(filename, 'wb')
file.write(''.join('0' for _ in range(size)))
file.close()
IronPython在这个C应用程序中的集成总体上非常缓慢,但基本上是可以接受的。但是这段代码太慢了。生成一个1KB的文件大约需要20秒,而我需要生成大约1M或更多的文件。你知道吗
经过一些调查,似乎慢主要来自生成用于写入文件的字符串。你知道吗
有没有另一种方法可以在更快、可接受的时间内完成同样的任务?你知道吗
我不明白怎么会这么慢
不管怎样,这可能会有所帮助;我不是一次生成一个兆字节的字符串,而是生成32K并根据需要多次重用它。您可以使用块大小来查看什么最有效。你知道吗
在我的机器上,它在0.81秒内写入一个100MB的文件。你知道吗
你可以用
相关问题 更多 >
编程相关推荐