• Christian Hergert's avatar
    gresource: avoid allocations in enumerate_children() · 5464461e
    Christian Hergert authored
    In the vast majority of cases, we can avoid temporary
    allocations for paths in g_resources_enumerate_children().
    
    In the case we need to add a suffix "/", we can usually just
    build the path on the stack. In other cases, we can completely
    avoid the strdup, which appears to only have been added for
    readability. If the path is really long, we fallback to doing
    what we did before, and use g_strconcat().
    
    In the case of Builder, this saved 5.3mb of temporary
    allocations in the process of showing the first application
    window.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=790275
    5464461e
gresource.c 42.9 KB