What would you like dompdf to do:
Please use a global stack, instead of recursive frames.
Currently the frame class build a sibling/child tree in itself. No wonder
it takes so much memory to build large PDF files. You get recursive object
tree, which takes huge amount of memory and slows the process down.
Take a look at the example file for information on what I mean. The example
file is from a xdebug trace on a large HTML page, with images and tables
and stuff.
Doesn't matter what engine is used, because it's in dompdf.
I suggest using something like this:
{{{
Frame_Tree -> public static $_free_stack;
Frame ->
protected $_first_child = "frame-" . uniqid();
protected $_last_child = "frame-" . uniqid();
protected $_prev_sibling = "frame-" . uniqid();
protected $_next_sibling = "frame-" . uniqid();
}}}
With free_stack as associative array with unique id's on where the elements
are.
I hope you understand what I mean.
Keep in mind that uniqid() function can kill performance as well. So maybe
there are better function to handle this. But creating a global stack,
removes the recursion part and makes a huge difference on memory usage.
Original issue reported on code.google.com by michiele...@gmail.com on 5 Oct 2009 at 12:32
Original issue reported on code.google.com by
michiele...@gmail.com
on 5 Oct 2009 at 12:32Attachments: