2016-12-28 78 views
0

我有N个线程查询web服务,并生成一个文件,然后等待30秒,然后做一遍吧。性能增益属性

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

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

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

我可以期待通过打开所有的局部变量为对象属性(实例变量)有什么收获? 我认为它不会是那么多的实例化,因为当对象本身被实例化时它会被执行一次。

我使用的是德尔福,但我相信它可以回答任何编程语言或框架。

+0

这很可能*是*语言/框架相关的。世界上有什么是“客体属性”? –

+1

@CodyGray,_instance variables_,我推测。 – jaco0646

+0

性能增益必须等于实例化变量的成本,再乘以冗余实例化的数量。对于整数和字符串,实例化成本可以忽略不计。对于数组和特定于框架的对象,成本取决于它们的大小。 – jaco0646

回答

1

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