Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve speed in MessageDigest and Hmac #54

Merged
merged 3 commits into from
Aug 28, 2019

Conversation

SalusaSecondus
Copy link
Contributor

Issue #: #52

Description of changes:

Improves handling of single-byte updates to both MessageDigest and Hmac by not using array copies and by removing unneeded synchronization. Both of these objects are not thread-safe to begin with and we only need to ensure we are synchronized when crossing the JNI boundary. We achieve this synchronization by taking a lock on the ctx (which is unique to each instance of the MessageDigest or Hmac SPI). We do this rather than use a standard synchronized method as passing a non-static method as a functional interface creates new lambda instances in memory and can reduce efficiency (due to object allocation/deallocation). This does not guarantee that there are no other threads updating the data arrays at the same time. Doing so may (correctly) create a corrupted result (as the behavior in this case is undefined). We are not worried about reading past the ends of these arrays (and creating memory errors) as the C++ code performs correct bounds checking on these arrays prior to use (within java_buffer).

Detailed benchmarks are being run, but initial results look promising:
tmp_md5_bench
tmp_sha1_bench

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@ private exceptional_behavior
@ requires buff.count <= buffSize - 1;
@ assignable \nothing;
@ signals_only ArrayIndexOutOfBoundsException;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a little confused by this. The behavior here is not documented in the javadoc (which appears to have been copied from a different function) and doesn't really make sense to me either; in particular, this appears to be an equivalent condition (modulo overflow) to the one on 385.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are for formal proofs of correctness. It has been slightly modified to take into account the hard coded length (of 1). We do not currently have this system running, but I'm avoiding bit-rot.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we know if these proofs are correct? The requires conditions seem to overlap to me, unless I'm missing something.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They were and we need to figure out how to reenable running of them. They have have drifted even separate from this PR. I'm trying to keep them as close to correct as possible.

src/com/amazon/corretto/crypto/provider/InputBuffer.java Outdated Show resolved Hide resolved
@ ensures canTakeData(bufferState);
@ also
@ public exceptional_behavior
@ requires buff.count <= buffSize - 1;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we throwing exceptions when the buffer count is within the buffer size?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not Java exceptions but for the formal verification. The listed line requires that the buffer count be valid.

@SalusaSecondus
Copy link
Contributor Author

Heap error. Restarted accp_github_pr.

@SalusaSecondus
Copy link
Contributor Author

Close and re-open to rerun status checks.

@SalusaSecondus
Copy link
Contributor Author

As accp_github_dieharder is an entropy test, it is necessarily flakey. The failure looks to be a standard issue from randomized testing and is unrelated to any changes in this code. This test should not block merging this change in.

@SalusaSecondus
Copy link
Contributor Author

We ran our benchmark suite for MessageDigest and HMac on an i3.metal instance with 16 simultaneous threads.
(No thread contention, just running in parallel.)

  • The only apparent degradation in speed is for SHA-256 when processing all 512 bytes at once and we don't see a similar pattern anywhere else.
    This suggests that there was some transient issue impacting our benchmark and we believe we can safely ignore this single data-point.
  • All other results are at least as good as the previous and often much better.
  • Hashing one byte at a time is universally faster than before (either ACCP 1.1.0, or the SUN provider).
  • The same speed improvements are clear for MACing a single byte at a time as well.
  • In general, we do not see any significant speed changes (relative to 1.1.0) for hashing 512 bytes at a time.
=================================================
HmacBenchmarks.mac-HmacMD5-512-false (java-baseline, accp-single_byte):         IMPROVED -33.584%
        Before: [36340.5486078881 38722.6840591038 41104.8195103196]
        After : [24127.4382572967 25718.1217888174 27308.8053203382]
HmacBenchmarks.mac-HmacMD5-512-false (accp-1.1.0, accp-single_byte): :  TIE
        Before: [25336.5311811111 25675.5525012143 26014.5738213175]
        After : [24127.4382572967 25718.1217888174 27308.8053203382]
=================================================
HmacBenchmarks.mac-HmacMD5-512-true (java-baseline, accp-single_byte):  IMPROVED -34.366%
        Before: [2671.39785813979 2701.88147310511 2732.36508807043]
        After : [1731.45284060553 1773.36019415919 1815.26754771285]
HmacBenchmarks.mac-HmacMD5-512-true (accp-1.1.0, accp-single_byte):     IMPROVED -7.470%
        Before: [1864.86948854491 1916.53369364626 1968.1978987476]
        After : [1731.45284060553 1773.36019415919 1815.26754771285]
=================================================
HmacBenchmarks.mac-HmacSHA1-512-false (java-baseline, accp-single_byte): :      TIE
        Before: [26068.796035827 33555.2874892661 41041.7789427052]
        After : [22659.8534922901 24406.0643658146 26152.275239339]
HmacBenchmarks.mac-HmacSHA1-512-false (accp-1.1.0, accp-single_byte): : TIE
        Before: [24277.3189125292 25304.6159798812 26331.9130472331]
        After : [22659.8534922901 24406.0643658146 26152.275239339]
=================================================
HmacBenchmarks.mac-HmacSHA1-512-true (java-baseline, accp-single_byte):         IMPROVED -58.321%
        Before: [3578.66615923831 3587.83558193184 3597.00500462537]
        After : [1455.96390809043 1495.37307342866 1534.78223876689]
HmacBenchmarks.mac-HmacSHA1-512-true (accp-1.1.0, accp-single_byte):    IMPROVED -5.619%
        Before: [1538.39293761803 1584.39278031606 1630.39262301409]
        After : [1455.96390809043 1495.37307342866 1534.78223876689]
=================================================
HmacBenchmarks.mac-HmacSHA256-512-false (java-baseline, accp-single_byte): :    TIE
        Before: [15370.4711570394 16929.3916353856 18488.3121137318]
        After : [12908.6312460266 21024.1779019787 29139.7245579309]
HmacBenchmarks.mac-HmacSHA256-512-false (accp-1.1.0, accp-single_byte): :       TIE
        Before: [13501.6781799143 24056.0019347383 34610.3256895622]
        After : [12908.6312460266 21024.1779019787 29139.7245579309]
=================================================
HmacBenchmarks.mac-HmacSHA256-512-true (java-baseline, accp-single_byte):       IMPROVED -54.724%
        Before: [5923.02451656711 5952.51148235349 5981.99844813988]
        After : [2661.3253913592 2695.03005194586 2728.73471253252]
HmacBenchmarks.mac-HmacSHA256-512-true (accp-1.1.0, accp-single_byte):  IMPROVED -2.254%
        Before: [2737.25909217236 2757.18628732657 2777.11348248077]
        After : [2661.3253913592 2695.03005194586 2728.73471253252]
=================================================
HmacBenchmarks.mac-HmacSHA384-512-false (java-baseline, accp-single_byte): :    TIE
        Before: [14943.8059574571 16441.7618443344 17939.7177312118]
        After : [5950.81195562974 21113.9404596033 36277.0689635769]
HmacBenchmarks.mac-HmacSHA384-512-false (accp-1.1.0, accp-single_byte): :       TIE
        Before: [10732.2123413002 22380.570783902 34028.9292265039]
        After : [5950.81195562974 21113.9404596033 36277.0689635769]
=================================================
HmacBenchmarks.mac-HmacSHA384-512-true (java-baseline, accp-single_byte):       IMPROVED -55.824%
        Before: [6016.57284079451 6082.35237751631 6148.1319142381]
        After : [2644.01843550751 2686.95523697975 2729.89203845198]
HmacBenchmarks.mac-HmacSHA384-512-true (accp-1.1.0, accp-single_byte):  IMPROVED -3.555%
        Before: [2769.18545654868 2785.99424518264 2802.80303381659]
        After : [2644.01843550751 2686.95523697975 2729.89203845198]
=================================================
HmacBenchmarks.mac-HmacSHA512-512-false (java-baseline, accp-single_byte): :    TIE
        Before: [15572.8866391188 16160.8746173996 16748.8625956805]
        After : [-7580.19921188997 19078.6707078392 45737.5406275684]
HmacBenchmarks.mac-HmacSHA512-512-false (accp-1.1.0, accp-single_byte): :       TIE
        Before: [-9744.72643329331 18658.7909024322 47062.3082381577]
        After : [-7580.19921188997 19078.6707078392 45737.5406275684]
=================================================
HmacBenchmarks.mac-HmacSHA512-512-true (java-baseline, accp-single_byte):       IMPROVED -54.853%
        Before: [6011.21999870071 6033.79952021302 6056.37904172532]
        After : [2687.71689338714 2724.07474213976 2760.43259089239]
HmacBenchmarks.mac-HmacSHA512-512-true (accp-1.1.0, accp-single_byte): :        TIE
        Before: [2738.85343389638 2824.62152016543 2910.38960643448]
        After : [2687.71689338714 2724.07474213976 2760.43259089239]
=================================================
HmacBenchmarks.macSingleByte-HmacMD5-512-false (java-baseline, accp-single_byte):       IMPROVED -56.331%
        Before: [14721.8517357797 14914.7514475945 15107.6511594094]
        After : [6345.31605404242 6513.14728336175 6680.97851268108]
HmacBenchmarks.macSingleByte-HmacMD5-512-false (accp-1.1.0, accp-single_byte):  IMPROVED -39.455%
        Before: [10629.7549737757 10757.5264236224 10885.2978734692]
        After : [6345.31605404242 6513.14728336175 6680.97851268108]
=================================================
HmacBenchmarks.macSingleByte-HmacMD5-512-true (java-baseline, accp-single_byte):        IMPROVED -54.974%
        Before: [12156.4360684421 12368.0333338928 12579.6305993435]
        After : [5450.62730628883 5568.8702675091 5687.11322872936]
HmacBenchmarks.macSingleByte-HmacMD5-512-true (accp-1.1.0, accp-single_byte):   IMPROVED -73.212%
        Before: [20416.8883978841 20789.011477365 21161.134556846]
        After : [5450.62730628883 5568.8702675091 5687.11322872936]
=================================================
HmacBenchmarks.macSingleByte-HmacSHA1-512-false (java-baseline, accp-single_byte):      IMPROVED -59.615%
        Before: [15594.8904086342 15755.8196824534 15916.7489562727]
        After : [6167.71149201656 6363.0433129346 6558.37513385265]
HmacBenchmarks.macSingleByte-HmacSHA1-512-false (accp-1.1.0, accp-single_byte):         IMPROVED -39.656%
        Before: [10337.3909482274 10544.5517658831 10751.7125835389]
        After : [6167.71149201656 6363.0433129346 6558.37513385265]
=================================================
HmacBenchmarks.macSingleByte-HmacSHA1-512-true (java-baseline, accp-single_byte):       IMPROVED -56.197%
        Before: [12222.5558422158 12490.2635130483 12757.9711838809]
        After : [5418.45689304573 5471.08384302017 5523.7107929946]
HmacBenchmarks.macSingleByte-HmacSHA1-512-true (accp-1.1.0, accp-single_byte):  IMPROVED -67.480%
        Before: [16511.0003579362 16823.5556112301 17136.1108645239]
        After : [5418.45689304573 5471.08384302017 5523.7107929946]
=================================================
HmacBenchmarks.macSingleByte-HmacSHA256-512-false (java-baseline, accp-single_byte):    IMPROVED -77.942%
        Before: [33651.2435236073 34164.8266642295 34678.4098048517]
        After : [7121.68972189027 7535.94077391701 7950.19182594376]
HmacBenchmarks.macSingleByte-HmacSHA256-512-false (accp-1.1.0, accp-single_byte):       IMPROVED -35.432%
        Before: [11310.5266999895 11671.3294626456 12032.1322253016]
        After : [7121.68972189027 7535.94077391701 7950.19182594376]
=================================================
HmacBenchmarks.macSingleByte-HmacSHA256-512-true (java-baseline, accp-single_byte):     IMPROVED -80.289%
        Before: [31989.7432445951 33251.2693865518 34512.7955285086]
        After : [6504.88482732175 6554.00128776348 6603.11774820522]
HmacBenchmarks.macSingleByte-HmacSHA256-512-true (accp-1.1.0, accp-single_byte):        IMPROVED -77.011%
        Before: [27076.1782989914 28508.8831567127 29941.588014434]
        After : [6504.88482732175 6554.00128776348 6603.11774820522]
=================================================
HmacBenchmarks.macSingleByte-HmacSHA384-512-false (java-baseline, accp-single_byte):    IMPROVED -74.931%
        Before: [28165.0471611827 29969.7930193738 31774.5388775648]
        After : [7444.12533723696 7513.09754099442 7582.06974475187]
HmacBenchmarks.macSingleByte-HmacSHA384-512-false (accp-1.1.0, accp-single_byte):       IMPROVED -36.451%
        Before: [11510.7101788747 11822.5695369372 12134.4288949996]
        After : [7444.12533723696 7513.09754099442 7582.06974475187]
=================================================
HmacBenchmarks.macSingleByte-HmacSHA384-512-true (java-baseline, accp-single_byte):     IMPROVED -76.883%
        Before: [28242.2990120465 29142.1869427417 30042.0748734369]
        After : [6654.69587760677 6736.90095282227 6819.10602803777]
HmacBenchmarks.macSingleByte-HmacSHA384-512-true (accp-1.1.0, accp-single_byte):        IMPROVED -73.261%
        Before: [24564.9810210229 25194.7793133339 25824.5776056449]
        After : [6654.69587760677 6736.90095282227 6819.10602803777]
=================================================
HmacBenchmarks.macSingleByte-HmacSHA512-512-false (java-baseline, accp-single_byte):    IMPROVED -74.836%
        Before: [29171.8828984682 30003.3554550701 30834.828011672]
        After : [7341.32519097648 7549.96965893906 7758.61412690165]
HmacBenchmarks.macSingleByte-HmacSHA512-512-false (accp-1.1.0, accp-single_byte):       IMPROVED -35.537%
        Before: [11451.7655808764 11712.0340683917 11972.3025559071]
        After : [7341.32519097648 7549.96965893906 7758.61412690165]
=================================================
HmacBenchmarks.macSingleByte-HmacSHA512-512-true (java-baseline, accp-single_byte):     IMPROVED -77.520%
        Before: [29861.0228262289 30178.5768527334 30496.130879238]
        After : [6594.30963866226 6784.06102544303 6973.8124122238]
HmacBenchmarks.macSingleByte-HmacSHA512-512-true (accp-1.1.0, accp-single_byte):        IMPROVED -62.543%
        Before: [17840.3540696218 18111.5015212868 18382.6489729518]
        After : [6594.30963866226 6784.06102544303 6973.8124122238]
=================================================
MessageDigestBenchmarks.hash-MD5-512-false (java-baseline, accp-single_byte): : TIE
        Before: [12764.1575263116 14369.1487581606 15974.1399900097]
        After : [12879.7355080813 13443.6591947143 14007.5828813474]
MessageDigestBenchmarks.hash-MD5-512-false (accp-1.1.0, accp-single_byte): :    TIE
        Before: [13485.5155597604 14416.3696949663 15347.2238301722]
        After : [12879.7355080813 13443.6591947143 14007.5828813474]
=================================================
MessageDigestBenchmarks.hash-MD5-512-true (java-baseline, accp-single_byte):    IMPROVED -32.321%
        Before: [1899.71050903089 1913.71835895742 1927.72620888395]
        After : [1262.49197409963 1295.18067308888 1327.86937207814]
MessageDigestBenchmarks.hash-MD5-512-true (accp-1.1.0, accp-single_byte):       IMPROVED -13.893%
        Before: [1485.43930570318 1504.15004225089 1522.86077879859]
        After : [1262.49197409963 1295.18067308888 1327.86937207814]
=================================================
MessageDigestBenchmarks.hash-SHA-1-512-false (java-baseline, accp-single_byte): :       TIE
        Before: [11564.2906541956 13775.4780804226 15986.6655066495]
        After : [12418.635397736 13024.4484090916 13630.2614204472]
MessageDigestBenchmarks.hash-SHA-1-512-false (accp-1.1.0, accp-single_byte): :  TIE
        Before: [12498.3644601053 12757.4546796482 13016.5448991911]
        After : [12418.635397736 13024.4484090916 13630.2614204472]
=================================================
MessageDigestBenchmarks.hash-SHA-1-512-true (java-baseline, accp-single_byte):  IMPROVED -60.244%
        Before: [2680.77851131788 2705.15895407663 2729.53939683539]
        After : [1056.15920366899 1075.47147859161 1094.78375351423]
MessageDigestBenchmarks.hash-SHA-1-512-true (accp-1.1.0, accp-single_byte):     IMPROVED -7.643%
        Before: [1130.92290775521 1164.47555680861 1198.02820586201]
        After : [1056.15920366899 1075.47147859161 1094.78375351423]
=================================================
MessageDigestBenchmarks.hash-SHA-256-512-false (java-baseline, accp-single_byte):       DEGRADED 105.165%
        Before: [5773.27235763782 7213.54984324653 8653.82732885524]
        After : [11181.7958931115 14799.6913372741 18417.5867814367]
MessageDigestBenchmarks.hash-SHA-256-512-false (accp-1.1.0, accp-single_byte): :        TIE
        Before: [13053.1293948344 15493.6798055618 17934.2302162892]
        After : [11181.7958931115 14799.6913372741 18417.5867814367]
=================================================
MessageDigestBenchmarks.hash-SHA-256-512-true (java-baseline, accp-single_byte):        IMPROVED -54.847%
        Before: [4268.11275065624 4331.4753648252 4394.83797899416]
        After : [1933.09129499355 1955.80449148206 1978.51768797058]
MessageDigestBenchmarks.hash-SHA-256-512-true (accp-1.1.0, accp-single_byte):   IMPROVED -6.178%
        Before: [2077.54686125668 2084.57960180484 2091.612342353]
        After : [1933.09129499355 1955.80449148206 1978.51768797058]
=================================================
MessageDigestBenchmarks.hash-SHA-384-512-false (java-baseline, accp-single_byte): :     TIE
        Before: [13738.0007830381 13977.6861557992 14217.3715285604]
        After : [9460.34098027675 13553.9830547548 17647.6251292328]
MessageDigestBenchmarks.hash-SHA-384-512-false (accp-1.1.0, accp-single_byte): :        TIE
        Before: [14314.426877068 15160.6724899272 16006.9181027865]
        After : [9460.34098027675 13553.9830547548 17647.6251292328]
=================================================
MessageDigestBenchmarks.hash-SHA-384-512-true (java-baseline, accp-single_byte):        IMPROVED -54.676%
        Before: [3708.61390804974 3718.43861403042 3728.2633200111]
        After : [1659.5200785028 1685.33313026299 1711.14618202318]
MessageDigestBenchmarks.hash-SHA-384-512-true (accp-1.1.0, accp-single_byte): : TIE
        Before: [1708.08019562238 1751.32189324173 1794.56359086108]
        After : [1659.5200785028 1685.33313026299 1711.14618202318]
=================================================
MessageDigestBenchmarks.hash-SHA-512-512-false (java-baseline, accp-single_byte): :     TIE
        Before: [13726.7527059735 13998.2200790871 14269.6874522007]
        After : [13871.5943232512 15080.9481872688 16290.3020512863]
MessageDigestBenchmarks.hash-SHA-512-512-false (accp-1.1.0, accp-single_byte): :        TIE
        Before: [13589.8728845195 14578.5165264224 15567.1601683254]
        After : [13871.5943232512 15080.9481872688 16290.3020512863]
=================================================
MessageDigestBenchmarks.hash-SHA-512-512-true (java-baseline, accp-single_byte):        IMPROVED -55.002%
        Before: [3648.05333830214 3687.4091371361 3726.76493597006]
        After : [1629.34593705434 1659.2451716599 1689.14440626546]
MessageDigestBenchmarks.hash-SHA-512-512-true (accp-1.1.0, accp-single_byte): : TIE
        Before: [1682.42615587257 1734.37693091623 1786.32770595989]
        After : [1629.34593705434 1659.2451716599 1689.14440626546]
=================================================
MessageDigestBenchmarks.hashSingleByte-MD5-512-false (java-baseline, accp-single_byte):         IMPROVED -40.727%
        Before: [9078.2442812593 9266.58269912074 9454.92111698218]
        After : [5211.55589166939 5492.59644911564 5773.63700656188]
MessageDigestBenchmarks.hashSingleByte-MD5-512-false (accp-1.1.0, accp-single_byte):    IMPROVED -42.094%
        Before: [9395.25718630083 9485.42087324307 9575.58456018531]
        After : [5211.55589166939 5492.59644911564 5773.63700656188]
=================================================
MessageDigestBenchmarks.hashSingleByte-MD5-512-true (java-baseline, accp-single_byte):  IMPROVED -46.354%
        Before: [9658.22569322714 9806.37205209949 9954.51841097185]
        After : [5210.0522918593 5260.72509260727 5311.39789335524]
MessageDigestBenchmarks.hashSingleByte-MD5-512-true (accp-1.1.0, accp-single_byte):     IMPROVED -70.511%
        Before: [17494.3524841885 17839.9085807501 18185.4646773117]
        After : [5210.0522918593 5260.72509260727 5311.39789335524]
=================================================
MessageDigestBenchmarks.hashSingleByte-SHA-1-512-false (java-baseline, accp-single_byte):       IMPROVED -43.241%
        Before: [9515.23077372947 9623.45327084478 9731.67576796009]
        After : [5286.75465869908 5462.14545062711 5637.53624255513]
MessageDigestBenchmarks.hashSingleByte-SHA-1-512-false (accp-1.1.0, accp-single_byte):  IMPROVED -40.449%
        Before: [9072.4757335431 9172.24763347343 9272.01953340376]
        After : [5286.75465869908 5462.14545062711 5637.53624255513]
=================================================
MessageDigestBenchmarks.hashSingleByte-SHA-1-512-true (java-baseline, accp-single_byte):        IMPROVED -53.443%
        Before: [10762.2375280694 10825.9677478734 10889.6979676774]
        After : [4853.2070424334 5040.28295582478 5227.35886921615]
MessageDigestBenchmarks.hashSingleByte-SHA-1-512-true (accp-1.1.0, accp-single_byte):   IMPROVED -70.359%
        Before: [16885.3022135031 17004.6892463732 17124.0762792433]
        After : [4853.2070424334 5040.28295582478 5227.35886921615]
=================================================
MessageDigestBenchmarks.hashSingleByte-SHA-256-512-false (java-baseline, accp-single_byte):     IMPROVED -49.039%
        Before: [11473.1897966405 11668.989404119 11864.7890115975]
        After : [5866.64439525658 5946.60494998976 6026.56550472294]
MessageDigestBenchmarks.hashSingleByte-SHA-256-512-false (accp-1.1.0, accp-single_byte):        IMPROVED -41.084%
        Before: [9950.87277277267 10093.3267269238 10235.7806810749]
        After : [5866.64439525658 5946.60494998976 6026.56550472294]
=================================================
MessageDigestBenchmarks.hashSingleByte-SHA-256-512-true (java-baseline, accp-single_byte):      IMPROVED -48.326%
        Before: [11020.1114815562 11276.0405130501 11531.9695445439]
        After : [5704.29659078855 5826.7513960573 5949.20620132604]
MessageDigestBenchmarks.hashSingleByte-SHA-256-512-true (accp-1.1.0, accp-single_byte):         IMPROVED -67.835%
        Before: [17943.1523612198 18115.4081433868 18287.6639255539]
        After : [5704.29659078855 5826.7513960573 5949.20620132604]
=================================================
MessageDigestBenchmarks.hashSingleByte-SHA-384-512-false (java-baseline, accp-single_byte):     IMPROVED -49.332%
        Before: [11284.1695275555 11402.6607275609 11521.1519275663]
        After : [5585.98378631126 5777.48630487495 5968.98882343864]
MessageDigestBenchmarks.hashSingleByte-SHA-384-512-false (accp-1.1.0, accp-single_byte):        IMPROVED -40.904%
        Before: [9662.87710119576 9776.41690091337 9889.95670063099]
        After : [5585.98378631126 5777.48630487495 5968.98882343864]
=================================================
MessageDigestBenchmarks.hashSingleByte-SHA-384-512-true (java-baseline, accp-single_byte):      IMPROVED -46.973%
        Before: [10160.959253651 10554.1104461789 10947.2616387067]
        After : [5575.57957620642 5596.53595630273 5617.49233639903]
MessageDigestBenchmarks.hashSingleByte-SHA-384-512-true (accp-1.1.0, accp-single_byte):         IMPROVED -68.761%
        Before: [17381.2666729966 17915.0001525599 18448.7336321233]
        After : [5575.57957620642 5596.53595630273 5617.49233639903]
=================================================
MessageDigestBenchmarks.hashSingleByte-SHA-512-512-false (java-baseline, accp-single_byte):     IMPROVED -50.176%
        Before: [11266.3213571881 11407.8246437532 11549.3279303183]
        After : [5555.70518085793 5683.85252321102 5811.9998655641]
MessageDigestBenchmarks.hashSingleByte-SHA-512-512-false (accp-1.1.0, accp-single_byte):        IMPROVED -41.589%
        Before: [9640.70965511957 9730.82570977649 9820.9417644334]
        After : [5555.70518085793 5683.85252321102 5811.9998655641]
=================================================
MessageDigestBenchmarks.hashSingleByte-SHA-512-512-true (java-baseline, accp-single_byte):      IMPROVED -49.352%
        Before: [9971.21432574677 11111.5474619572 12251.8805981676]
        After : [5306.79883760216 5627.81442557497 5948.83001354778]
MessageDigestBenchmarks.hashSingleByte-SHA-512-512-true (accp-1.1.0, accp-single_byte):         IMPROVED -67.956%
        Before: [17419.7144936054 17562.6265216005 17705.5385495956]
        After : [5306.79883760216 5627.81442557497 5948.83001354778]

@SalusaSecondus SalusaSecondus merged commit 09a246c into corretto:develop Aug 28, 2019
@SalusaSecondus SalusaSecondus deleted the one_byte branch August 28, 2019 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants