Arno, can you please verify now? It should still reset the array, but much less than before.
Adriano On 16/11/2015 07:11, Arno Brinkman wrote: > Hi All, > > I noticed some big differences in performance between FB3 and FB2.5, > so with help form Vlad i got debug builds to do some profiling. > Anyway i ended up to set-up a VM with firebird source-tree and needed > tools. > This has been improved compared to some years ago, so i’m happy here > to have everything quick up and running Glimlach > > > The performance problem is in class ValueListNode > > This class has and items property which is in array and gets modified > by function calls of the class. > No problem here, but ValueListNode is inherited from ExprNode and > there we have 2 arrays dsqlChildNodes and jrdChildNodes > > for every call to add() in ValueListNode the method resetChildNodes() > is called; > As resetChildNodes() rebuilds all nodes in dsqlChildNodes and > jrdChildNodes with items as base, you can understand when adding 200 > items. > 2nd item added => (clear and 4 new items), 3rd item added (clear and 6 > new items), etc... > This explodes by the more items are added. > > Further i’m not sure why for every added item there are 2 copied (in > dsqlChild and jrdChild). > Is ValueListNode only used at places where dsqlChild and jrdChild also > really matters? > > > Kind Regards, > Arno Brinkman > > > > > > > > ------------------------------------------------------------------------------ > Presto, an open source distributed SQL query engine for big data, initially > developed by Facebook, enables you to easily query your data on Hadoop in a > more interactive manner. Teradata is also now providing full enterprise > support for Presto. Download a free open source copy now. > http://pubads.g.doubleclick.net/gampad/clk?id=250295911&iu=/4140 > > > Firebird-Devel mailing list, web interface at > https://lists.sourceforge.net/lists/listinfo/firebird-devel ------------------------------------------------------------------------------ Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel