2016-12-28 77 views
0

我有N個線程查詢web服務,並生成一個文件,然後等待30秒,然後做一遍吧。性能增益屬性

我有另外N個線程打開並讀取這些文件,插入到數據庫中,刪除文件,等待100毫秒,然後再重複一遍。

在所有這些有很多的有很多局部變量的方法的對象:整數,字符串,數組和其他特定的框架對象。

最近,我們正在增加的線程數來讀取這些文件,因爲web服務返回更多的數據。

我可以期待通過打開所有的局部變量爲對象屬性(實例變量)有什麼收穫? 我認爲它不會是那麼多的實例化,因爲當對象本身被實例化時它會被執行一次。

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

+0

這很可能*是*語言/框架相關的。世界上有什麼是「客體屬性」? –

+1

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

+0

性能增益必須等於實例化變量的成本,再乘以冗餘實例化的數量。對於整數和字符串,實例化成本可以忽略不計。對於數組和特定於框架的對象,成本取決於它們的大小。 – jaco0646

回答

1

如果將局部變量轉換爲對象屬性,我認爲不會有顯着的性能提升。但是,從一個線程生成文件,從另一個線程讀取文件,然後刪除文件,聽起來就像是真正的瓶頸。如果沒有真正的理由將文件用作臨時存儲,請使用單個線程而不是兩個查詢Web服務,然後將數據寫入數據庫。