我的应用程序不断计算字符串并将它们输出到文件中。这将持续近一整天。但是写入文件会减慢我的申请速度。有没有办法可以提高速度?此外,我想扩展应用程序,以便我可以在一段特定的时间后将结果发送到另一个系统。
谢谢&的问候,
mouseY的
答案 0 :(得分:3)
根据您的情况,有几件事情可能会有所帮助,也可能不会对您有所帮助:
答案 1 :(得分:1)
如何将结果写入套接字而不是文件。另一个程序Y,将读取套接字,打开文件,写入并关闭它,并在指定的时间后将结果传输到另一个系统。
我的意思是文件处理的过程由其他程序处理。原始程序X只是将输出发送到套接字。它与刷新文件流无关。
另外,我想扩展应用程序 这样我就可以将结果发送给了 一些特别的后另一个系统 时间量。
如果您只想将文件传输到其他系统,那么我认为一个简单的脚本就足够了。
答案 2 :(得分:1)
使用多个文件进行日志记录。假设,在文件大小达到1 MB后,将其名称更改为包含日期和时间的内容,并开始写入新文件,命名为原始文件名。 那么你有:
RESULTS.TXT
results2010-1-2-1-12-30.txt(2010年1月2日,1:12:30)
等等。
答案 3 :(得分:0)
您可以在内存中缓冲不同计算的结果,只在缓冲区已满时写入文件。例如,您可以设计应用程序,它可以计算100次计算的结果,并在文件中一次性写入所有这100个结果。然后计算另一个100,依此类推。
答案 4 :(得分:0)
写文件显然很慢,但你可以缓冲数据并启动单独的线程来对文件进行扭曲。这可以提高您的申请速度。
其次,您可以使用ftp将传输文件传输到其他系统。
答案 5 :(得分:0)
我认为这里有一些红色的鲱鱼。
在较旧的计算机系统上,我建议缓存字符串并执行少量大写操作而不是大量小写操作。在现代系统上,默认的磁盘缓存绰绰有余,并且进行额外的缓冲不太可能有所帮助。
我认为你没有为每次写入禁用缓存或打开文件。
可能编写非常大的文件存在一些问题,但这不是我的第一个猜测。
完成后输出文件有多大?
是什么原因导致您认为该文件是瓶颈?你有分析数据吗?
是否可能存在内存泄漏?
您发布的任何代码或统计信息都有助于诊断。