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.

Looking at it.

>  
> 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?
>  
>
dsqlChild and jrdChild are used for default processing, king of old
nod_count.

Most nodes has individual members for each sub-node and they are added
to *Child.

"items" of this class is an array, but it's added to *Child as well.


Adriano


------------------------------------------------------------------------------
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

Reply via email to