将局部变量转换为对象属性的性能提升

时间:2016-12-28 12:24:08

标签: multithreading performance language-agnostic

我有N个线程查询Web服务并生成一个文件,然后等待30秒,然后再重复一遍。

我有另外N个线程打开并读取这些文件,插入数据库,删除文件,等待100毫秒,然后再重复一遍。

在所有这些对象中,有很多方法都有很多局部变量:整数,字符串,数组和其他特定于框架的对象。

最近我们增加了读取这些文件的线程数,因为webservice正在返回更多的数据。

通过将所有局部变量转换为对象属性(实例变量),我可以获得什么收益? 我认为它不会那么多实例化,因为当对象本身被实例化时,它将被完成一次。

我使用Delphi,但我相信它可以回答任何编程语言或框架。

1 个答案:

答案 0 :(得分:1)

如果您将局部变量转换为对象属性,我认为不会有显着的性能提升。但是,从一个线程生成文件,从另一个线程中读取文件,然后删除文件,听起来像是真正的瓶颈。如果没有充分的理由将文件用作临时存储,请使用单个线程而不是两个线程来查询Web服务,然后将数据写入数据库。