• Björn Steinbrink's avatar
    process_{tree,blob}: Remove useless xstrdup calls · de551d47
    Björn Steinbrink authored
    The name of the processed object was duplicated for passing it to
    add_object(), but that already calls path_name, which allocates a new
    string anyway. So the memory allocated by the xstrdup calls just went
    nowhere, leaking memory.
    
    This reduces the RSS usage for a "rev-list --all --objects" by about 10% on
    the gentoo repo (fully packed) as well as linux-2.6.git:
    
        gentoo:
                        | old           | new
        ----------------|-------------------------------
        RSS             |       1537284 |       1388408
        VSZ             |       1816852 |       1667952
        time elapsed    |       1:49.62 |       1:48.99
        min. page faults|        417178 |        379919
    
        linux-2.6.git:
                        | old           | new
        ----------------|-------------------------------
        RSS             |        324452 |        292996
        VSZ             |        491792 |        460376
        time elapsed    |       0:14.53 |       0:14.28
        min. page faults|         89360 |         81613
    Signed-off-by: default avatarBjörn Steinbrink <B.Steinbrink@gmx.de>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    de551d47
reachable.c 5.6 KB