Bug 155801 - bmalloc: process the object log before asking for new memory
Summary: bmalloc: process the object log before asking for new memory
Alias: None
Product: WebKit
Classification: Unclassified
Component: bmalloc (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Geoffrey Garen
Depends on:
Reported: 2016-03-23 12:40 PDT by Geoffrey Garen
Modified: 2016-03-23 14:07 PDT (History)
4 users (show)

See Also:

Patch (6.06 KB, patch)
2016-03-23 12:48 PDT, Geoffrey Garen
barraclough: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Geoffrey Garen 2016-03-23 12:40:31 PDT
bmalloc: process the object log before asking for new memory
Comment 1 Geoffrey Garen 2016-03-23 12:48:59 PDT
Created attachment 274768 [details]
Comment 2 Geoffrey Garen 2016-03-23 12:50:32 PDT
Memory result:

                                                      Baseline                          Patch                              Δ
Peak Memory:
    facebook                                                    73,040kB                            72,968kB                      ^ 1.0x smaller
    reddit                                                      13,204kB                            13,088kB                     ^ 1.01x smaller
    flickr                                                      24,688kB                            24,552kB                     ^ 1.01x smaller
    theverge                                                    26,188kB                            26,084kB                      ^ 1.0x smaller
    nimlang                                                    184,340kB                           184,240kB                      ^ 1.0x smaller
    reddit_memory_warning --runs 0                              13,236kB                            13,064kB                     ^ 1.01x smaller
    flickr_memory_warning --runs 0                              24,816kB                            24,260kB                     ^ 1.02x smaller
    theverge_memory_warning --runs 0                            26,180kB                            26,052kB                      ^ 1.0x smaller

    <geometric mean>                                            31,577kB                            31,339kB                     ^ 1.01x smaller
    <arithmetic mean>                                           48,212kB                            48,039kB                      ^ 1.0x smaller
    <harmonic mean>                                             24,421kB                            24,187kB                     ^ 1.01x smaller

Memory at End:
    facebook                                                     2,716kB                             2,716kB                                    
    reddit                                                       1,704kB                             1,704kB                                    
    flickr                                                       2,744kB                             2,712kB                     ^ 1.01x smaller
    theverge                                                     2,772kB                             2,772kB                                    
    nimlang                                                     33,304kB                            33,220kB                      ^ 1.0x smaller
    reddit_memory_warning --runs 0                               8,860kB                             8,720kB                     ^ 1.02x smaller
    flickr_memory_warning --runs 0                              11,896kB                            11,768kB                     ^ 1.01x smaller
    theverge_memory_warning --runs 0                            20,860kB                            20,624kB                     ^ 1.01x smaller

    <geometric mean>                                             6,330kB                             6,289kB                     ^ 1.01x smaller
    <arithmetic mean>                                           10,607kB                            10,530kB                     ^ 1.01x smaller
    <harmonic mean>                                              4,092kB                             4,076kB                      ^ 1.0x smaller

Throughput result:

                                                      Baseline                          Patch                              Δ
Execution Time:
    churn                                                 77ms                           73ms                 ^ 1.05x faster
    list_allocate                                         72ms                           70ms                 ^ 1.03x faster
    tree_allocate                                         72ms                           72ms                               
    tree_churn                                            81ms                           79ms                 ^ 1.03x faster
    fragment                                              66ms                           68ms                 ! 1.03x slower
    fragment_iterate                                      78ms                           76ms                 ^ 1.03x faster
    medium                                               194ms                          183ms                 ^ 1.06x faster
    big                                                  141ms                          132ms                 ^ 1.07x faster
    facebook                                             223ms                          226ms                 ! 1.01x slower
    reddit                                               110ms                          111ms                 ! 1.01x slower
    flickr                                               115ms                          113ms                 ^ 1.02x faster
    theverge                                             142ms                          143ms                 ! 1.01x slower
    nimlang                                              119ms                          119ms                               
    message_one                                          208ms                          209ms                  ! 1.0x slower
    message_many                                         114ms                          114ms                               
    churn --parallel                                      39ms                           37ms                 ^ 1.05x faster
    list_allocate --parallel                              65ms                           66ms                 ! 1.02x slower
    tree_allocate --parallel                              85ms                           80ms                 ^ 1.06x faster
    tree_churn --parallel                                 82ms                           84ms                 ! 1.02x slower
    fragment --parallel                                   48ms                           47ms                 ^ 1.02x faster
    fragment_iterate --parallel                           31ms                           31ms                               
    medium --parallel                                    188ms                          184ms                 ^ 1.02x faster
    big --parallel                                       130ms                          130ms                               

    <geometric mean>                                      95ms                           94ms                 ^ 1.01x faster
    <arithmetic mean>                                    108ms                          106ms                 ^ 1.01x faster
    <harmonic mean>                                       83ms                           82ms                 ^ 1.02x faster
Comment 3 Geoffrey Garen 2016-03-23 14:07:34 PDT
Committed r198594: <http://trac.webkit.org/changeset/198594>