提问人:Lucas Steffen 提问时间:12/28/2016 最后编辑:jaco0646Lucas Steffen 更新时间:12/28/2016 访问量:36
将局部变量转换为对象属性的性能提升
Performance gain in turning local variables into object attributes
问:
我有 N 个线程查询一个网络服务并生成一个文件,然后等待 30 秒,然后重新做一遍。
我还有另外 N 个线程打开并读取这些文件,插入数据库,删除文件,等待 100 毫秒,然后重新执行。
在所有这些对象中,有很多方法有很多局部变量:整数、字符串、数组和其他特定于框架的对象。
最近,我们正在增加读取这些文件的线程数,因为 Web 服务返回的数据要多得多。
通过将所有局部变量转换为对象属性(实例变量),可以获得什么收益? 我认为它不会有那么多实例化,因为这将在对象本身实例化时完成一次。
我正在使用 Delphi,但我相信它可以回答任何编程语言或框架。
答:
1赞
user7291698
12/28/2016
#1
我不认为如果将局部变量转换为对象属性,性能不会显著提高。但是,从一个线程生成文件,从另一个线程读取文件,然后删除文件,听起来像是真正的瓶颈。如果没有充分的理由将文件用作临时存储,请使用单个线程而不是两个线程来查询 Web 服务,然后将数据写入数据库。
评论