• Randall Leeds's avatar
    Optimize reply count updates · 04b11378
    Randall Leeds authored
    Rather than traversing all the descendants at every digest of every
    level of every thread, propagate updates from leaf nodes to parents
    by giving each thread access to its parent thread controller. Digests
    are only ever performed at the top level and are debounced so that
    during progressive rendering of threads the number of digests is
    greatly reduced. Some adhoc experimentation yields a 50% reduction in
    digests during thread rendering on top of the performance gain by
    not traversing descendants in `messageContainer#flattenChildren` calls
    on every digest.
    
    To accomplish the debouncing, the render service now returns a cancel
    function making it have the same signature as `requestAnimationFrame`.
    04b11378
Name
Last commit
Last update
h/static Loading commit data...
tests/js Loading commit data...
karma.config.js Loading commit data...
package.json Loading commit data...