Ticket Change Details
Not logged in
Overview

Artifact ID: 446360743bfb93f6101c7a03026d929a843d6dcc
Ticket: 2a1e8e3c4b0b39e08fdde0d24d9fb35fbc66d39a
content_get can recursive too deep
User & Date: drh 2010-10-03 18:02:19
Changes

  1. Appended to comment:
    
    
    <hr /><i>drh added on 2010-10-03 18:02:19:</i><br />
    I don't understand your issue with the stack size.  Yes, content_get() is
    deeply recursive, but each stack frame is only 52 bytes.  What workstation
    these days can't handle 100K or more recursions of a 52-byte stack frame?
    
    Content is stored as a sequence of deltas.  So the extraction algorithm
    is inherently recursive.  We could switch to using a loop and store the
    recursion information in memory obtained from the heap.  But what does 
    that really accomplish, other than making the code more obtuse.
    
    We've not had performance issues with rebuild before.  This suggests that
    your repository has a different structure than what we have seen in the
    past.  Can we clone a copy of your repository for further study, so that
    we can get a better grip on the source of your performance problem?