On Fri, 3 Sep 2004, D. Richard Hipp wrote: >b.bum wrote: > > What changed in SQLite3 such that the stack size is significantly larger for > > common operations? > > .... > >The balance routine needs 10x the page size of space to do its >job. That space needs to come from somewhere. I chose the stack >since the stack is readily at hand. Other options include >malloc(), with a performance penalty, or alloca(), which does >not work right on many systems.
How often does the balancer run? Could the space for the balance routine be allocated with the sqlite structure? It is opaque anyway, and is allocated only once, so there should be no penalty in performance over the current stack implementation, and only a single thread should ever be using a sqlite structure at a time. Christian -- /"\ \ / ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL X - AGAINST MS ATTACHMENTS / \