{"push_id":635452685,"size":1,"distinct_size":1,"ref":"refs/heads/waaazzup","head":"58f496ed181e7ab6bf063fdea0626fa26a9d8093","before":"b4d9e3500c87515c2f6e7f85c649e81f90cb4b82","commits":[{"sha":"58f496ed181e7ab6bf063fdea0626fa26a9d8093","author":{"email":"489479d8c84bc695c05fd2e995cb24864edad7e2@google.com","name":"Jakob Buchgraber"},"message":"Improve performance of AsciiString.equals(Object).\n\nMotivation:\n\nThe current implementation does byte by byte comparison, which we have seen\ncan be a performance bottleneck when the AsciiString is used as the key in\na Map.\n\nModifications:\n\nUse sun.misc.Unsafe (on supporting platforms) to compare up to eight bytes at a time\nand get closer to the performance of String.equals(Object).\n\nResult:\n\nSignificant improvement (2x - 6x) in performance over the current implementation.\n\nBenchmark                                             (size)   Mode   Samples        Score  Score error    Units\ni.n.m.i.PlatformDependentBenchmark.arraysBytesEqual       10  thrpt        10 118843477.518 2347259.347    ops/s\ni.n.m.i.PlatformDependentBenchmark.arraysBytesEqual       50  thrpt        10 43910319.773   198376.996    ops/s\ni.n.m.i.PlatformDependentBenchmark.arraysBytesEqual      100  thrpt        10 26339969.001   159599.252    ops/s\ni.n.m.i.PlatformDependentBenchmark.arraysBytesEqual     1000  thrpt        10  2873119.030    20779.056    ops/s\ni.n.m.i.PlatformDependentBenchmark.arraysBytesEqual    10000  thrpt        10   306370.450     1933.303    ops/s\ni.n.m.i.PlatformDependentBenchmark.arraysBytesEqual   100000  thrpt        10    25750.415      108.391    ops/s\ni.n.m.i.PlatformDependentBenchmark.unsafeBytesEqual       10  thrpt        10 248077563.510  635320.093    ops/s\ni.n.m.i.PlatformDependentBenchmark.unsafeBytesEqual       50  thrpt        10 128198943.138  614827.548    ops/s\ni.n.m.i.PlatformDependentBenchmark.unsafeBytesEqual      100  thrpt        10 86195621.349  1063959.307    ops/s\ni.n.m.i.PlatformDependentBenchmark.unsafeBytesEqual     1000  thrpt        10 16920264.598    61615.365    ops/s\ni.n.m.i.PlatformDependentBenchmark.unsafeBytesEqual    10000  thrpt        10  1687454.747     6367.602    ops/s\ni.n.m.i.PlatformDependentBenchmark.unsafeBytesEqual   100000  thrpt        10   153717.851      586.916    ops/s","distinct":true,"url":"https://api.github.com/repos/buchgr/netty/commits/58f496ed181e7ab6bf063fdea0626fa26a9d8093"}]}