bugGoatee - Bugs: bug #43973, Extraneous copying when modifying...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #43973: Extraneous copying when modifying deep nodes

Submitted by:  Bryan Gardiner <khumba>
Submitted on:  Sun 11 Jan 2015 12:58:06 AM UTC  
 
Category: LibrarySeverity: 4 - Important
Item Group: BugStatus: Fixed
Privacy: PublicAssigned to: Bryan Gardiner <khumba>
Open/Closed: ClosedRelease: 0.1.0
Fixed Release: 0.3.0

Wed 14 Jan 2015 02:30:25 AM UTC, comment #1:

Fixed in a20195c.

http://git.savannah.gnu.org/cgit/goatee.git/commit/?id=a20195ca854f1b82f4e35adfec6eb5b253721810

Bryan Gardiner <khumba>
Project AdministratorIn charge of this item.
Sun 11 Jan 2015 12:58:06 AM UTC, original submission:

cursorModifyNode is used to edit a node, usually from within a Go monad (modifyProperties, etc.). cursorModifyNode creates a new cursor by recursively updating the cursor's parent node to contain the modified current node, and returning a cursor that is a child of the modified parent. This leads to walking right up to the root of the tree when we modify a node. In the UI, because we usually want to show the result of such a mutation, this forces evaluation of the whole new tree (can be seen by tracing cursorModifyNode).

It would be much better to store mutations temporarily in the current cursor/node, and only propagate those into the parent when we move up the tree.

This is like bug #42673 (Modifying game info from a deep node is slow) and has a similar, noticeable performance hit, but the fix will require slightly different code to handle the propagation. Fixing one won't automatically fix the other.

Bryan Gardiner <khumba>
Project AdministratorIn charge of this item.

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by khumba (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 20 Mar 2015 05:15:48 AM UTCkhumbaOpen/ClosedOpen=>Closed
      Fixed ReleaseNone=>0.3.0
    Wed 14 Jan 2015 02:30:25 AM UTCkhumbaStatusNone=>Fixed

    Back to the top


    Powered by Savane 3.1-cleanup1