2012-11-23 35 views
0

我正在PHP中構建一個樹結構,我可以將它保留爲一個數組,或者將它變成一個對象樹。我認爲如果我把它作爲一個陣列,會有更好的表現,但我不確定。PHP樹和內存使用

在數組的情況下,擁有對象將具有對根元素的引用,就是這樣。根元素將包含子數組,而子數組又可能包含它們自己的子數組。

在對象的情況下,我的映射器需要在加載時實例化它們,並且對於每個子對象,它們都將是其父對象的引用。對於300節點樹,這意味着299個引用,而使用數組時則爲1個引用。

所以,在我看來,如果我使用數組而不是對象,性能會好很多。它是否正確?這很重要,因爲在這種情況下犧牲物體的行爲將是一個相當大的折衷。

+2

數組元素也是引用。如果有300個節點,則來自父數組或父對象的299個引用之間幾乎沒有差別。 – Barmar

+0

這看起來像是你應該進行基準測試的東西。 –

回答

0

我不認爲犧牲速度與靈活性或可擴展性是一個好主意。