Bug 154436 - bmalloc: Remove the concept of medium objects
Summary: bmalloc: Remove the concept of medium objects
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Geoffrey Garen
Depends on:
Reported: 2016-02-18 22:24 PST by Geoffrey Garen
Modified: 2016-02-19 16:03 PST (History)
5 users (show)

See Also:

Patch (55.07 KB, patch)
2016-02-18 22:47 PST, Geoffrey Garen
sam: 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-02-18 22:24:07 PST
bmalloc: Remove the concept of medium objects
Comment 1 Geoffrey Garen 2016-02-18 22:47:07 PST
Created attachment 271733 [details]
Comment 2 WebKit Commit Bot 2016-02-18 22:47:57 PST
Attachment 271733 [details] did not pass style-queue:

ERROR: Source/bmalloc/bmalloc/Heap.cpp:169:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 16 files

If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Geoffrey Garen 2016-02-18 22:48:24 PST
~/OpenSource/PerformanceTests/MallocBench> ./run-malloc-benchmarks Baseline:~/OpenSource/WebKitBuildBaseline/Release/ Patch:~/OpenSource/WebKitBuild/Release/
                                                      Baseline                          Patch                              Δ
Execution Time:
    churn                                                 88ms                           80ms                  ^ 1.1x faster
    list_allocate                                         88ms                           83ms                 ^ 1.06x faster
    tree_allocate                                         88ms                           84ms                 ^ 1.05x faster
    tree_churn                                            92ms                           90ms                 ^ 1.02x faster
    fragment                                             104ms                           99ms                 ^ 1.05x faster
    fragment_iterate                                      68ms                           66ms                 ^ 1.03x faster
    medium                                               202ms                          203ms                  ! 1.0x slower
    big                                                  152ms                          152ms                               
    facebook                                             431ms                          435ms                 ! 1.01x slower
    reddit                                                89ms                           91ms                 ! 1.02x slower
    flickr                                                94ms                           99ms                 ! 1.05x slower
    theverge                                             114ms                          119ms                 ! 1.04x slower
    message_one                                          225ms                          221ms                 ^ 1.02x faster
    message_many                                         121ms                          119ms                 ^ 1.02x faster
    churn --parallel                                      40ms                           39ms                 ^ 1.03x faster
    list_allocate --parallel                              73ms                           70ms                 ^ 1.04x faster
    tree_allocate --parallel                              88ms                           85ms                 ^ 1.04x faster
    tree_churn --parallel                                 86ms                           85ms                 ^ 1.01x faster
    fragment --parallel                                   55ms                           52ms                 ^ 1.06x faster
    fragment_iterate --parallel                           33ms                           32ms                 ^ 1.03x faster
    medium --parallel                                    189ms                          188ms                 ^ 1.01x faster
    big --parallel                                       135ms                          136ms                 ! 1.01x slower

    <geometric mean>                                     102ms                          100ms                 ^ 1.02x faster
    <arithmetic mean>                                    121ms                          119ms                 ^ 1.01x faster
    <harmonic mean>                                       88ms                           86ms                 ^ 1.03x faster

Peak Memory:
    churn                                                780kB                          784kB                 ! 1.01x bigger
    list_allocate                                      2,100kB                        2,100kB                               
    tree_allocate                                      5,536kB                        5,512kB                 ^ 1.0x smaller
    tree_churn                                         4,828kB                        4,808kB                 ^ 1.0x smaller
    fragment                                           7,048kB                        7,024kB                 ^ 1.0x smaller
    fragment_iterate                                  25,824kB                       25,712kB                 ^ 1.0x smaller
    medium                                         1,071,080kB                    1,071,084kB                  ! 1.0x bigger
    big                                            1,064,808kB                    1,065,832kB                  ! 1.0x bigger
    facebook                                          77,932kB                       77,704kB                 ^ 1.0x smaller
    reddit                                            15,060kB                       14,100kB                ^ 1.07x smaller
    flickr                                            27,476kB                       25,356kB                ^ 1.08x smaller
    theverge                                          28,840kB                       26,764kB                ^ 1.08x smaller
    message_one                                        4,632kB                        4,516kB                ^ 1.03x smaller
    message_many                                       5,036kB                        4,928kB                ^ 1.02x smaller
    churn --parallel                                     968kB                          948kB                ^ 1.02x smaller
    list_allocate --parallel                           2,212kB                        2,248kB                 ! 1.02x bigger
    tree_allocate --parallel                           3,364kB                        3,308kB                ^ 1.02x smaller
    tree_churn --parallel                              3,040kB                        3,040kB                               
    fragment --parallel                                7,196kB                        7,176kB                 ^ 1.0x smaller
    fragment_iterate --parallel                       25,944kB                       25,848kB                 ^ 1.0x smaller
    medium --parallel                              1,069,564kB                    1,070,048kB                  ! 1.0x bigger
    big --parallel                                 1,060,860kB                    1,057,056kB                 ^ 1.0x smaller

    <geometric mean>                                  16,808kB                       16,571kB                ^ 1.01x smaller
    <arithmetic mean>                                205,188kB                      204,813kB                 ^ 1.0x smaller
    <harmonic mean>                                    4,244kB                        4,215kB                ^ 1.01x smaller

Memory at End:
    churn                                                376kB                          380kB                 ! 1.01x bigger
    list_allocate                                        412kB                          412kB                               
    tree_allocate                                        512kB                          488kB                ^ 1.05x smaller
    tree_churn                                           484kB                          464kB                ^ 1.04x smaller
    fragment                                             500kB                          476kB                ^ 1.05x smaller
    fragment_iterate                                     832kB                          720kB                ^ 1.16x smaller
    medium                                             6,704kB                        6,708kB                  ! 1.0x bigger
    big                                                6,692kB                        6,692kB                               
    facebook                                           3,484kB                        3,672kB                 ! 1.05x bigger
    reddit                                             2,132kB                        2,268kB                 ! 1.06x bigger
    flickr                                             3,196kB                        3,268kB                 ! 1.02x bigger
    theverge                                           3,280kB                        3,340kB                 ! 1.02x bigger
    message_one                                          696kB                          680kB                ^ 1.02x smaller
    message_many                                       1,120kB                        1,176kB                 ! 1.05x bigger
    churn --parallel                                     564kB                          540kB                ^ 1.04x smaller
    list_allocate --parallel                             588kB                          588kB                               
    tree_allocate --parallel                             720kB                          688kB                ^ 1.05x smaller
    tree_churn --parallel                              1,140kB                        1,180kB                 ! 1.04x bigger
    fragment --parallel                                1,352kB                        1,356kB                  ! 1.0x bigger
    fragment_iterate --parallel                        1,044kB                          908kB                ^ 1.15x smaller
    medium --parallel                                  6,836kB                        6,824kB                 ^ 1.0x smaller
    big --parallel                                     6,800kB                        6,792kB                 ^ 1.0x smaller

    <geometric mean>                                   1,353kB                        1,336kB                ^ 1.01x smaller
    <arithmetic mean>                                  2,248kB                        2,255kB                  ! 1.0x bigger
    <harmonic mean>                                      915kB                          892kB                ^ 1.03x smaller
Comment 4 Geoffrey Garen 2016-02-18 22:48:42 PST
~/OpenSource/PerformanceTests/MallocBench> ./run-malloc-benchmarks Baseline:~/OpenSource/WebKitBuildBaseline/Release/ Patch:~/OpenSource/WebKitBuild/Release/
                                                                Baseline                               Patch                                   Δ
Peak Memory:
    reddit_memory_warning --runs 0                              14,940kB                            14,000kB                     ^ 1.07x smaller
    flickr_memory_warning --runs 0                              27,360kB                            25,356kB                     ^ 1.08x smaller
    theverge_memory_warning --runs 0                            28,504kB                            26,500kB                     ^ 1.08x smaller

    <geometric mean>                                            22,670kB                            21,110kB                     ^ 1.07x smaller
    <arithmetic mean>                                           23,601kB                            21,952kB                     ^ 1.08x smaller
    <harmonic mean>                                             21,650kB                            20,188kB                     ^ 1.07x smaller

Memory at End:
    reddit_memory_warning --runs 0                               9,604kB                             9,264kB                     ^ 1.04x smaller
    flickr_memory_warning --runs 0                              12,576kB                            12,312kB                     ^ 1.02x smaller
    theverge_memory_warning --runs 0                            22,344kB                            21,252kB                     ^ 1.05x smaller

    <geometric mean>                                            13,923kB                            13,433kB                     ^ 1.04x smaller
    <arithmetic mean>                                           14,841kB                            14,276kB                     ^ 1.04x smaller
    <harmonic mean>                                             13,135kB                            12,700kB                     ^ 1.03x smaller
Comment 5 Geoffrey Garen 2016-02-19 16:03:52 PST
Committed r196845: <http://trac.webkit.org/changeset/196845>