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

WIP [OpaqueValues] Initial enabling. #62495

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

nate-chandler
Copy link
Contributor

Test enabling opaque values.

@nate-chandler
Copy link
Contributor Author

@swift-ci please benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please test

@nate-chandler
Copy link
Contributor Author

------- Performance (x86_64): -O -------

REGRESSION                                                 OLD         NEW         DELTA     RATIO    
SubstringComparable                                        8.056       18.286      +127.0%   **0.44x**
SubstringEquatable                                         343.6       688.333     +100.3%   **0.50x**
Set.isSuperset.Seq.Box25                                   62.938      114.737     +82.3%    **0.55x**
Set.isDisjoint.Seq.Box25                                   198.5       347.571     +75.1%    **0.57x**
Set.isDisjoint.Seq.Box0                                    267.625     467.8       +74.8%    **0.57x**
Set.isSuperset.Seq.Box0                                    138.538     199.4       +43.9%    **0.69x (?)**
ChainedFilterMap                                           499.05      703.688     +41.0%    **0.71x**
SetUnionBox25                                              215.778     290.0       +34.4%    **0.74x (?)**
UTF8Decode_InitFromCustom_contiguous                       122.357     162.364     +32.7%    **0.75x (?)**
UTF8Decode_InitDecoding                                    121.385     160.7       +32.4%    **0.76x (?)**
RawBufferInitializeMemory                                  66.286      87.125      +31.4%    **0.76x (?)**
ReversedBidirectional                                      6261.0      8188.0      +30.8%    **0.76x**
SequenceAlgosArray                                         1140.476    1460.625    +28.1%    **0.78x (?)**
Set.isDisjoint.Seq.Int.Empty                               39.19       49.438      +26.1%    **0.79x (?)**
RemoveWhereFilterStrings                                   296.5       373.2       +25.9%    **0.79x (?)**
SequenceAlgosRange                                         1742.5      2178.75     +25.0%    **0.80x (?)**
KeyPathNestedClasses                                       181.583     221.9       +22.2%    **0.82x (?)**
UTF8Decode_InitDecoding_ascii_as_ascii                     177.2       213.571     +20.5%    **0.83x (?)**
DifferentiationArraySum                                    1249.0      1497.0      +19.9%    **0.83x (?)**
DropLastAnySequenceLazy                                    2927.0      3477.0      +18.8%    **0.84x (?)**
SuffixAnySequenceLazy                                      2802.0      3315.0      +18.3%    **0.85x (?)**
KeyPathClassStructs                                        472.0       557.0       +18.0%    **0.85x (?)**
MapReduceLazyCollectionShort                               26.115      30.793      +17.9%    **0.85x (?)**
SetUnion_OfObjects                                         3508.333    4132.0      +17.8%    **0.85x (?)**
SetUnionBox0                                               351.167     413.4       +17.7%    **0.85x (?)**
ArrayAppendLazyMap                                         1446.0      1702.0      +17.7%    **0.85x (?)**
CharIndexing_tweet_unicodeScalars_Backwards                7764.0      9095.0      +17.1%    **0.85x (?)**
UTF8Decode_InitFromCustom_noncontiguous                    240.625     281.8       +17.1%    **0.85x (?)**
KeyPathGet                                                 210.8       246.556     +17.0%    **0.85x (?)**
Data.init.Sequence.2049B.Count.I                           10.019      11.704      +16.8%    **0.86x (?)**
Data.init.Sequence.2047B.Count.I                           9.958       11.63       +16.8%    **0.86x (?)**
CharIndexing_ascii_unicodeScalars_Backwards                3952.0      4603.636    +16.5%    **0.86x (?)**
String.data.Empty                                          29.478      34.333      +16.5%    **0.86x (?)**
SetSymmetricDifferenceBox25                                292.5       336.143     +14.9%    **0.87x (?)**
Data.append.Sequence.64kB.Count                            2.667       3.063       +14.8%    **0.87x (?)**
Data.append.Sequence.64kB.Count.I                          2.688       3.084       +14.7%    **0.87x (?)**
String.data.Small                                          31.36       35.792      +14.1%    **0.88x (?)**
WordCountHistogramASCII                                    2498.305    2847.273    +14.0%    **0.88x (?)**
String.data.Medium                                         62.591      71.222      +13.8%    **0.88x (?)**
Data.init.Sequence.809B.Count.I                            16.222      18.429      +13.6%    **0.88x (?)**
SetSymmetricDifferenceBox0                                 411.2       464.25      +12.9%    **0.89x (?)**
CharIndexing_punctuated_unicodeScalars_Backwards           945.455     1066.939    +12.8%    **0.89x (?)**
SetExclusiveOr_OfObjects                                   4112.0      4637.5      +12.8%    **0.89x (?)**
CharIndexing_chinese_unicodeScalars_Backwards              3738.667    4195.0      +12.2%    **0.89x (?)**
Data.init.Sequence.809B.Count                              16.188      18.114      +11.9%    **0.89x (?)**
KeyPathMutatingGetset                                      219.778     245.889     +11.9%    **0.89x (?)**
WordCountHistogramUTF16                                    2812.903    3140.0      +11.6%    **0.90x (?)**
CharIndexing_japanese_unicodeScalars_Backwards             6309.091    7008.889    +11.1%    **0.90x (?)**
CStringLongNonAscii                                        142.636     158.3       +11.0%    **0.90x (?)**
DictionaryGroupOfObjects                                   951.188     1049.625    +10.3%    **0.91x (?)**
Set.isStrictSubset.Seq.Int100                              196.1       216.0       +10.1%    **0.91x (?)**
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards   963.75      1057.647    +9.7%     **0.91x (?)**
Diffing.PangramToAlphabet                                  1192.0      1305.0      +9.5%     **0.91x (?)**
Dictionary3OfObjects                                       342.4       374.0       +9.2%     **0.92x (?)**
Set.isStrictSubset.Seq.Int50                               96.588      105.278     +9.0%     **0.92x (?)**
PointerArithmetics                                         17422.222   18971.429   +8.9%     **0.92x (?)**
CharIndexing_russian_unicodeScalars_Backwards              4341.333    4726.154    +8.9%     **0.92x (?)**
Set.isSubset.Seq.Int0                                      174.3       188.4       +8.1%     **0.93x (?)**
CharIndexing_korean_unicodeScalars_Backwards               5200.0      5612.308    +7.9%     **0.93x (?)**
Set.isStrictSubset.Seq.Int25                               47.154      50.84       +7.8%     **0.93x (?)**
DictionarySwapOfObjects                                    4743.333    5109.091    +7.7%     **0.93x (?)**

IMPROVEMENT                                                OLD         NEW         DELTA     RATIO    
PrefixWhileAnyCollectionLazy                               21.739      14.261      -34.4%    **1.52x**
MapReduceLazySequence                                      66.0        43.348      -34.3%    **1.52x**
PrefixWhileAnySeqCRangeIterLazy                            21.689      14.34       -33.9%    **1.51x**
PrefixWhileAnySeqCntRangeLazy                              21.667      14.354      -33.8%    **1.51x**
Dictionary4                                                225.375     153.182     -32.0%    **1.47x (?)**
MapReduceAnyCollection                                     123.7       86.364      -30.2%    **1.43x**
Dictionary4OfObjects                                       270.714     210.5       -22.2%    **1.29x (?)**
FlattenListLoop                                            1615.0      1290.0      -20.1%    **1.25x (?)**
MapReduceClass2                                            12.479      10.577      -15.2%    **1.18x (?)**
LazilyFilteredArrayContains                                10538.889   9255.0      -12.2%    **1.14x (?)**
CharIteration_tweet_unicodeScalars                         4575.385    4026.667    -12.0%    **1.14x (?)**
CharIteration_ascii_unicodeScalars                         2321.538    2055.238    -11.5%    **1.13x (?)**
ProtocolDispatch2                                          85.625      76.294      -10.9%    **1.12x (?)**
CharIteration_utf16_unicodeScalars                         2957.143    2640.0      -10.7%    **1.12x (?)**
StringBuilderSmallReservingCapacity                        234.125     210.222     -10.2%    **1.11x (?)**
Data.hash.Medium                                           27.0        24.394      -9.7%     **1.11x (?)**
StaticArray                                                1.707       1.551       -9.1%     **1.10x (?)**
CharIteration_punctuated_unicodeScalars                    526.197     479.0       -9.0%     **1.10x (?)**
StringBuilder                                              222.2       202.556     -8.8%     **1.10x (?)**
StringAdder                                                283.143     259.571     -8.3%     **1.09x (?)**
Set.isDisjoint.Seq.Box.Empty                               87.5        80.583      -7.9%     **1.09x (?)**
DataToStringEmpty                                          708.929     656.25      -7.4%     **1.08x (?)**
CharacterLiteralsLarge                                     63.158      58.786      -6.9%     **1.07x (?)**
CharIteration_korean_unicodeScalars                        2563.636    2387.2      -6.9%     **1.07x (?)**
CharIteration_japanese_unicodeScalars_Backwards            7008.0      6548.0      -6.6%     **1.07x (?)**

------- Code size: -O -------

REGRESSION                                         OLD      NEW      DELTA    RATIO  
StrToInt.o                                         5362     5840     +8.9%    **0.92x**
DictionaryKeysContains.o                           8149     8533     +4.7%    **0.95x**
BinaryFloatingPointConversionFromBinaryInteger.o   30328    31544    +4.0%    **0.96x**
DictionaryOfAnyHashableStrings.o                   7848     8114     +3.4%    **0.97x**
DictionaryLiteralTest.o                            1336     1377     +3.1%    **0.97x**
DriverUtils.o                                      144956   149316   +3.0%    **0.97x**
SortIntPyramids.o                                  8818     9075     +2.9%    **0.97x**
WordCount.o                                        37169    38217    +2.8%    **0.97x**
ProtocolDispatch2.o                                1577     1609     +2.0%    **0.98x**
DictionarySwap.o                                   17217    17489    +1.6%    **0.98x**
SequenceAlgos.o                                    21044    21284    +1.1%    **0.99x**
DictionaryCopy.o                                   8732     8828     +1.1%    **0.99x**
ArrayLiteral.o                                     2989     3021     +1.1%    **0.99x**
RemoveWhere.o                                      15171    15331    +1.1%    **0.99x**

IMPROVEMENT                                        OLD      NEW      DELTA    RATIO  
PrefixWhile.o                                      15647    13995    -10.6%   **1.12x**
CharacterLiteralsLarge.o                           1066     986      -7.5%    **1.08x**
ByteSwap.o                                         1569     1505     -4.1%    **1.04x**
PointerArithmetics.o                               1662     1614     -2.9%    **1.03x**
Fibonacci.o                                        1505     1473     -2.1%    **1.02x**
Hanoi.o                                            3024     2960     -2.1%    **1.02x**
Integrate.o                                        2326     2278     -2.1%    **1.02x**
Ackermann.o                                        1780     1748     -1.8%    **1.02x**
SubstringTest.o                                    19829    19525    -1.5%    **1.02x**
ArrayOfGenericRef.o                                8054     7934     -1.5%    **1.02x**
ArrayOfRef.o                                       8083     7963     -1.5%    **1.02x**
SortLettersInPlace.o                               8664     8551     -1.3%    **1.01x**
RGBHistogram.o                                     20514    20290    -1.1%    **1.01x**
SetTests.o                                         140481   139033   -1.0%    **1.01x**

------- Performance (x86_64): -Osize -------

REGRESSION                                               OLD        NEW         DELTA     RATIO    
SubstringComparable                                      6.966      19.056      +173.5%   **0.37x**
SubstringEquatable                                       342.833    704.667     +105.5%   **0.49x**
Data.init.Sequence.64kB.Count                            29.444     58.0        +97.0%    **0.51x**
Data.init.Sequence.64kB.Count.I                          29.462     58.0        +96.9%    **0.51x**
Data.append.Sequence.64kB.Count                          29.857     58.385      +95.5%    **0.51x**
Data.append.Sequence.64kB.Count.I                        29.9       58.435      +95.4%    **0.51x**
DropFirstArray                                           13.88      26.853      +93.5%    **0.52x**
Data.init.Sequence.2047B.Count.I                         52.65      98.563      +87.2%    **0.53x**
Data.init.Sequence.2049B.Count.I                         52.667     98.588      +87.2%    **0.53x**
Data.init.Sequence.809B.Count.I                          50.619     85.611      +69.1%    **0.59x**
Data.init.Sequence.809B.Count                            50.619     85.611      +69.1%    **0.59x**
SumUsingReduceInto                                       282.857    439.8       +55.5%    **0.64x**
Data.append.Sequence.809B.Count                          63.0       97.875      +55.4%    **0.64x (?)**
Data.append.Sequence.809B.Count.I                        63.421     97.933      +54.4%    **0.65x (?)**
Data.init.Sequence.511B.Count.I                          60.818     93.833      +54.3%    **0.65x**
Data.init.Sequence.513B.Count.I                          61.0       94.059      +54.2%    **0.65x (?)**
SuffixCountableRangeLazy                                 6.094      9.019       +48.0%    **0.68x**
FlattenListFlatMap                                       3012.0     4260.0      +41.4%    **0.71x (?)**
Set.isStrictSuperset.Seq.Empty.Int                       130.692    174.455     +33.5%    **0.75x**
PrefixWhileArrayLazy                                     20.234     26.882      +32.9%    **0.75x (?)**
UTF8Decode_InitDecoding                                  122.25     161.545     +32.1%    **0.76x (?)**
Set.isStrictSubset.Seq.Int.Empty                         132.846    175.364     +32.0%    **0.76x**
UTF8Decode_InitFromCustom_contiguous                     123.071    161.636     +31.3%    **0.76x (?)**
Set.isSubset.Seq.Int.Empty                               134.0      175.4       +30.9%    **0.76x (?)**
ReversedBidirectional                                    7667.0     9765.0      +27.4%    **0.79x**
DictionaryLiteral                                        2208.75    2807.143    +27.1%    **0.79x (?)**
StrComplexWalk                                           2797.143   3542.0      +26.6%    **0.79x (?)**
RemoveWhereFilterStrings                                 296.571    373.0       +25.8%    **0.80x**
Set.filter.Int100.24k                                    31.338     39.188      +25.0%    **0.80x (?)**
KeyPathNestedClasses                                     181.833    223.7       +23.0%    **0.81x (?)**
Ackermann2                                               172.929    209.909     +21.4%    **0.82x (?)**
DifferentiationArraySum                                  1243.0     1498.0      +20.5%    **0.83x (?)**
ExclusivityIndependent                                   1.63       1.961       +20.3%    **0.83x (?)**
Set.isStrictSuperset.Seq.Int0                            20.986     25.235      +20.2%    **0.83x (?)**
StaticArray                                              1.62       1.948       +20.2%    **0.83x (?)**
SetUnionBox25                                            278.75     334.571     +20.0%    **0.83x**
UTF8Decode_InitDecoding_ascii_as_ascii                   186.7      224.0       +20.0%    **0.83x**
PrefixWhileAnySequence                                   185.778    222.667     +19.9%    **0.83x (?)**
KeyPathClassStructs                                      477.5      568.0       +19.0%    **0.84x (?)**
SuffixAnySequenceLazy                                    3063.0     3641.0      +18.9%    **0.84x**
ArrayAppendLazyMap                                       1430.0     1678.0      +17.3%    **0.85x (?)**
KeyPathMutatingGetset                                    218.1      255.444     +17.1%    **0.85x (?)**
String.data.Empty                                        30.053     34.75       +15.6%    **0.86x (?)**
CharIndexing_tweet_unicodeScalars_Backwards              15128.0    17480.0     +15.5%    **0.87x (?)**
SequenceAlgosContiguousArray                             1711.429   1973.333    +15.3%    **0.87x**
DropLastAnySequenceLazy                                  3121.0     3597.0      +15.3%    **0.87x**
Set.filter.Int100.28k                                    38.067     43.827      +15.1%    **0.87x (?)**
Set.filter.Int100.20k                                    26.333     30.12       +14.4%    **0.87x (?)**
PrefixAnySeqCntRange                                     94.0       107.417     +14.3%    **0.88x (?)**
PrefixAnySeqCRangeIter                                   94.0       107.333     +14.2%    **0.88x (?)**
String.data.Small                                        31.8       36.167      +13.7%    **0.88x (?)**
SetUnion_OfObjects                                       4152.0     4707.5      +13.4%    **0.88x (?)**
DictionaryGroupOfObjects                                 999.529    1132.8      +13.3%    **0.88x (?)**
KeyPathGet                                               215.7      244.333     +13.3%    **0.88x (?)**
KeyPathOptionals                                         632.333    713.667     +12.9%    **0.89x (?)**
DataSubscriptSmall                                       17.413     19.588      +12.5%    **0.89x (?)**
Set.filter.Int100.16k                                    21.506     24.154      +12.3%    **0.89x**
BucketSort                                               142.333    159.154     +11.8%    **0.89x (?)**
SIMDReduce.Int32x16.Cast                                 58.586     65.342      +11.5%    **0.90x (?)**
StringWalk                                               1254.4     1393.333    +11.1%    **0.90x (?)**
CStringLongNonAscii                                      143.727    159.1       +10.7%    **0.90x (?)**
Set.isStrictSubset.Int.Empty                             40.839     45.075      +10.4%    **0.91x (?)**
LazilyFilteredArrayContains                              33350.0    36783.333   +10.3%    **0.91x (?)**
Diffing.ReversedAlphabets                                196.333    216.333     +10.2%    **0.91x (?)**
ArrayLiteral2                                            87.111     95.824      +10.0%    **0.91x (?)**
NormalizedIterator_fastPrenormal                         502.449    552.444     +10.0%    **0.91x (?)**
CharIndexing_ascii_unicodeScalars_Backwards              7666.667   8391.111    +9.4%     **0.91x (?)**
Fibonacci2                                               113.533    124.214     +9.4%     **0.91x (?)**
SuffixAnySeqCntRangeLazy                                 44611.0    48590.0     +8.9%     **0.92x (?)**
CharIndexing_utf16_unicodeScalars_Backwards              8725.0     9495.0      +8.8%     **0.92x (?)**
Dictionary3OfObjects                                     416.75     450.5       +8.1%     **0.93x (?)**
SuffixAnySeqCRangeIterLazy                               44852.0    48375.0     +7.9%     **0.93x (?)**
SetExclusiveOr_OfObjects                                 4884.0     5267.5      +7.9%     **0.93x (?)**
String.replaceSubrange.RepChar.Small                     332.2      357.8       +7.7%     **0.93x (?)**
DropLastAnySeqCRangeIterLazy                             45545.0    49052.0     +7.7%     **0.93x (?)**
SortStrings                                              471.25     507.0       +7.6%     **0.93x (?)**

IMPROVEMENT                                              OLD        NEW         DELTA     RATIO    
PrefixArray                                              26.848     13.795      -48.6%    **1.95x (?)**
DropFirstArrayLazy                                       26.839     13.863      -48.3%    **1.94x**
DropLastArray                                            9.022      4.99        -44.7%    **1.81x (?)**
SuffixArray                                              9.0        5.24        -41.8%    **1.72x**
PrefixSequenceLazy                                       40.258     26.889      -33.2%    **1.50x (?)**
PrefixSequence                                           40.25      26.889      -33.2%    **1.50x**
CharIndexing_ascii_unicodeScalars                        5592.727   3747.5      -33.0%    **1.49x**
CharIndexing_tweet_unicodeScalars                        11050.0    7416.0      -32.9%    **1.49x**
PrefixCountableRangeLazy                                 26.862     18.48       -31.2%    **1.45x**
CharIndexing_punctuated_unicodeScalars                   1245.556   866.667     -30.4%    **1.44x**
PrefixWhileAnySeqCntRangeLazy                            121.0      87.778      -27.5%    **1.38x**
PrefixWhileAnySeqCRangeIterLazy                          121.0      87.8        -27.4%    **1.38x**
CharIndexing_chinese_unicodeScalars                      4709.333   3452.5      -26.7%    **1.36x (?)**
DropFirstAnyCollection                                   115.0      85.091      -26.0%    **1.35x**
Dictionary4                                              215.714    160.3       -25.7%    **1.35x (?)**
CharIndexing_korean_unicodeScalars                       6186.667   4676.923    -24.4%    **1.32x (?)**
CharIndexing_japanese_unicodeScalars                     7724.444   5840.0      -24.4%    **1.32x (?)**
SequenceAlgosArray                                       2400.0     1823.077    -24.0%    **1.32x**
PrefixAnySeqCntRangeLazy                                 123.714    94.333      -23.7%    **1.31x (?)**
CharIndexing_utf16_unicodeScalars                        6471.111   4949.091    -23.5%    **1.31x (?)**
DropWhileAnyCollection                                   120.357    93.563      -22.3%    **1.29x (?)**
PrefixWhileAnyCollectionLazy                             121.154    94.235      -22.2%    **1.29x (?)**
DropWhileAnyCollectionLazy                               161.429    125.727     -22.1%    **1.28x (?)**
PrefixAnySeqCRangeIterLazy                               121.0      94.294      -22.1%    **1.28x (?)**
CharIndexing_punctuatedJapanese_unicodeScalars           1141.25    890.909     -21.9%    **1.28x (?)**
DropFirstAnySeqCntRangeLazy                              146.091    116.308     -20.4%    **1.26x**
DropFirstAnySeqCRangeIterLazy                            146.083    116.308     -20.4%    **1.26x (?)**
SuffixAnySequence                                        122.143    98.063      -19.7%    **1.25x**
DropWhileAnySeqCRangeIterLazy                            181.3      148.333     -18.2%    **1.22x (?)**
DropWhileAnySeqCntRangeLazy                              181.222    148.273     -18.2%    **1.22x (?)**
PrefixWhileAnyCollection                                 152.083    126.529     -16.8%    **1.20x (?)**
UTF8Decode_InitFromCustom_noncontiguous_ascii            818.5      693.667     -15.3%    **1.18x (?)**
CharIteration_ascii_unicodeScalars_Backwards             4751.429   4045.333    -14.9%    **1.17x (?)**
CharIteration_tweet_unicodeScalars_Backwards             9382.222   8005.0      -14.7%    **1.17x (?)**
UTF8Decode_InitFromCustom_noncontiguous_ascii_as_ascii   918.0      785.5       -14.4%    **1.17x (?)**
ObjectiveCBridgeStubDateAccess                           152.538    130.733     -14.3%    **1.17x (?)**
FlattenListLoop                                          1617.0     1386.0      -14.3%    **1.17x (?)**
RemoveWhereMoveInts                                      13.646     11.745      -13.9%    **1.16x (?)**
DropFirstAnySeqCntRange                                  107.333    93.867      -12.5%    **1.14x (?)**
DropFirstAnySeqCRangeIter                                107.333    93.875      -12.5%    **1.14x (?)**
DataCountMedium                                          17.417     15.234      -12.5%    **1.14x (?)**
CharIteration_punctuated_unicodeScalars_Backwards        1084.848   950.943     -12.3%    **1.14x (?)**
PrefixWhileSequenceLazy                                  26.839     23.531      -12.3%    **1.14x (?)**
StringAdder                                              274.571    240.75      -12.3%    **1.14x (?)**
CaptureProp                                              3050.0     2702.857    -11.4%    **1.13x (?)**
CharIteration_tweet_unicodeScalars                       9368.889   8337.778    -11.0%    **1.12x**
CharIteration_ascii_unicodeScalars                       4788.571   4277.5      -10.7%    **1.12x (?)**
StringBuilder                                            226.5      203.0       -10.4%    **1.12x (?)**
SuffixAnyCollection                                      39.643     35.625      -10.1%    **1.11x (?)**
DropLastAnyCollection                                    39.909     35.931      -10.0%    **1.11x (?)**
StringBuilderSmallReservingCapacity                      233.125    211.25      -9.4%     **1.10x (?)**
CharIteration_korean_unicodeScalars_Backwards            5710.0     5177.143    -9.3%     **1.10x (?)**
SequenceAlgosRange                                       2396.25    2178.333    -9.1%     **1.10x (?)**
DropWhileAnySequence                                     1458.0     1349.0      -7.5%     **1.08x (?)**
ByteSwap                                                 69.692     64.618      -7.3%     **1.08x (?)**
Chars2                                                   3502.174   3259.615    -6.9%     **1.07x (?)**
SequenceAlgosUnfoldSequence                              905.0      843.889     -6.8%     **1.07x (?)**

------- Code size: -Osize -------

REGRESSION                                         OLD      NEW      DELTA    RATIO  
RomanNumbers.o                                     4206     4451     +5.8%    **0.94x**
DictionarySwap.o                                   15449    16311    +5.6%    **0.95x**
MonteCarloE.o                                      2718     2840     +4.5%    **0.96x**
DictionaryKeysContains.o                           7509     7831     +4.3%    **0.96x**
BinaryFloatingPointConversionFromBinaryInteger.o   29455    30690    +4.2%    **0.96x**
BitCount.o                                         1386     1443     +4.1%    **0.96x**
DictionaryCopy.o                                   7554     7855     +4.0%    **0.96x**
DictionaryRemove.o                                 15654    16238    +3.7%    **0.96x**
RangeAssignment.o                                  3061     3174     +3.7%    **0.96x**
StringRemoveDupes.o                                3427     3547     +3.5%    **0.97x**
DriverUtils.o                                      131099   135491   +3.4%    **0.97x**
DictionaryCompactMapValues.o                       13475    13913    +3.3%    **0.97x**
Combos.o                                           5014     5174     +3.2%    **0.97x**
ReversedCollections.o                              7236     7459     +3.1%    **0.97x**
FlattenList.o                                      3494     3600     +3.0%    **0.97x**
SequenceAlgos.o                                    19631    20217    +3.0%    **0.97x**
CString.o                                          5320     5450     +2.4%    **0.98x**
RemoveWhere.o                                      12053    12336    +2.3%    **0.98x**
DictionaryOfAnyHashableStrings.o                   5726     5859     +2.3%    **0.98x**
DictionaryGroup.o                                  11001    11242    +2.2%    **0.98x**
BucketSort.o                                       8259     8424     +2.0%    **0.98x**
DictTest3.o                                        12368    12612    +2.0%    **0.98x**
RangeOverlaps.o                                    5373     5479     +2.0%    **0.98x**
LazyFilter.o                                       6856     6987     +1.9%    **0.98x**
BinaryFloatingPointProperties.o                    4632     4717     +1.8%    **0.98x**
DiffingMyers.o                                     6603     6714     +1.7%    **0.98x**
AngryPhonebook.o                                   8399     8529     +1.5%    **0.98x**
StringEdits.o                                      9096     9231     +1.5%    **0.99x**
QueueTest.o                                        11580    11744    +1.4%    **0.99x**
DictTest.o                                         10925    11072    +1.3%    **0.99x**
Breadcrumbs.o                                      37164    37602    +1.2%    **0.99x**
WordCount.o                                        35162    35558    +1.1%    **0.99x**
MapReduce.o                                        20602    20826    +1.1%    **0.99x**
DictTest2.o                                        7918     8002     +1.1%    **0.99x**
RandomTree.o                                       11032    11144    +1.0%    **0.99x**

IMPROVEMENT                                        OLD      NEW      DELTA    RATIO  
NopDeinit.o                                        4293     3446     -19.7%   **1.25x**
StaticArray.o                                      12089    10399    -14.0%   **1.16x**
CharacterLiteralsLarge.o                           954      881      -7.7%    **1.08x**
ByteSwap.o                                         1460     1376     -5.8%    **1.06x**
SIMDReduceInteger.o                                10052    9548     -5.0%    **1.05x**
PrefixWhile.o                                      13744    13341    -2.9%    **1.03x**
PointerArithmetics.o                               1542     1500     -2.7%    **1.03x**
Integrate.o                                        2164     2111     -2.4%    **1.03x**
Ackermann.o                                        1643     1607     -2.2%    **1.02x**
Hanoi.o                                            2945     2883     -2.1%    **1.02x**
Fibonacci.o                                        1373     1351     -1.6%    **1.02x**
SortArrayInClass.o                                 2502     2469     -1.3%    **1.01x**
SubstringTest.o                                    18386    18167    -1.2%    **1.01x**

------- Performance (x86_64): -Onone -------

REGRESSION                                                  OLD         NEW         DELTA     RATIO    
SIMDReduce.Int32                                            1533.0      6834.0      +345.8%   **0.22x**
SIMDReduce.Int8                                             7410.0      27678.0     +273.5%   **0.27x**
SIMDReduce.Int32x4.Cast                                     705.667     2074.0      +193.9%   **0.34x**
SIMDReduce.Int8x16.Cast                                     1139.0      2464.0      +116.3%   **0.46x**
StringWithCString2                                          0.007       0.014       +87.5%    **0.53x**
SetSubtractingInt0                                          110.467     186.1       +68.5%    **0.59x**
NSStringConversion.Long                                     1781.0      2900.0      +62.8%    **0.61x**
NSStringConversion.Medium                                   746.333     1167.5      +56.4%    **0.64x**
NSStringConversion.LongUTF8                                 862.5       1290.0      +49.6%    **0.67x**
NSStringConversion.Mutable                                  1387.0      2024.0      +45.9%    **0.69x**
NSStringConversion.MutableCopy.Long                         684.667     972.0       +42.0%    **0.70x**
Set.subtracting.Seq.Box.Empty                               554.5       773.333     +39.5%    **0.72x (?)**
LineSink.bytes.complex                                      605.25      833.0       +37.6%    **0.73x**
LineSink.scalars.complex                                    605.0       832.0       +37.5%    **0.73x**
IndexPath.Max                                               438.4       601.0       +37.1%    **0.73x**
IndexPath.Min                                               438.0       600.0       +37.0%    **0.73x**
SetSubtractingInt100                                        203.444     276.714     +36.0%    **0.74x**
NSStringConversion.UTF8                                     1231.0      1670.0      +35.7%    **0.74x**
CharacterPropertiesStashed                                  1356.154    1829.0      +34.9%    **0.74x (?)**
NSStringConversion.MutableCopy.Medium                       700.333     943.5       +34.7%    **0.74x (?)**
SequenceAlgosContiguousArray                                373170.0    500140.0    +34.0%    **0.75x**
NSStringConversion.MutableCopy.LongUTF8                     612.0       820.0       +34.0%    **0.75x (?)**
SetUnionInt100                                              216.333     288.0       +33.1%    **0.75x**
LineSink.bytes.alpha                                        185.0       245.889     +32.9%    **0.75x**
CharIteration_utf16_unicodeScalars_Backwards                160960.0    212200.0    +31.8%    **0.76x (?)**
UTF8Decode_InitFromCustom_contiguous                        130.846     172.455     +31.8%    **0.76x**
UTF8Decode_InitDecoding                                     128.25      169.0       +31.8%    **0.76x**
Set.isDisjoint.Smaller.Int0                                 226.0       297.0       +31.4%    **0.76x**
Set.isDisjoint.Seq.Box.Empty                                654.0       855.0       +30.7%    **0.76x**
CharIteration_punctuated_unicodeScalars_Backwards           44420.0     57520.0     +29.5%    **0.77x**
SetSubtractingInt50                                         260.222     335.857     +29.1%    **0.77x (?)**
CharIteration_tweet_unicodeScalars_Backwards                398680.0    513080.0    +28.7%    **0.78x**
CharIteration_russian_unicodeScalars_Backwards              169040.0    217520.0    +28.7%    **0.78x (?)**
CharIteration_chinese_unicodeScalars_Backwards              153720.0    197280.0    +28.3%    **0.78x (?)**
CharIteration_punctuatedJapanese_unicodeScalars_Backwards   34920.0     44800.0     +28.3%    **0.78x**
IterateData                                                 1781.0      2281.0      +28.1%    **0.78x**
CharIteration_japanese_unicodeScalars_Backwards             245080.0    313360.0    +27.9%    **0.78x (?)**
CharIteration_korean_unicodeScalars_Backwards               200280.0    255360.0    +27.5%    **0.78x (?)**
CharacterPropertiesPrecomputed                              1779.231    2265.0      +27.3%    **0.79x (?)**
CharIteration_ascii_unicodeScalars_Backwards                203560.0    258760.0    +27.1%    **0.79x (?)**
SetSubtractingInt25                                         285.286     361.333     +26.7%    **0.79x (?)**
UTF8Decode_InitFromCustom_noncontiguous                     24406.0     30727.0     +25.9%    **0.79x**
UTF8Decode_InitFromCustom_noncontiguous_ascii               77439.0     97381.0     +25.8%    **0.80x**
UTF8Decode_InitFromCustom_noncontiguous_ascii_as_ascii      77472.0     97337.0     +25.6%    **0.80x**
SetUnionInt50                                               304.429     376.8       +23.8%    **0.81x**
SetSymmetricDifferenceInt100                                399.6       493.5       +23.5%    **0.81x (?)**
SIMDReduce.Int32x16.Cast                                    1068.0      1317.0      +23.3%    **0.81x**
CharacterPropertiesStashedMemo                              2057.5      2534.286    +23.2%    **0.81x (?)**
KeyPathClassStructs                                         507.75      620.333     +22.2%    **0.82x**
Set.isDisjoint.Int0                                         475.25      580.0       +22.0%    **0.82x**
DictionarySwap                                              3060.0      3726.0      +21.8%    **0.82x (?)**
Dictionary                                                  1919.167    2325.0      +21.1%    **0.83x**
KeyPathNestedClasses                                        191.545     231.9       +21.1%    **0.83x (?)**
SetUnionInt25                                               340.167     411.2       +20.9%    **0.83x (?)**
StringToDataEmpty                                           1257.576    1509.677    +20.0%    **0.83x (?)**
UTF8Decode_InitDecoding_ascii_as_ascii                      190.455     228.375     +19.9%    **0.83x (?)**
CharIndexing_japanese_unicodeScalars                        391400.0    469320.0    +19.9%    **0.83x**
CharIndexing_punctuated_unicodeScalars_Backwards            70440.0     84440.0     +19.9%    **0.83x (?)**
StringMatch                                                 23914.286   28666.667   +19.9%    **0.83x (?)**
LazilyFilteredArrays2                                       79800.0     95650.0     +19.9%    **0.83x**
Set.subtracting.Seq.Int.Empty                               549.25      658.333     +19.9%    **0.83x**
CharIndexing_russian_unicodeScalars_Backwards               268880.0    322200.0    +19.8%    **0.83x (?)**
CharacterPropertiesFetch                                    2730.0      3268.333    +19.7%    **0.84x (?)**
CharIndexing_korean_unicodeScalars                          316480.0    378880.0    +19.7%    **0.84x (?)**
CharIndexing_ascii_unicodeScalars                           324280.0    388200.0    +19.7%    **0.84x**
CharIndexing_punctuated_unicodeScalars                      71040.0     85000.0     +19.7%    **0.84x (?)**
CharIndexing_russian_unicodeScalars                         271640.0    325000.0    +19.6%    **0.84x (?)**
CharIndexing_tweet_unicodeScalars_Backwards                 635280.0    759800.0    +19.6%    **0.84x (?)**
ArrayAppendLazyMap                                          190760.0    228130.0    +19.6%    **0.84x (?)**
CharIndexing_tweet_unicodeScalars                           640320.0    765360.0    +19.5%    **0.84x (?)**
CharIndexing_utf16_unicodeScalars_Backwards                 295240.0    352760.0    +19.5%    **0.84x (?)**
CharIndexing_chinese_unicodeScalars                         247320.0    295320.0    +19.4%    **0.84x (?)**
SetSubtractingBox0                                          358.167     427.6       +19.4%    **0.84x (?)**
Set.isDisjoint.Seq.Box25                                    3657.0      4365.0      +19.4%    **0.84x**
MapReduceLazyCollectionShort                                26167.0     31222.0     +19.3%    **0.84x**
CharIndexing_chinese_unicodeScalars_Backwards               246320.0    293600.0    +19.2%    **0.84x (?)**
MapReduceLazyCollection                                     24328.0     28982.0     +19.1%    **0.84x**
DictionaryRemove                                            8435.0      10045.0     +19.1%    **0.84x**
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards    55640.0     66200.0     +19.0%    **0.84x (?)**
CharIndexing_utf16_unicodeScalars                           289480.0    344360.0    +19.0%    **0.84x (?)**
CharIndexing_punctuatedJapanese_unicodeScalars              56080.0     66640.0     +18.8%    **0.84x (?)**
Set.isSubset.Seq.Box0                                       5084.0      6041.0      +18.8%    **0.84x (?)**
Set.subtracting.Seq.Box0                                    5058.0      6009.0      +18.8%    **0.84x (?)**
SumUsingReduceInto                                          162309.0    192670.0    +18.7%    **0.84x**
Set.isDisjoint.Seq.Box0                                     5084.0      6033.0      +18.7%    **0.84x (?)**
Set.isStrictSubset.Seq.Box0                                 5091.0      6040.0      +18.6%    **0.84x (?)**
Set.isSuperset.Seq.Empty.Int                                568.25      674.0       +18.6%    **0.84x**
CharIndexing_japanese_unicodeScalars_Backwards              393080.0    466200.0    +18.6%    **0.84x (?)**
DifferentiationArraySum                                     1264.0      1499.0      +18.6%    **0.84x (?)**
CharIndexing_ascii_unicodeScalars_Backwards                 323680.0    383160.0    +18.4%    **0.84x (?)**
DictionarySwapAt                                            2149.0      2542.667    +18.3%    **0.85x (?)**
PrefixArray                                                 9230.0      10912.0     +18.2%    **0.85x (?)**
RC4                                                         11426.0     13502.0     +18.2%    **0.85x**
FilterEvenUsingReduceInto                                   1982.0      2342.0      +18.2%    **0.85x (?)**
Set.intersection.Seq.Box0                                   1018.0      1202.5      +18.1%    **0.85x**
SuffixArray                                                 3064.0      3617.0      +18.0%    **0.85x (?)**
SIMDRandomMask.Int64x2                                      893.5       1054.5      +18.0%    **0.85x**
SumUsingReduce                                              165279.0    194796.0    +17.9%    **0.85x**
StringToDataSmall                                           1345.946    1585.484    +17.8%    **0.85x (?)**
Set.isStrictSubset.Seq.Box25                                1357.0      1597.0      +17.7%    **0.85x (?)**
DropFirstArray                                              9195.0      10815.0     +17.6%    **0.85x (?)**
CharIndexing_korean_unicodeScalars_Backwards                320600.0    376880.0    +17.6%    **0.85x (?)**
SubstringTrimmingASCIIWhitespace                            483.75      568.667     +17.6%    **0.85x**
Set.isStrictSuperset.Seq.Box25                              1338.0      1572.0      +17.5%    **0.85x (?)**
UTF8Decode                                                  30865.0     36244.0     +17.4%    **0.85x (?)**
FatCompactMap                                               336650.0    395200.0    +17.4%    **0.85x (?)**
Set.isSubset.Seq.Box25                                      1338.0      1570.0      +17.3%    **0.85x**
SequenceAlgosArray                                          806960.0    945720.0    +17.2%    **0.85x (?)**
Set.isSuperset.Seq.Box25                                    1346.0      1576.0      +17.1%    **0.85x (?)**
StringComparison_latin1                                     4188.0      4900.0      +17.0%    **0.85x**
ReversedDictionary2                                         16635.0     19415.0     +16.7%    **0.86x (?)**
DropLastArray                                               3081.0      3593.0      +16.6%    **0.86x (?)**
DictionaryLiteral                                           3533.333    4120.0      +16.6%    **0.86x (?)**
Set.intersection.Seq.Box25                                  1123.5      1308.0      +16.4%    **0.86x**
ReversedArray2                                              16118.0     18731.0     +16.2%    **0.86x (?)**
Set.isDisjoint.Seq.Int.Empty                                635.667     737.333     +16.0%    **0.86x (?)**
FlattenListLoop                                             60596.0     70185.0     +15.8%    **0.86x (?)**
RawBufferInitializeMemory                                   16518.0     19048.0     +15.3%    **0.87x**
Breadcrumbs.MutatedUTF16ToIdx.ASCII                         13.488      15.546      +15.3%    **0.87x (?)**
SetSymmetricDifferenceInt50                                 423.0       487.5       +15.2%    **0.87x (?)**
ChainedFilterMap                                            227934.0    262458.0    +15.1%    **0.87x (?)**
CharIteration_punctuated_unicodeScalars                     32040.0     36800.0     +14.9%    **0.87x (?)**
StringComparison_fastPrenormal                              5482.5      6296.667    +14.9%    **0.87x**
ClosedRangeOverlapsClosedRange                              17486.0     20077.0     +14.8%    **0.87x (?)**
Set.subtracting.Seq.Int0                                    3646.0      4185.0      +14.8%    **0.87x**
String.data.Empty                                           31.333      35.952      +14.7%    **0.87x (?)**
CharIteration_ascii_unicodeScalars                          144600.0    165680.0    +14.6%    **0.87x (?)**
RemoveWhereFilterStrings                                    2359.0      2701.0      +14.5%    **0.87x (?)**
LazilyFilteredArrayContains                                 876600.0    1003600.0   +14.5%    **0.87x (?)**
StringHashing_ascii                                         229.875     263.125     +14.5%    **0.87x (?)**
AngryPhonebook                                              1946.0      2227.0      +14.4%    **0.87x (?)**
Set.isSubset.Seq.Int100                                     3607.0      4127.0      +14.4%    **0.87x (?)**
AngryPhonebook.ASCII2.Small                                 861.5       985.0       +14.3%    **0.87x (?)**
CharIteration_japanese_unicodeScalars                       175600.0    200760.0    +14.3%    **0.87x (?)**
CharIteration_punctuatedJapanese_unicodeScalars             25173.333   28773.333   +14.3%    **0.87x (?)**
PrefixWhileArrayLazy                                        13614.0     15553.0     +14.2%    **0.88x (?)**
SetUnionInt0                                                530.75      605.667     +14.1%    **0.88x (?)**
Set.isStrictSubset.Seq.Int100                               3621.0      4132.0      +14.1%    **0.88x (?)**
Set.isDisjoint.Seq.Int0                                     3634.0      4146.0      +14.1%    **0.88x (?)**
Set.isDisjoint.Seq.Int25                                    2692.0      3071.0      +14.1%    **0.88x (?)**
StringInterpolationSmall                                    2143.75     2445.0      +14.1%    **0.88x (?)**
Set.subtracting.Box.Empty                                   98.267      112.0       +14.0%    **0.88x (?)**
Set.isSubset.Seq.Int50                                      1789.0      2038.0      +13.9%    **0.88x (?)**
SetUnion                                                    5307.5      6043.333    +13.9%    **0.88x**
Set.isDisjoint.Seq.Int50                                    1826.0      2079.0      +13.9%    **0.88x (?)**
StringComparison_ascii                                      9707.0      11050.0     +13.8%    **0.88x (?)**
Set.isStrictSuperset.Seq.Empty.Int                          720.667     820.0       +13.8%    **0.88x**
FilterEvenUsingReduce                                       2760.0      3140.0      +13.8%    **0.88x (?)**
Set.isSubset.Seq.Int25                                      904.5       1029.0      +13.8%    **0.88x (?)**
MapReduceString                                             1561.0      1775.0      +13.7%    **0.88x (?)**
RemoveWhereFilterInts                                       1951.0      2218.0      +13.7%    **0.88x (?)**
Histogram                                                   4853.0      5517.0      +13.7%    **0.88x (?)**
CharIteration_tweet_unicodeScalars                          286240.0    325400.0    +13.7%    **0.88x (?)**
StringComparison_nonBMPSlowestPrenormal                     2945.714    3348.333    +13.7%    **0.88x (?)**
Chars2                                                      34466.667   39175.0     +13.7%    **0.88x (?)**
Set.intersection.Seq.Int100                                 725.333     824.333     +13.6%    **0.88x (?)**
Set.isStrictSubset.Seq.Int0                                 3681.0      4182.0      +13.6%    **0.88x (?)**
Set.subtracting.Seq.Box25                                   7062.0      8023.0      +13.6%    **0.88x**
ArrayValueProp2                                             14071.0     15980.0     +13.6%    **0.88x (?)**
Set.isSubset.Seq.Int0                                       3679.0      4178.0      +13.6%    **0.88x (?)**
StringComparison_longSharedPrefix                           1992.0      2262.0      +13.6%    **0.88x (?)**
Set.intersection.Seq.Int25                                  760.0       863.0       +13.6%    **0.88x (?)**
Set.subtracting.Int.Empty                                   105.063     119.286     +13.5%    **0.88x (?)**
CharIteration_chinese_unicodeScalars                        110840.0    125840.0    +13.5%    **0.88x (?)**
RangeOverlapsRange                                          19366.0     21984.0     +13.5%    **0.88x (?)**
Set.isSuperset.Seq.Box0                                     1583.0      1796.0      +13.5%    **0.88x (?)**
BucketSort                                                  7377.0      8369.0      +13.4%    **0.88x (?)**
StringComparison_emoji                                      1634.4      1854.0      +13.4%    **0.88x (?)**
MapReduceLazySequence                                       16529.0     18749.0     +13.4%    **0.88x (?)**
Set.isSuperset.Seq.Int100                                   3574.0      4052.0      +13.4%    **0.88x (?)**
KeyPathGet                                                  232.556     263.625     +13.4%    **0.88x (?)**
Set.intersection.Seq.Int0                                   737.667     835.5       +13.3%    **0.88x (?)**
Set.isStrictSubset.Seq.Int25                                924.5       1047.0      +13.3%    **0.88x (?)**
String.data.Small                                           33.067      37.448      +13.2%    **0.88x (?)**
CharIteration_utf16_unicodeScalars                          113760.0    128800.0    +13.2%    **0.88x (?)**
StringUTF16Builder                                          5000.0      5660.0      +13.2%    **0.88x (?)**
MapReduceSequence                                           27091.0     30663.0     +13.2%    **0.88x (?)**
Set.isStrictSubset.Seq.Int.Empty                            717.0       811.5       +13.2%    **0.88x (?)**
StringBuilderSmallReservingCapacity                         4927.0      5576.0      +13.2%    **0.88x (?)**
Set.intersection.Seq.Int50                                  774.667     876.5       +13.1%    **0.88x (?)**
Set.isStrictSubset.Seq.Int50                                1821.0      2060.0      +13.1%    **0.88x (?)**
Set.isStrictSuperset.Seq.Int25                              911.0       1030.0      +13.1%    **0.88x (?)**
StringBuilder                                               4920.0      5562.0      +13.0%    **0.88x (?)**
SuperChars2                                                 1297.0      1466.0      +13.0%    **0.88x (?)**
CharIteration_russian_unicodeScalars                        122280.0    138200.0    +13.0%    **0.88x (?)**
SetUnionBox25                                               911.0       1029.5      +13.0%    **0.88x (?)**
Set.isSuperset.Seq.Int50                                    1793.0      2026.0      +13.0%    **0.88x (?)**
ConvertFloatingPoint.MockFloat64Exactly2                    689.667     779.0       +13.0%    **0.89x (?)**
SubstringEquatable                                          4311.0      4869.0      +12.9%    **0.89x (?)**
Set.isStrictSuperset.Seq.Int50                              1810.0      2043.0      +12.9%    **0.89x (?)**
KeyPathOptionals                                            640.667     723.0       +12.9%    **0.89x (?)**
Set.isSuperset.Seq.Int25                                    911.5       1028.5      +12.8%    **0.89x (?)**
StringComparison_slowerPrenormal                            3548.333    4002.0      +12.8%    **0.89x**
Breadcrumbs.MutatedIdxToUTF16.ASCII                         13.652      15.37       +12.6%    **0.89x (?)**
DropWhileArray                                              12593.0     14168.0     +12.5%    **0.89x (?)**
CharIteration_korean_unicodeScalars                         144600.0    162560.0    +12.4%    **0.89x (?)**
CSVParsingAltIndices2                                       5079.8      5709.0      +12.4%    **0.89x (?)**
Breadcrumbs.IdxToUTF16.longASCII                            1025.5      1151.0      +12.2%    **0.89x (?)**
Set.isStrictSuperset.Seq.Box0                               176.0       197.5       +12.2%    **0.89x (?)**
Data.init.Sequence.809B.Count.I                             1937.0      2173.0      +12.2%    **0.89x (?)**
StringRemoveDupes                                           510.25      572.333     +12.2%    **0.89x (?)**
Data.init.Sequence.809B.Count                               1937.0      2172.0      +12.1%    **0.89x (?)**
RangeOverlapsClosedRange                                    19899.0     22297.0     +12.1%    **0.89x (?)**
Data.init.Sequence.2049B.Count.I                            2423.0      2714.0      +12.0%    **0.89x (?)**
QueueConcrete                                               11830.0     13240.0     +11.9%    **0.89x (?)**
Data.append.Sequence.809B.Count.I                           1955.0      2188.0      +11.9%    **0.89x (?)**
Breadcrumbs.UTF16ToIdxRange.longASCII                       225.778     252.625     +11.9%    **0.89x**
Data.init.Sequence.2047B.Count.I                            2423.0      2711.0      +11.9%    **0.89x (?)**
Data.init.Sequence.64kB.Count                               1534.0      1716.0      +11.9%    **0.89x (?)**
Breadcrumbs.IdxToUTF16Range.longASCII                       230.0       257.125     +11.8%    **0.89x (?)**
Data.append.Sequence.64kB.Count                             1535.0      1716.0      +11.8%    **0.89x (?)**
Data.append.Sequence.64kB.Count.I                           1535.0      1716.0      +11.8%    **0.89x (?)**
StringHashing_latin1                                        382.889     428.0       +11.8%    **0.89x (?)**
Data.init.Sequence.809B.Count.RE                            26769.0     29913.0     +11.7%    **0.89x (?)**
Data.init.Sequence.64kB.Count.I                             1535.0      1715.0      +11.7%    **0.90x (?)**
NSStringConversion.InlineBuffer.ASCII                       5661.0      6323.0      +11.7%    **0.90x (?)**
Data.init.Sequence.809B.Count.RE.I                          26715.0     29837.0     +11.7%    **0.90x (?)**
Data.append.Sequence.64kB.Count.RE.I                        21573.0     24094.0     +11.7%    **0.90x (?)**
Data.init.Sequence.64kB.Count.RE                            21638.0     24160.0     +11.7%    **0.90x (?)**
Set.subtracting.Seq.Int100                                  4169.0      4654.0      +11.6%    **0.90x (?)**
StringUTF16SubstringBuilder                                 9295.0      10375.0     +11.6%    **0.90x (?)**
Breadcrumbs.UTF16ToIdx.longMixed                            1274.0      1422.0      +11.6%    **0.90x (?)**
MapReduceShortString                                        136.083     151.889     +11.6%    **0.90x (?)**
Set.isStrictSuperset.Seq.Int100                             3623.0      4042.0      +11.6%    **0.90x (?)**
Data.init.Sequence.513B.Count.I                             1878.0      2095.0      +11.6%    **0.90x (?)**
Data.append.Sequence.809B.Count                             1961.0      2187.0      +11.5%    **0.90x (?)**
DataAppendSequence                                          2677200.0   2985600.0   +11.5%    **0.90x (?)**
Data.init.Sequence.64kB.Count.RE.I                          21621.0     24099.0     +11.5%    **0.90x (?)**
Data.append.Sequence.809B.Count.RE.I                        26746.0     29804.0     +11.4%    **0.90x (?)**
Set.isSubset.Seq.Int.Empty                                  798.5       889.5       +11.4%    **0.90x (?)**
Set.subtracting.Seq.Int50                                   4421.0      4924.0      +11.4%    **0.90x (?)**
Data.append.Sequence.64kB.Count.RE                          21666.0     24131.0     +11.4%    **0.90x (?)**
SubstringEqualString                                        1134.0      1263.0      +11.4%    **0.90x (?)**
Data.init.Sequence.511B.Count.I                             1875.0      2088.0      +11.4%    **0.90x (?)**
SetSymmetricDifferenceInt25                                 437.8       487.5       +11.4%    **0.90x (?)**
SetIsSubsetInt100                                           448.6       499.5       +11.3%    **0.90x (?)**
PrefixWhileSequence                                         16788.0     18653.0     +11.1%    **0.90x (?)**
Data.append.Sequence.809B.Count.RE                          26776.0     29749.0     +11.1%    **0.90x (?)**
QueueGeneric                                                13830.0     15350.0     +11.0%    **0.90x (?)**
Set.subtracting.Seq.Int25                                   4554.0      5053.0      +11.0%    **0.90x (?)**
WordCountUniqueASCII                                        7250.0      8036.667    +10.9%    **0.90x (?)**
SubstringComparable                                         1552.0      1719.0      +10.8%    **0.90x (?)**
ConvertFloatingPoint.MockFloat64Exactly                     437.8       484.75      +10.7%    **0.90x (?)**
RemoveWhereQuadraticString                                  2277.0      2521.0      +10.7%    **0.90x (?)**
NormalizedIterator_ascii                                    307.286     339.714     +10.6%    **0.90x (?)**
Data.append.Sequence.64kB.Count0.RE                         21505.0     23763.0     +10.5%    **0.90x (?)**
PrefixWhileAnySequence                                      16891.0     18654.0     +10.4%    **0.91x**
PrimsSplit                                                  3323.333    3667.5      +10.4%    **0.91x (?)**
RandomDouble01LCG                                           21325.0     23532.0     +10.3%    **0.91x (?)**
NSStringConversion.InlineBuffer.UTF8                        3525.0      3886.0      +10.2%    **0.91x (?)**
SetIsSubsetInt0                                             355.167     391.4       +10.2%    **0.91x (?)**
ChaCha                                                      32048.0     35304.0     +10.2%    **0.91x (?)**
Data.append.Sequence.809B.Count0.RE                         26629.0     29327.0     +10.1%    **0.91x (?)**
DictionaryOfObjects                                         4125.0      4540.0      +10.1%    **0.91x (?)**
MapReduceClass2                                             3350.0      3687.0      +10.1%    **0.91x (?)**
NormalizedIterator_latin1                                   426.545     469.4       +10.0%    **0.91x (?)**
Data.append.Sequence.64kB.Count0.RE.I                       21505.0     23660.0     +10.0%    **0.91x (?)**
Data.init.Sequence.809B.Count0.RE                           26811.0     29496.0     +10.0%    **0.91x (?)**
Data.init.Sequence.64kB.Count0.RE                           21592.0     23754.0     +10.0%    **0.91x (?)**
FlattenListFlatMap                                          157961.0    173745.0    +10.0%    **0.91x (?)**
MapReduceAnyCollection                                      31406.0     34526.0     +9.9%     **0.91x (?)**
DropWhileArrayLazy                                          17116.0     18816.0     +9.9%     **0.91x (?)**
ParseFloat.Double.Exp                                       26.969      29.645      +9.9%     **0.91x (?)**
Data.append.Sequence.809B.Count0.RE.I                       26677.0     29318.0     +9.9%     **0.91x (?)**
ObjectAllocation                                            1031.0      1133.0      +9.9%     **0.91x (?)**
Dictionary3                                                 370.4       407.0       +9.9%     **0.91x (?)**
Prims                                                       3340.0      3670.0      +9.9%     **0.91x (?)**
ParseFloat.Float.Exp                                        26.966      29.63       +9.9%     **0.91x (?)**
PrefixWhileAnySeqCntRange                                   44792.0     49189.0     +9.8%     **0.91x (?)**
Data.init.Sequence.64kB.Count0.RE.I                         21630.0     23743.0     +9.8%     **0.91x (?)**
Set.isSuperset.Seq.Int.Empty                                1332.0      1461.0      +9.7%     **0.91x (?)**
Data.init.Sequence.809B.Count0.RE.I                         26879.0     29480.0     +9.7%     **0.91x (?)**
SuffixAnySeqCntRange                                        48004.0     52639.0     +9.7%     **0.91x (?)**
Set.isDisjoint.Box0                                         1700.0      1863.0      +9.6%     **0.91x (?)**
WordCountUniqueUTF16                                        7480.0      8195.0      +9.6%     **0.91x (?)**
String.data.Medium                                          66.333      72.636      +9.5%     **0.91x (?)**
Set.isStrictSubset.Int25                                    137.385     150.417     +9.5%     **0.91x (?)**
DropFirstAnySeqCRangeIterLazy                               45207.0     49485.0     +9.5%     **0.91x (?)**
CStringLongNonAscii                                         214.556     234.625     +9.4%     **0.91x (?)**
PrefixWhileAnySeqCRangeIter                                 44851.0     49034.0     +9.3%     **0.91x (?)**
StrToInt                                                    26790.0     29260.0     +9.2%     **0.92x (?)**
MapReduceShort                                              34960.0     38160.0     +9.2%     **0.92x (?)**
SetSubtractingBox25                                         767.0       836.5       +9.1%     **0.92x (?)**
MapReduce                                                   31435.0     34269.0     +9.0%     **0.92x (?)**
DropFirstAnySeqCntRange                                     45358.0     49431.0     +9.0%     **0.92x (?)**
ConvertFloatingPoint.MockFloat64ToInt64                     40827.0     44490.0     +9.0%     **0.92x (?)**
PrefixWhileArray                                            19164.0     20874.0     +8.9%     **0.92x (?)**
PrefixAnyCollection                                         33653.0     36640.0     +8.9%     **0.92x (?)**
LazilyFilteredRange                                         1159000.0   1261730.0   +8.9%     **0.92x (?)**
SetIsSubsetInt25                                            138.077     150.25      +8.8%     **0.92x (?)**
Set.isDisjoint.Int100                                       447.2       486.2       +8.7%     **0.92x (?)**
MapReduceNSDecimalNumber                                    3522.0      3829.0      +8.7%     **0.92x (?)**
PrefixAnySeqCRangeIter                                      35584.0     38666.0     +8.7%     **0.92x (?)**
MapReduceNSDecimalNumberShort                               3861.0      4195.0      +8.7%     **0.92x (?)**
Set.isDisjoint.Smaller.Box0                                 944.5       1026.0      +8.6%     **0.92x (?)**
MapReduceAnyCollectionShort                                 34540.0     37510.0     +8.6%     **0.92x (?)**
SIMDRandomMask.Int64x8                                      2622.0      2846.0      +8.5%     **0.92x (?)**
Set.isDisjoint.Int25                                        448.2       486.4       +8.5%     **0.92x (?)**
PrefixAnySeqCntRange                                        35557.0     38563.0     +8.5%     **0.92x (?)**
Prims.NonStrongRef.Unmanaged.Closure                        1087.5      1179.0      +8.4%     **0.92x (?)**
AngryPhonebook.Strasse.Small                                221.556     240.111     +8.4%     **0.92x (?)**
StringToDataMedium                                          2925.0      3169.118    +8.3%     **0.92x (?)**
DropFirstAnyCollection                                      33658.0     36462.0     +8.3%     **0.92x (?)**
DropWhileAnySeqCntRange                                     49690.0     53805.0     +8.3%     **0.92x (?)**
Prims.NonStrongRef.Unmanaged                                1076.0      1165.0      +8.3%     **0.92x (?)**
ErrorHandling                                               4860.0      5260.0      +8.2%     **0.92x (?)**
SIMDReduce.Int8x64.Initializer                              408802.0    442260.0    +8.2%     **0.92x (?)**
SuffixAnySeqCRangeIterLazy                                  48985.0     52957.0     +8.1%     **0.92x (?)**
DropFirstAnySeqCRangeIter                                   45790.0     49476.0     +8.0%     **0.93x (?)**
ConvertFloatingPoint.MockFloat64ToDouble                    1455.0      1572.0      +8.0%     **0.93x (?)**
DictionaryOfAnyHashableStrings_lookup                       2417.0      2609.455    +8.0%     **0.93x (?)**
RangeReplaceableCollectionPlusDefault                       3530.0      3806.0      +7.8%     **0.93x (?)**
Set.isDisjoint.Int50                                        451.2       486.4       +7.8%     **0.93x (?)**
SetIsSubsetInt50                                            263.857     284.429     +7.8%     **0.93x (?)**
MapReduceClassShort2                                        3720.0      4009.0      +7.8%     **0.93x (?)**
ObserverForwarderStruct                                     2661.667    2868.333    +7.8%     **0.93x (?)**
StringHashing_slowerPrenormal                               457.308     492.8       +7.8%     **0.93x (?)**
LuhnAlgoLazy                                                2290.0      2467.0      +7.7%     **0.93x (?)**
SetUnion_OfObjects                                          16450.0     17710.0     +7.7%     **0.93x (?)**
Set.isSubset.Empty.Int                                      285.667     307.4       +7.6%     **0.93x (?)**
SetUnionBox0                                                1645.0      1770.0      +7.6%     **0.93x (?)**
SequenceAlgosRange                                          2731250.0   2938340.0   +7.6%     **0.93x (?)**
Breadcrumbs.IdxToUTF16.longMixed                            1676.0      1803.0      +7.6%     **0.93x (?)**
PolymorphicCalls                                            3216.0      3459.0      +7.6%     **0.93x (?)**
SequenceAlgosAnySequence                                    27800.0     29900.0     +7.6%     **0.93x (?)**

IMPROVEMENT                                                 OLD         NEW         DELTA     RATIO    
DictionaryCompactMapValuesOfNilValue                        9850.0      8471.429    -14.0%    **1.16x (?)**
Data.hash.Medium                                            31.185      28.531      -8.5%     **1.09x (?)**
ArrayOfGenericPOD2                                          1076.0      986.0       -8.4%     **1.09x (?)**
DataSubscriptMedium                                         63.19       58.818      -6.9%     **1.07x (?)**
NSError                                                     390.2       363.4       -6.9%     **1.07x (?)**

@atrick
Copy link
Member

atrick commented Dec 13, 2022

Now things get interesting. Will it be less work to enable address lowering later in the pipeline after OSSA optimization runs? It's probably worth looking at some cases first to understand how address lowering is doing something different now than what SILGen used to produce.

@nate-chandler nate-chandler force-pushed the opaque-values/3/20221209 branch 2 times, most recently from 211e06a to ad59169 Compare July 20, 2023 01:11
@nate-chandler
Copy link
Contributor Author

@swift-ci please benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please test source compatibility

@nate-chandler
Copy link
Contributor Author

------- Performance (arm64): -O -------

REGRESSION                                      OLD        NEW        DELTA            RATIO    
HTTP2StateMachine                               0.0        36521.0    +3652100000.0%   **0.00x**
UTF16Decode.initFromCustom.cont                 357.5      1164.0     +225.6%          **0.31x**
UTF16Decode.initFromCustom.noncont              367.0      1174.0     +219.9%          **0.31x**
DataCreateEmptyArray                            591.86     1527.273   +158.0%          **0.39x**
SubstringComparable                             4.365      10.133     +132.1%          **0.43x (?)**
DataCreateSmallArray                            1060.227   2244.737   +111.7%          **0.47x**
UTF16Decode.initDecoding                        113.0      195.5      +73.0%           **0.58x (?)**
ObserverForwarderStruct                         191.667    314.792    +64.2%           **0.61x**
LazilyFilteredArrayContains                     4992.593   7712.5     +54.5%           **0.65x (?)**
DropFirstAnySeqCntRange                         19.325     29.257     +51.4%           **0.66x (?)**
DropFirstAnySeqCRangeIter                       19.325     29.167     +50.9%           **0.66x (?)**
DifferentiationArraySum                         612.667    820.5      +33.9%           **0.75x**
ReversedBidirectional                           4650.0     6180.0     +32.9%           **0.75x (?)**
OpenClose                                       43.667     56.152     +28.6%           **0.78x (?)**
KeyPathOptionals                                413.8      528.75     +27.8%           **0.78x**
Set.isDisjoint.Seq.Box0                         378.833    479.0      +26.4%           **0.79x (?)**
Set.isDisjoint.Seq.Box25                        282.5      354.833    +25.6%           **0.80x (?)**
ObserverUnappliedMethod                         294.615    368.462    +25.1%           **0.80x (?)**
RemoveWhereFilterStrings                        154.429    191.333    +23.9%           **0.81x**
SubstringEquatable                              201.0      247.778    +23.3%           **0.81x (?)**
SuffixAnySequenceLazy                           1833.0     2242.0     +22.3%           **0.82x (?)**
DataCreateMediumArray                           742.353    903.125    +21.7%           **0.82x (?)**
KeyPathNestedClasses                            121.313    147.375    +21.5%           **0.82x (?)**
KeyPathMutatingGetset                           135.588    164.5      +21.3%           **0.82x**
DropLastAnySequenceLazy                         1999.0     2383.0     +19.2%           **0.84x (?)**
KeyPathClassStructs                             336.5      399.8      +18.8%           **0.84x**
DictionaryOfAnyHashableStrings_insert           1834.933   2152.182   +17.3%           **0.85x (?)**
DictionaryOfAnyHashableStrings_lookup           1229.878   1441.714   +17.2%           **0.85x (?)**
UTF8Decode_InitDecoding_ascii_as_ascii          118.824    139.25     +17.2%           **0.85x (?)**
LuhnAlgoEager                                   86.462     99.889     +15.5%           **0.87x (?)**
LuhnAlgoLazy                                    86.429     99.833     +15.5%           **0.87x (?)**
String.data.Empty                               22.0       25.4       +15.5%           **0.87x (?)**
String.data.Small                               23.72      27.163     +14.5%           **0.87x (?)**
DictionaryGroupOfObjects                        572.4      654.429    +14.3%           **0.87x (?)**
Set.isSuperset.Seq.Box0                         77.042     87.464     +13.5%           **0.88x (?)**
WordCountHistogramUTF16                         1830.0     2044.776   +11.7%           **0.89x (?)**
WordCountHistogramASCII                         1729.688   1926.923   +11.4%           **0.90x**
Set.isDisjoint.Smaller.Box0                     187.667    208.636    +11.2%           **0.90x (?)**
ProtocolConformance                             32.0       35.5       +10.9%           **0.90x (?)**
DataAccessBytesMedium                           31.176     34.3       +10.0%           **0.91x (?)**
DataReplaceSmallBuffer                          1214.504   1334.4     +9.9%            **0.91x (?)**
FatCompactMap                                   545.714    598.0      +9.6%            **0.91x (?)**
DataAccessBytesSmall                            34.3       37.424     +9.1%            **0.92x (?)**
String.data.LargeUnicode                        36.611     39.938     +9.1%            **0.92x (?)**
DictionarySwapOfObjects                         2164.211   2360.0     +9.0%            **0.92x (?)**
String.data.Medium                              36.833     40.103     +8.9%            **0.92x (?)**
Chars2                                          2203.75    2395.238   +8.7%            **0.92x (?)**
Calculator                                      118.75     128.857    +8.5%            **0.92x (?)**
String.replaceSubrange.RepChar.Small            188.5      204.333    +8.4%            **0.92x (?)**
StringFromLongWholeSubstring                    2.016      2.169      +7.6%            **0.93x (?)**

IMPROVEMENT                                     OLD        NEW        DELTA            RATIO    
DropFirstAnySequenceLazy                        272.0      26.478     -90.3%           **10.27x**
StringEqualPointerComparison                    93.6       31.2       -66.7%           **3.00x**
CxxStringConversion.cxx.to.swift                124.429    83.0       -33.3%           **1.50x (?)**
SequenceAlgosRange                              2495.0     1871.667   -25.0%           **1.33x (?)**
DropWhileAnySequenceLazy                        170.0      139.167    -18.1%           **1.22x (?)**
DevirtualizeProtocolComposition                 143.429    118.538    -17.4%           **1.21x (?)**
UTF8Decode_InitFromCustom_contiguous_ascii      133.071    110.5      -17.0%           **1.20x (?)**
UTF8Decode_InitDecoding_ascii                   132.611    110.167    -16.9%           **1.20x (?)**
Set.isDisjoint.Seq.Int.Empty                    40.553     34.296     -15.4%           **1.18x (?)**
Set.isDisjoint.Seq.Empty.Box                    39.0       34.3       -12.1%           **1.14x (?)**
ChainedFilterMap                                608.5      538.313    -11.5%           **1.13x (?)**
CSVParsingAlt2                                  625.059    568.333    -9.1%            **1.10x (?)**
StringToDataEmpty                               364.103    332.979    -8.5%            **1.09x (?)**
NSStringConversion.Rebridge.LongUTF8            26.125     23.962     -8.3%            **1.09x (?)**
Set.isDisjoint.Seq.Box.Empty                    57.719     53.043     -8.1%            **1.09x (?)**
StringToDataSmall                               398.78     367.391    -7.9%            **1.09x (?)**
UTF8Decode_InitFromCustom_noncontiguous_ascii   222.667    205.667    -7.6%            **1.08x (?)**
SetSubtractingInt100                            41.44      38.6       -6.9%            **1.07x (?)**

------- Code size: -O -------

REGRESSION                                         OLD     NEW     DELTA    RATIO  
RomanNumbers.o                                     3329    4029    +21.0%   **0.83x**
ObserverForwarderStruct.o                          1993    2347    +17.8%   **0.85x**
ChainedFilterMap.o                                 2539    2803    +10.4%   **0.91x**
DropFirst.o                                        11921   12991   +9.0%    **0.92x**
Suffix.o                                           16894   18394   +8.9%    **0.92x**
LazyFilter.o                                       5497    5957    +8.4%    **0.92x**
DictionaryKeysContains.o                           6426    6926    +7.8%    **0.93x**
ProtocolConformance.o                              2925    3147    +7.6%    **0.93x**
ErrorHandling.o                                    2358    2534    +7.5%    **0.93x**
ObserverUnappliedMethod.o                          3680    3922    +6.6%    **0.94x**
SequenceAlgos.o                                    15514   16530   +6.5%    **0.94x**
BinaryFloatingPointConversionFromBinaryInteger.o   23338   24510   +5.0%    **0.95x**
DictionaryOfAnyHashableStrings.o                   5858    6088    +3.9%    **0.96x**
UTF16Decode.o                                      14670   15200   +3.6%    **0.97x**
RandomShuffle.o                                    2366    2450    +3.6%    **0.97x**
WordCount.o                                        30367   31371   +3.3%    **0.97x**
ObjectAllocation.o                                 3270    3366    +2.9%    **0.97x**
BufferFill.o                                       6657    6849    +2.9%    **0.97x**
RangeIteration.o                                   1112    1144    +2.9%    **0.97x**
MonteCarloPi.o                                     1142    1174    +2.8%    **0.97x**
XorLoop.o                                          1150    1182    +2.8%    **0.97x**
SevenBoom.o                                        1152    1184    +2.8%    **0.97x**
NSDictionaryCastToSwift.o                          1158    1190    +2.8%    **0.97x**
ProtocolDispatch2.o                                1170    1202    +2.7%    **0.97x**
BitCount.o                                         1178    1210    +2.7%    **0.97x**
SortIntPyramids.o                                  7432    7632    +2.7%    **0.97x**
ArrayLiteral.o                                     2010    2062    +2.6%    **0.97x**
DeadArray.o                                        1238    1270    +2.6%    **0.97x**
ObjectiveCBridging.o                               45618   46790   +2.6%    **0.97x**
COWTree.o                                          8726    8950    +2.6%    **0.97x**
DropWhile.o                                        12067   12375   +2.6%    **0.98x**
Exclusivity.o                                      3246    3326    +2.5%    **0.98x**
DictionaryCopy.o                                   7104    7260    +2.2%    **0.98x**
DictionarySwap.o                                   15059   15387   +2.2%    **0.98x**
NaiveRangeReplaceableCollectionConformance.o       8090    8266    +2.2%    **0.98x**
DictionaryBridgeToObjC.o                           4002    4082    +2.0%    **0.98x**
Memset.o                                           1453    1481    +1.9%    **0.98x**
PointerArithmetics.o                               1302    1326    +1.8%    **0.98x**
LinkedList.o                                       1782    1814    +1.8%    **0.98x**
ArraySubscript.o                                   1841    1873    +1.7%    **0.98x**
DictOfArraysToArrayOfDicts.o                       17874   18178   +1.7%    **0.98x**
BinaryFloatingPointProperties.o                    3849    3913    +1.7%    **0.98x**
FloatingPointConversion.o                          17210   17494   +1.7%    **0.98x**
Prefix.o                                           11970   12158   +1.6%    **0.98x**
Combos.o                                           3776    3832    +1.5%    **0.99x**
Calculator.o                                       2186    2218    +1.5%    **0.99x**
DictTest4Legacy.o                                  12494   12674   +1.4%    **0.99x**
Walsh.o                                            4245    4305    +1.4%    **0.99x**
CharacterLiteralsSmall.o                           890     902     +1.3%    **0.99x**
DropLast.o                                         17516   17752   +1.3%    **0.99x**
UTF8Decode.o                                       15734   15944   +1.3%    **0.99x**
DictionaryBridge.o                                 2466    2498    +1.3%    **0.99x**
OpenClose.o                                        2499    2531    +1.3%    **0.99x**
DictionaryRemove.o                                 16316   16520   +1.3%    **0.99x**
DictionaryLiteralTest.o                            969     981     +1.2%    **0.99x**
MapReduce.o                                        19405   19645   +1.2%    **0.99x**
CodableTest.o                                      20546   20798   +1.2%    **0.99x**
RC4.o                                              2628    2660    +1.2%    **0.99x**
DictTest2.o                                        8399    8499    +1.2%    **0.99x**
DictTest4.o                                        12224   12360   +1.1%    **0.99x**
RangeAssignment.o                                  2885    2917    +1.1%    **0.99x**
StrComplexWalk.o                                   2226    2250    +1.1%    **0.99x**
ExistentialPerformance.o                           35686   36068   +1.1%    **0.99x**
FloatingPointParsing.o                             7295    7371    +1.0%    **0.99x**

IMPROVEMENT                                        OLD     NEW     DELTA    RATIO  
NopDeinit.o                                        3525    2781    -21.1%   **1.27x**
RangeReplaceableCollectionPlusDefault.o            6067    4913    -19.0%   **1.23x**
IndexPathTest.o                                    7974    6806    -14.6%   **1.17x**
PrefixWhile.o                                      12273   11317   -7.8%    **1.08x**
ObjectiveCNoBridgingStubs.o                        5985    5573    -6.9%    **1.07x**
CharacterLiteralsLarge.o                           630     590     -6.3%    **1.07x**
LuhnAlgoLazy.o                                     10012   9413    -6.0%    **1.06x**
LuhnAlgoEager.o                                    10016   9417    -6.0%    **1.06x**
ClassArrayGetter.o                                 3146    3002    -4.6%    **1.05x**
StringTests.o                                      6210    5930    -4.5%    **1.05x**
DictTest3.o                                        12555   12175   -3.0%    **1.03x**
SubstringTest.o                                    15579   15131   -2.9%    **1.03x**
ArrayOfRef.o                                       5845    5721    -2.1%    **1.02x**
ArrayOfGenericRef.o                                6608    6484    -1.9%    **1.02x**
Hanoi.o                                            2148    2112    -1.7%    **1.02x**
DiffingMyers.o                                     5089    5009    -1.6%    **1.02x**
StringEdits.o                                      7232    7120    -1.5%    **1.02x**
Phonebook.o                                        7384    7272    -1.5%    **1.02x**
RecursiveOwnedParameter.o                          1066    1050    -1.5%    **1.02x**
ByteSwap.o                                         1102    1086    -1.5%    **1.01x**
IntegerParsing.o                                   56434   55722   -1.3%    **1.01x**
Integrate.o                                        1677    1657    -1.2%    **1.01x**
StringRemoveDupes.o                                4438    4390    -1.1%    **1.01x**
PopFront.o                                         2604    2576    -1.1%    **1.01x**
RGBHistogram.o                                     16823   16655   -1.0%    **1.01x**

------- Performance (arm64): -Osize -------

REGRESSION                                   OLD         NEW        DELTA            RATIO    
HTTP2StateMachine                            0.0         51505.0    +5150500000.0%   **0.00x**
NaiveRRC.init.largeContiguous                0.0         0.383      +38300.0%        **0.00x (?)**
UTF16Decode.initFromCustom.cont              362.0       1179.0     +225.7%          **0.31x**
UTF16Decode.initFromCustom.noncont           371.5       1187.0     +219.5%          **0.31x**
SIMDReduce.Int32x16.Cast                     8.729       23.99      +174.8%          **0.36x (?)**
DataCreateEmptyArray                         654.348     1683.871   +157.3%          **0.39x**
DataCreateSmallArray                         1247.222    2986.667   +139.5%          **0.42x**
SubstringComparable                          4.601       10.14      +120.4%          **0.45x (?)**
ArrayAppendSequence                          348.235     723.571    +107.8%          **0.48x**
ChainedFilterMap                             678.6       1240.2     +82.8%           **0.55x (?)**
UTF16Decode.initDecoding                     113.0       195.5      +73.0%           **0.58x (?)**
FatCompactMap                                830.0       1377.5     +66.0%           **0.60x (?)**
SIMDReduce.Int8x16.Cast                      28.028      46.325     +65.3%           **0.61x (?)**
ObserverForwarderStruct                      194.792     288.636    +48.2%           **0.67x**
DifferentiationArraySum                      610.333     826.5      +35.4%           **0.74x**
ReversedBidirectional                        4869.0      6523.0     +34.0%           **0.75x (?)**
DictionaryLiteral                            1413.636    1866.364   +32.0%           **0.76x (?)**
DataCreateMediumArray                        768.889     989.677    +28.7%           **0.78x (?)**
OpenClose                                    43.667      56.152     +28.6%           **0.78x (?)**
SIMDReduce.Int32x4.Cast                      27.743      35.545     +28.1%           **0.78x (?)**
KeyPathOptionals                             423.8       528.75     +24.8%           **0.80x**
RemoveWhereFilterStrings                     158.0       195.444    +23.7%           **0.81x**
KeyPathGet                                   135.706     167.0      +23.1%           **0.81x**
KeyPathNestedClasses                         124.0       151.667    +22.3%           **0.82x (?)**
SubstringEquatable                           206.7       251.5      +21.7%           **0.82x (?)**
KeyPathMutatingGetset                        143.4       172.0      +19.9%           **0.83x**
SuffixAnySequenceLazy                        1932.0      2315.0     +19.8%           **0.83x (?)**
KeyPathClassStructs                          331.833     395.2      +19.1%           **0.84x**
DataCreateSmall                              1310.0      1560.0     +19.1%           **0.84x (?)**
UTF8Decode_InitDecoding_ascii_as_ascii       118.385     139.545    +17.9%           **0.85x (?)**
ObserverUnappliedMethod                      300.385     354.0      +17.8%           **0.85x (?)**
Set.isStrictSubset.Seq.Int.Empty             87.35       102.889    +17.8%           **0.85x (?)**
Set.isSubset.Seq.Int.Empty                   88.909      104.444    +17.5%           **0.85x (?)**
DictionaryOfAnyHashableStrings_lookup        1236.0      1449.6     +17.3%           **0.85x (?)**
DropLastAnySequenceLazy                      2098.0      2455.0     +17.0%           **0.85x (?)**
DictionaryOfAnyHashableStrings_insert        2059.077    2404.769   +16.8%           **0.86x (?)**
Set.isStrictSuperset.Seq.Empty.Int           87.3        101.333    +16.1%           **0.86x (?)**
String.data.Small                            23.902      27.4       +14.6%           **0.87x (?)**
Set.isDisjoint.Smaller.Box0                  185.769     212.5      +14.4%           **0.87x (?)**
ProtocolConformance                          31.333      35.667     +13.8%           **0.88x (?)**
String.data.Empty                            22.2        25.25      +13.7%           **0.88x (?)**
Set.isSubset.Seq.Int0                        169.643     192.182    +13.3%           **0.88x**
Set.isStrictSuperset.Seq.Int0                10.75       12.171     +13.2%           **0.88x (?)**
WordCountUniqueUTF16                         1060.0      1169.0     +10.3%           **0.91x (?)**
WordCountUniqueASCII                         1012.5      1110.0     +9.6%            **0.91x**
DictionarySwapOfObjects                      2247.5      2452.308   +9.1%            **0.92x (?)**
DataReplaceSmallBuffer                       1223.256    1332.143   +8.9%            **0.92x (?)**
String.data.LargeUnicode                     36.767      39.962     +8.7%            **0.92x (?)**
String.data.Medium                           37.0        40.184     +8.6%            **0.92x (?)**
String.replaceSubrange.RepChar.Small         189.538     205.333    +8.3%            **0.92x (?)**
ParseInt.UInt64.Hex                          214.222     231.556    +8.1%            **0.93x (?)**
Chars2                                       2788.235    3008.824   +7.9%            **0.93x (?)**
SubstringFromLongStringGeneric2              20.263      21.83      +7.7%            **0.93x (?)**
DataAccessBytesMedium                        40.538      43.667     +7.7%            **0.93x (?)**

IMPROVEMENT                                  OLD         NEW        DELTA            RATIO    
StringEqualPointerComparison                 156.0       31.2       -80.0%           **5.00x**
StringWithCString2                           0.001       0.0        -50.0%           **2.00x (?)**
PrefixWhileSequenceLazy                      28.829      19.342     -32.9%           **1.49x (?)**
CxxStringConversion.cxx.to.swift             127.833     92.5       -27.6%           **1.38x (?)**
CharacterLiteralsLarge                       53.03       40.548     -23.5%           **1.31x (?)**
SIMDReduce.Int32x4.Initializer               328.0       255.5      -22.1%           **1.28x (?)**
UTF8Decode_InitFromCustom_contiguous_ascii   138.0       110.8      -19.7%           **1.25x (?)**
UTF8Decode_InitDecoding_ascii                131.429     107.6      -18.1%           **1.22x (?)**
PointerArithmetics                           18716.667   15600.0    -16.7%           **1.20x**
StringToDataEmpty                            391.892     348.75     -11.0%           **1.12x (?)**
CSVParsingAlt2                               656.7       593.75     -9.6%            **1.11x (?)**
CStringLongAscii                             108.722     98.833     -9.1%            **1.10x (?)**
Set.isStrictSubset.Int.Empty                 35.867      32.75      -8.7%            **1.10x (?)**
Set.subtracting.Seq.Empty.Int                110.75      101.333    -8.5%            **1.09x (?)**
StringToDataSmall                            445.556     407.778    -8.5%            **1.09x (?)**
Set.isStrictSubset.Int0                      39.0        35.862     -8.0%            **1.09x (?)**
Set.subtracting.Seq.Int.Empty                116.111     107.0      -7.8%            **1.09x (?)**
CharIndexing_tweet_unicodeScalars            4975.0      4588.235   -7.8%            **1.08x (?)**
CharIndexing_ascii_unicodeScalars            2536.0      2354.545   -7.2%            **1.08x (?)**
AngryPhonebook.Strasse.Small                 89.308      83.25      -6.8%            **1.07x (?)**
ConvertFloatingPoint.MockFloat64Exactly      4.408       4.114      -6.7%            **1.07x (?)**
NSStringConversion.InlineBuffer.UTF8         500.5       467.667    -6.6%            **1.07x (?)**

------- Code size: -Osize -------

REGRESSION                                         OLD     NEW     DELTA    RATIO  
StrToInt.o                                         4066    5430    +33.5%   **0.75x**
RomanNumbers.o                                     3269    3997    +22.3%   **0.82x**
Suffix.o                                           13684   15160   +10.8%   **0.90x**
ObserverForwarderStruct.o                          2197    2383    +8.5%    **0.92x**
ProtocolConformance.o                              2905    3139    +8.1%    **0.93x**
DictionaryKeysContains.o                           5980    6440    +7.7%    **0.93x**
ErrorHandling.o                                    2100    2248    +7.0%    **0.93x**
BitCount.o                                         1066    1138    +6.8%    **0.94x**
ChainedFilterMap.o                                 2383    2539    +6.5%    **0.94x**
BufferFill.o                                       5701    6033    +5.8%    **0.94x**
DictionarySwap.o                                   13043   13727   +5.2%    **0.95x**
SequenceAlgos.o                                    15678   16474   +5.1%    **0.95x**
ObjectAllocation.o                                 2906    3050    +5.0%    **0.95x**
BinaryFloatingPointProperties.o                    3645    3825    +4.9%    **0.95x**
Exclusivity.o                                      2874    3014    +4.9%    **0.95x**
DictionaryCopy.o                                   6124    6392    +4.4%    **0.96x**
DictionaryCompactMapValues.o                       11570   12054   +4.2%    **0.96x**
DictionaryRemove.o                                 13392   13920   +3.9%    **0.96x**
BucketSort.o                                       6485    6733    +3.8%    **0.96x**
ObjectiveCBridging.o                               37178   38562   +3.7%    **0.96x**
ObserverUnappliedMethod.o                          3768    3906    +3.7%    **0.96x**
BinaryFloatingPointConversionFromBinaryInteger.o   20458   21206   +3.7%    **0.96x**
RangeOverlaps.o                                    4075    4215    +3.4%    **0.97x**
PrimsNonStrongRef.o                                60098   62113   +3.4%    **0.97x**
XorLoop.o                                          1106    1142    +3.3%    **0.97x**
DictionaryBridgeToObjC.o                           3198    3302    +3.3%    **0.97x**
LazyFilter.o                                       5445    5617    +3.2%    **0.97x**
ReduceInto.o                                       6081    6273    +3.2%    **0.97x**
ArrayLiteral.o                                     1718    1770    +3.0%    **0.97x**
MonteCarloPi.o                                     1074    1106    +3.0%    **0.97x**
RangeIteration.o                                   1084    1116    +3.0%    **0.97x**
COWTree.o                                          8476    8724    +2.9%    **0.97x**
UTF16Decode.o                                      13082   13460   +2.9%    **0.97x**
NSDictionaryCastToSwift.o                          1122    1154    +2.9%    **0.97x**
IndexPathTest.o                                    6186    6362    +2.8%    **0.97x**
NaiveRangeReplaceableCollectionConformance.o       7970    8194    +2.8%    **0.97x**
DeadArray.o                                        1194    1226    +2.7%    **0.97x**
DropFirst.o                                        10723   11003   +2.6%    **0.97x**
DictOfArraysToArrayOfDicts.o                       15177   15569   +2.6%    **0.97x**
ProtocolDispatch2.o                                1405    1441    +2.6%    **0.98x**
SevenBoom.o                                        1264    1296    +2.5%    **0.98x**
StrComplexWalk.o                                   2150    2202    +2.4%    **0.98x**
Prefix.o                                           11000   11264   +2.4%    **0.98x**
DictTest3.o                                        9346    9570    +2.4%    **0.98x**
UTF8Decode.o                                       13748   14074   +2.4%    **0.98x**
Memset.o                                           1525    1561    +2.4%    **0.98x**
DictionarySubscriptDefault.o                       10237   10477   +2.3%    **0.98x**
PopFront.o                                         2512    2568    +2.2%    **0.98x**
PointerArithmetics.o                               1270    1298    +2.2%    **0.98x**
DictionaryLiteralTest.o                            550     562     +2.2%    **0.98x**
RC4.o                                              2568    2624    +2.2%    **0.98x**
SortIntPyramids.o                                  7048    7196    +2.1%    **0.98x**
ExistentialPerformance.o                           24242   24744   +2.1%    **0.98x**
SIMDReduceInteger.o                                4986    5086    +2.0%    **0.98x**
DictionaryOfAnyHashableStrings.o                   4475    4561    +1.9%    **0.98x**
LinkedList.o                                       1718    1750    +1.9%    **0.98x**
Calculator.o                                       1726    1758    +1.9%    **0.98x**
Combos.o                                           3920    3992    +1.8%    **0.98x**
MapReduce.o                                        14797   15053   +1.7%    **0.98x**
DropWhile.o                                        10451   10627   +1.7%    **0.98x**
FloatingPointConversion.o                          17850   18142   +1.6%    **0.98x**
DictTest2.o                                        6322    6422    +1.6%    **0.98x**
SetTests.o                                         95435   96935   +1.6%    **0.98x**
PopFrontGeneric.o                                  2053    2085    +1.6%    **0.98x**
CSVParsing.o                                       38552   39140   +1.5%    **0.98x**
DropLast.o                                         13970   14182   +1.5%    **0.99x**
CharacterLiteralsSmall.o                           802     814     +1.5%    **0.99x**
ArraySubscript.o                                   1881    1909    +1.5%    **0.99x**
DictionaryGroup.o                                  8911    9043    +1.5%    **0.99x**
DictionaryBridge.o                                 2230    2262    +1.4%    **0.99x**
DictTest.o                                         8390    8510    +1.4%    **0.99x**
OpenClose.o                                        2435    2467    +1.3%    **0.99x**
RandomShuffle.o                                    2530    2562    +1.3%    **0.99x**
WordCount.o                                        29583   29951   +1.2%    **0.99x**
CodableTest.o                                      19670   19914   +1.2%    **0.99x**
RangeAssignment.o                                  2617    2649    +1.2%    **0.99x**
FloatingPointParsing.o                             6899    6975    +1.1%    **0.99x**
StringInterpolation.o                              5194    5250    +1.1%    **0.99x**
ChaCha.o                                           10170   10278   +1.1%    **0.99x**

IMPROVEMENT                                        OLD     NEW     DELTA    RATIO  
NopDeinit.o                                        3253    2741    -15.7%   **1.19x**
RangeReplaceableCollectionPlusDefault.o            5571    4969    -10.8%   **1.12x**
StringMatch.o                                      3086    2914    -5.6%    **1.06x**
DiffingMyers.o                                     5707    5463    -4.3%    **1.04x**
ClassArrayGetter.o                                 3150    3042    -3.4%    **1.04x**
SubstringTest.o                                    13291   12923   -2.8%    **1.03x**
CharacterLiteralsLarge.o                           586     570     -2.7%    **1.03x**
PrefixWhile.o                                      10277   10049   -2.2%    **1.02x**
LuhnAlgoLazy.o                                     10029   9809    -2.2%    **1.02x**
LuhnAlgoEager.o                                    10033   9813    -2.2%    **1.02x**
CxxStringConversion.o                              2292    2252    -1.7%    **1.02x**
StringEdits.o                                      7480    7356    -1.7%    **1.02x**
RecursiveOwnedParameter.o                          986     970     -1.6%    **1.02x**
Phonebook.o                                        6940    6828    -1.6%    **1.02x**
ByteSwap.o                                         1066    1050    -1.5%    **1.02x**
TwoSum.o                                           1953    1929    -1.2%    **1.01x**
Histogram.o                                        1313    1297    -1.2%    **1.01x**
Walsh.o                                            3449    3409    -1.2%    **1.01x**
FindStringNaive.o                                  5165    5113    -1.0%    **1.01x**

------- Performance (arm64): -Onone -------

REGRESSION                                                  OLD         NEW         DELTA     RATIO    
SIMDReduce.Int8                                             5449.0      21852.0     +301.0%   **0.25x**
SIMDReduce.Int32                                            1217.0      4822.0      +296.2%   **0.25x**
StringWithCString2                                          0.005       0.019       +233.3%   **0.30x**
SIMDReduce.Int32x4.Cast                                     525.0       1387.0      +164.2%   **0.38x**
SIMDReduce.Int8x16.Cast                                     870.5       1754.0      +101.5%   **0.50x (?)**
UTF16Decode.initFromCustom.cont                             1064.0      1895.0      +78.1%    **0.56x (?)**
CxxVecU32.sum.Swift.forInLoop                               4302.0      7564.0      +75.8%    **0.57x**
CxxVecU32.sum.Swift.reduce                                  5117.0      8956.0      +75.0%    **0.57x**
UTF16Decode.initFromCustom.noncont                          1064.0      1856.0      +74.4%    **0.57x (?)**
UTF16Decode.initDecoding                                    113.2       195.5       +72.7%    **0.58x**
SetSubtractingInt0                                          89.273      151.688     +69.9%    **0.59x**
ArrayAppendSequence                                         33080.0     51580.0     +55.9%    **0.64x**
NSStringConversion.Mutable                                  974.0       1514.0      +55.4%    **0.64x (?)**
Set.isDisjoint.Smaller.Int0                                 149.667     230.8       +54.2%    **0.65x (?)**
NSStringConversion.Long                                     1751.0      2686.0      +53.4%    **0.65x**
Set.subtracting.Seq.Box.Empty                               312.0       478.2       +53.3%    **0.65x (?)**
IterateData                                                 1364.0      2017.0      +47.9%    **0.68x**
NSStringConversion.Medium                                   708.333     1047.0      +47.8%    **0.68x (?)**
CharIteration_utf16_unicodeScalars_Backwards                81840.0     120080.0    +46.7%    **0.68x (?)**
SequenceAlgosContiguousArray                                208220.0    304220.0    +46.1%    **0.68x**
CharIteration_ascii_unicodeScalars_Backwards                96840.0     141400.0    +46.0%    **0.68x (?)**
CharIteration_tweet_unicodeScalars_Backwards                192280.0    279960.0    +45.6%    **0.69x**
CharIteration_punctuatedJapanese_unicodeScalars_Backwards   16968.0     24640.0     +45.2%    **0.69x (?)**
CharIteration_japanese_unicodeScalars_Backwards             118200.0    171480.0    +45.1%    **0.69x**
SetUnionInt100                                              145.882     211.636     +45.1%    **0.69x (?)**
CharIteration_russian_unicodeScalars_Backwards              82200.0     119120.0    +44.9%    **0.69x (?)**
CharIteration_chinese_unicodeScalars_Backwards              74840.0     108320.0    +44.7%    **0.69x (?)**
LineSink.scalars.complex                                    385.5       556.75      +44.4%    **0.69x**
LineSink.bytes.complex                                      385.5       556.75      +44.4%    **0.69x**
CharIteration_punctuated_unicodeScalars_Backwards           21860.0     31420.0     +43.7%    **0.70x (?)**
CharIteration_korean_unicodeScalars_Backwards               97120.0     139200.0    +43.3%    **0.70x (?)**
NSStringConversion.LongUTF8                                 740.333     1060.5      +43.2%    **0.70x (?)**
Set.isDisjoint.Seq.Box.Empty                                375.333     537.0       +43.1%    **0.70x (?)**
NSStringConversion.MutableCopy.Long                         560.5       801.667     +43.0%    **0.70x (?)**
Dictionary3                                                 233.875     334.2       +42.9%    **0.70x**
CharacterPropertiesStashed                                  810.0       1140.667    +40.8%    **0.71x**
SetSubtractingInt100                                        148.0       207.636     +40.3%    **0.71x**
StrToInt                                                    15860.0     22040.0     +39.0%    **0.72x (?)**
LineSink.bytes.alpha                                        115.81      158.533     +36.9%    **0.73x**
DifferentiationArraySum                                     613.0       834.5       +36.1%    **0.73x (?)**
MapReduceLazyCollection                                     11933.0     16134.0     +35.2%    **0.74x**
NSStringConversion.MutableCopy.LongUTF8                     466.4       628.25      +34.7%    **0.74x (?)**
ArrayAppendLazyMap                                          93330.0     125450.0    +34.4%    **0.74x**
ParseInt.IntSmall.Decimal                                   4282.0      5715.0      +33.5%    **0.75x**
IndexPath.Max                                               323.0       431.0       +33.4%    **0.75x (?)**
DictionarySwap                                              2024.0      2693.333    +33.1%    **0.75x (?)**
NSStringConversion.MutableCopy.Medium                       538.0       715.333     +33.0%    **0.75x (?)**
MapReduceLazyCollectionShort                                13389.0     17780.0     +32.8%    **0.75x**
NSStringConversion.UTF8                                     1019.5      1353.0      +32.7%    **0.75x (?)**
ParseInt.IntSmall.UncommonRadix                             4509.0      5957.0      +32.1%    **0.76x**
IndexPath.Min                                               323.857     427.6       +32.0%    **0.76x**
SuffixArray                                                 1364.0      1800.0      +32.0%    **0.76x**
DropFirstArray                                              4087.0      5389.0      +31.9%    **0.76x**
UTF8Decode_InitFromCustom_noncontiguous_ascii_as_ascii      39595.0     52205.0     +31.8%    **0.76x**
UTF8Decode_InitFromCustom_noncontiguous_ascii               39619.0     52235.0     +31.8%    **0.76x**
UTF8Decode_InitFromCustom_noncontiguous                     12542.0     16534.0     +31.8%    **0.76x**
PrefixArray                                                 4086.0      5378.0      +31.6%    **0.76x**
DropLastArray                                               1364.0      1793.0      +31.5%    **0.76x**
Dict.CopyKeyValue.24k                                       2551.0      3336.0      +30.8%    **0.76x**
SetUnionInt50                                               229.778     299.5       +30.3%    **0.77x (?)**
Set.isDisjoint.Int0                                         366.333     477.2       +30.3%    **0.77x (?)**
Dict.CopyKeyValue.20k                                       2166.0      2821.0      +30.2%    **0.77x**
SIMDReduce.Int32x16.Cast                                    898.0       1167.5      +30.0%    **0.77x (?)**
SIMDRandomMask.Int64x2                                      534.0       694.0       +30.0%    **0.77x**
ReversedDictionary2                                         7768.0      10086.0     +29.8%    **0.77x**
SetSymmetricDifferenceInt100                                282.125     366.0       +29.7%    **0.77x (?)**
SequenceAlgosList                                           3740.0      4847.5      +29.6%    **0.77x**
Set.isSuperset.Seq.Int50                                    834.0       1080.0      +29.5%    **0.77x (?)**
RangeReplaceableCollectionPlusDefault                       1946.0      2518.667    +29.4%    **0.77x (?)**
LazilyFilteredArrays2                                       34750.0     44940.0     +29.3%    **0.77x**
Set.isSuperset.Seq.Int100                                   1685.0      2173.0      +29.0%    **0.78x (?)**
Dictionary                                                  1040.0      1340.0      +28.8%    **0.78x (?)**
ReversedArray2                                              7185.0      9248.0      +28.7%    **0.78x**
Set.isSuperset.Seq.Int25                                    429.0       552.0       +28.7%    **0.78x (?)**
FatCompactMap                                               180550.0    231660.0    +28.3%    **0.78x**
Set.subtracting.Seq.Int.Empty                               307.5       394.5       +28.3%    **0.78x (?)**
SumUsingReduceInto                                          73168.0     93818.0     +28.2%    **0.78x**
CharacterPropertiesStashedMemo                              1425.833    1826.0      +28.1%    **0.78x (?)**
SumUsingReduce                                              74420.0     95176.0     +27.9%    **0.78x**
Dict.CopyKeyValue.28k                                       3278.0      4192.0      +27.9%    **0.78x**
Dictionary4                                                 467.25      597.333     +27.8%    **0.78x**
Set.isStrictSuperset.Seq.Int25                              422.6       537.5       +27.2%    **0.79x (?)**
FlattenListLoop                                             28964.0     36813.0     +27.1%    **0.79x**
UTF8Decode                                                  13924.0     17677.0     +27.0%    **0.79x**
Set.isStrictSuperset.Seq.Int100                             1681.0      2131.0      +26.8%    **0.79x (?)**
DictionaryRemove                                            5730.0      7263.333    +26.8%    **0.79x (?)**
CharIndexing_punctuatedJapanese_unicodeScalars              27640.0     35020.0     +26.7%    **0.79x (?)**
CharIndexing_tweet_unicodeScalars                           314080.0    397920.0    +26.7%    **0.79x**
CharIndexing_tweet_unicodeScalars_Backwards                 304080.0    385120.0    +26.7%    **0.79x**
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards    26600.0     33680.0     +26.6%    **0.79x (?)**
CharIndexing_korean_unicodeScalars                          155400.0    196720.0    +26.6%    **0.79x (?)**
Set.isDisjoint.Seq.Box25                                    1825.0      2307.0      +26.4%    **0.79x (?)**
CharIndexing_ascii_unicodeScalars                           159200.0    201240.0    +26.4%    **0.79x (?)**
CharIndexing_chinese_unicodeScalars                         120920.0    152800.0    +26.4%    **0.79x (?)**
CharIndexing_japanese_unicodeScalars                        191640.0    242080.0    +26.3%    **0.79x (?)**
CharIndexing_russian_unicodeScalars                         133280.0    168240.0    +26.2%    **0.79x (?)**
ChainedFilterMap                                            117270.0    147888.0    +26.1%    **0.79x**
CharIndexing_japanese_unicodeScalars_Backwards              187680.0    236520.0    +26.0%    **0.79x (?)**
CharacterPropertiesPrecomputed                              1213.158    1528.667    +26.0%    **0.79x**
CharIndexing_ascii_unicodeScalars_Backwards                 154280.0    194360.0    +26.0%    **0.79x (?)**
DictionaryCompactMapValuesOfCastValue                       21033.0     26487.0     +25.9%    **0.79x (?)**
Set.isStrictSuperset.Seq.Int50                              830.0       1045.0      +25.9%    **0.79x (?)**
Set.intersection.Seq.Box0                                   518.75      652.667     +25.8%    **0.79x**
DictionarySwapAt                                            1086.0      1366.0      +25.8%    **0.80x**
CharIndexing_punctuated_unicodeScalars                      35220.0     44260.0     +25.7%    **0.80x (?)**
SequenceAlgosArray                                          364170.0    457580.0    +25.7%    **0.80x**
CharIndexing_russian_unicodeScalars_Backwards               130320.0    163680.0    +25.6%    **0.80x (?)**
StringComparison_ascii                                      4368.0      5481.0      +25.5%    **0.80x (?)**
SetIsSubsetInt100                                           277.0       347.0       +25.3%    **0.80x (?)**
SetUnionInt25                                               257.0       321.857     +25.2%    **0.80x (?)**
KeyPathOptionals                                            433.2       542.0       +25.1%    **0.80x**
CharIndexing_punctuated_unicodeScalars_Backwards            34480.0     43120.0     +25.1%    **0.80x (?)**
CharIndexing_korean_unicodeScalars_Backwards                154120.0    192720.0    +25.0%    **0.80x (?)**
CharIndexing_chinese_unicodeScalars_Backwards               119400.0    149080.0    +24.9%    **0.80x (?)**
Dict.CopyKeyValue.16k                                       1895.0      2366.0      +24.9%    **0.80x**
CharIndexing_utf16_unicodeScalars_Backwards                 140240.0    175040.0    +24.8%    **0.80x (?)**
LazilyFilteredArrayContains                                 426300.0    531400.0    +24.7%    **0.80x**
RawBufferInitializeMemory                                   7389.0      9210.0      +24.6%    **0.80x**
UTF16Decode                                                 11261.0     14027.0     +24.6%    **0.80x**
Data.append.Sequence.64kB.Count.I                           757.0       942.0       +24.4%    **0.80x (?)**
SubstringComparable                                         681.0       847.0       +24.4%    **0.80x**
Data.append.Sequence.64kB.Count                             757.667     942.0       +24.3%    **0.80x (?)**
FilterEvenUsingReduceInto                                   867.5       1078.5      +24.3%    **0.80x**
Data.init.Sequence.64kB.Count.I                             757.0       941.0       +24.3%    **0.80x (?)**
Data.init.Sequence.64kB.Count                               757.0       941.0       +24.3%    **0.80x (?)**
Set.isDisjoint.Seq.Int25                                    1311.0      1629.0      +24.3%    **0.80x**
CharIndexing_utf16_unicodeScalars                           146800.0    182320.0    +24.2%    **0.81x (?)**
Set.subtracting.Int.Empty                                   61.179      75.957      +24.2%    **0.81x (?)**
Data.init.Sequence.2047B.Count.I                            1193.0      1481.0      +24.1%    **0.81x (?)**
Data.init.Sequence.2049B.Count.I                            1195.0      1483.0      +24.1%    **0.81x (?)**
FilterEvenUsingReduce                                       1257.143    1557.5      +23.9%    **0.81x**
Set.subtracting.Seq.Box0                                    2591.0      3209.0      +23.9%    **0.81x (?)**
ArrayValueProp2                                             6603.0      8176.0      +23.8%    **0.81x**
Set.isSubset.Seq.Int50                                      831.0       1028.5      +23.8%    **0.81x**
Data.init.Sequence.809B.Count                               956.0       1183.0      +23.7%    **0.81x (?)**
PrefixWhileArrayLazy                                        6816.0      8432.0      +23.7%    **0.81x**
Set.isStrictSubset.Seq.Int100                               1683.0      2082.0      +23.7%    **0.81x (?)**
Set.isDisjoint.Seq.Int0                                     1811.0      2240.0      +23.7%    **0.81x (?)**
Set.isStrictSubset.Seq.Int50                                834.5       1032.0      +23.7%    **0.81x (?)**
Data.init.Sequence.809B.Count.I                             957.0       1183.0      +23.6%    **0.81x (?)**
Set.isSubset.Seq.Box0                                       2596.0      3208.0      +23.6%    **0.81x (?)**
Set.isSubset.Seq.Int100                                     1683.0      2079.0      +23.5%    **0.81x (?)**
Set.isDisjoint.Seq.Box0                                     2597.0      3207.0      +23.5%    **0.81x (?)**
StringDistance.utf8.mixed                                   110.0       135.8       +23.5%    **0.81x (?)**
Set.subtracting.Seq.Int0                                    1798.0      2219.0      +23.4%    **0.81x (?)**
Data.append.Sequence.809B.Count                             969.0       1195.5      +23.4%    **0.81x (?)**
Data.append.Sequence.809B.Count.I                           969.5       1196.0      +23.4%    **0.81x (?)**
Data.init.Sequence.511B.Count.I                             921.0       1136.0      +23.3%    **0.81x (?)**
Set.isStrictSubset.Seq.Box0                                 2607.0      3214.0      +23.3%    **0.81x (?)**
DropWhileArray                                              5434.0      6699.0      +23.3%    **0.81x**
Set.intersection.Seq.Int100                                 335.5       413.5       +23.2%    **0.81x (?)**
Data.init.Sequence.513B.Count.I                             925.0       1140.0      +23.2%    **0.81x (?)**
Set.isSuperset.Seq.Empty.Int                                342.143     421.4       +23.2%    **0.81x (?)**
Set.isSubset.Seq.Box25                                      649.0       799.333     +23.2%    **0.81x (?)**
Set.isStrictSuperset.Seq.Box25                              649.667     800.0       +23.1%    **0.81x (?)**
Set.isSuperset.Seq.Box25                                    657.0       809.0       +23.1%    **0.81x (?)**
StringHashing_ascii                                         108.667     133.8       +23.1%    **0.81x (?)**
Set.isSubset.Seq.Int25                                      423.8       521.5       +23.1%    **0.81x**
Set.isDisjoint.Seq.Int.Empty                                369.0       453.8       +23.0%    **0.81x (?)**
Set.isStrictSubset.Seq.Int25                                429.0       527.5       +23.0%    **0.81x**
Set.isStrictSubset.Int50                                    185.231     227.714     +22.9%    **0.81x (?)**
Set.isStrictSubset.Seq.Box25                                659.0       810.0       +22.9%    **0.81x (?)**
SetSubtractingInt50                                         217.25      267.0       +22.9%    **0.81x (?)**
Set.subtracting.Seq.Int100                                  2002.0      2458.0      +22.8%    **0.81x (?)**
StringDistance.utf8.ascii                                   2346.0      2879.0      +22.7%    **0.81x (?)**
StringDistance.utf16.ascii                                  2363.0      2895.0      +22.5%    **0.82x (?)**
Set.isDisjoint.Seq.Int50                                    909.0       1112.5      +22.4%    **0.82x (?)**
StringComparison_latin1                                     2035.0      2486.0      +22.2%    **0.82x (?)**
QueueConcrete                                               5566.667    6790.0      +22.0%    **0.82x**
SIMDReduce.Int8x64.Cast                                     2131.0      2596.0      +21.8%    **0.82x (?)**
CaptureProp                                                 188160.0    229140.0    +21.8%    **0.82x**
RemoveWhereFilterStrings                                    1068.5      1301.0      +21.8%    **0.82x**
Histogram                                                   2647.0      3222.0      +21.7%    **0.82x**
Set.isSubset.Seq.Int0                                       1790.0      2176.0      +21.6%    **0.82x (?)**
Set.intersection.Seq.Box25                                  577.75      702.0       +21.5%    **0.82x (?)**
ClosedRangeOverlapsClosedRange                              7555.0      9173.0      +21.4%    **0.82x**
LuhnAlgoLazy                                                1313.0      1594.0      +21.4%    **0.82x**
KeyPathNestedClasses                                        129.111     156.733     +21.4%    **0.82x**
DictionaryLiteral                                           2034.0      2468.889    +21.4%    **0.82x (?)**
Set.intersection.Seq.Int0                                   358.667     435.2       +21.3%    **0.82x (?)**
SetSubtractingBox0                                          241.5       293.0       +21.3%    **0.82x (?)**
StringBuilder                                               2310.0      2801.0      +21.3%    **0.82x (?)**
Set.isStrictSubset.Seq.Int0                                 1793.0      2174.0      +21.2%    **0.82x (?)**
MapReduceLazySequence                                       10593.0     12835.0     +21.2%    **0.83x**
SubstringEquatable                                          1976.0      2394.0      +21.2%    **0.83x (?)**
StringComparison_fastPrenormal                              2570.0      3110.0      +21.0%    **0.83x (?)**
StringBuilderSmallReservingCapacity                         2318.0      2805.0      +21.0%    **0.83x (?)**
LuhnAlgoEager                                               1315.0      1589.0      +20.8%    **0.83x (?)**
StringUTF16Builder                                          2373.333    2865.0      +20.7%    **0.83x (?)**
SetSubtractingInt25                                         234.0       282.0       +20.5%    **0.83x (?)**
Chars2                                                      16335.714   19666.667   +20.4%    **0.83x (?)**
AngryPhonebook.ASCII2.Small                                 402.833     484.75      +20.3%    **0.83x (?)**
MapReduceString                                             724.0       871.0       +20.3%    **0.83x (?)**
CharIteration_korean_unicodeScalars                         68600.0     82520.0     +20.3%    **0.83x (?)**
RemoveWhereFilterInts                                       896.0       1077.5      +20.3%    **0.83x**
CharIteration_ascii_unicodeScalars                          69080.0     82960.0     +20.1%    **0.83x (?)**
CharIteration_chinese_unicodeScalars                        53160.0     63840.0     +20.1%    **0.83x (?)**
CharIteration_japanese_unicodeScalars                       83960.0     100760.0    +20.0%    **0.83x (?)**
Set.intersection.Seq.Int25                                  375.0       450.0       +20.0%    **0.83x (?)**
CharIteration_russian_unicodeScalars                        58440.0     70120.0     +20.0%    **0.83x (?)**
Set.subtracting.Seq.Int50                                   2242.0      2690.0      +20.0%    **0.83x (?)**
SetIsSubsetInt25                                            97.16       116.462     +19.9%    **0.83x**
Set.intersection.Seq.Int50                                  383.0       459.0       +19.8%    **0.83x**
CharIteration_punctuatedJapanese_unicodeScalars             12300.0     14733.333   +19.8%    **0.83x (?)**
Dictionary3OfObjects                                        519.0       621.667     +19.8%    **0.83x (?)**
RawBufferCopyBytes                                          13.352      15.979      +19.7%    **0.84x (?)**
DropWhileArrayLazy                                          8389.0      10035.0     +19.6%    **0.84x**
CharIteration_punctuated_unicodeScalars                     15586.667   18640.0     +19.6%    **0.84x (?)**
StringComparison_emoji                                      777.818     928.889     +19.4%    **0.84x (?)**
MapReduceSequence                                           13865.0     16553.0     +19.4%    **0.84x**
Set.subtracting.Seq.Int25                                   2349.0      2800.0      +19.2%    **0.84x (?)**
StringComparison_longSharedPrefix                           980.0       1167.5      +19.1%    **0.84x**
SetIsSubsetInt50                                            184.692     220.0       +19.1%    **0.84x**
Set.subtracting.Box.Empty                                   59.833      71.258      +19.1%    **0.84x (?)**
CharIteration_tweet_unicodeScalars                          137040.0    163000.0    +18.9%    **0.84x (?)**
SuperChars2                                                 625.667     744.0       +18.9%    **0.84x (?)**
Set.isStrictSubset.Seq.Int.Empty                            414.667     493.0       +18.9%    **0.84x**
KeyPathGet                                                  148.462     176.462     +18.9%    **0.84x (?)**
UTF8Decode_InitDecoding_ascii_as_ascii                      123.526     146.688     +18.8%    **0.84x (?)**
MapReduceShortString                                        63.0        74.8        +18.7%    **0.84x (?)**
StringComparison_nonBMPSlowestPrenormal                     1404.0      1666.923    +18.7%    **0.84x (?)**
Set.isStrictSubset.Int25                                    97.875      116.071     +18.6%    **0.84x (?)**
StringMatch                                                 14820.0     17570.0     +18.6%    **0.84x (?)**
ParseInt.UInt64.Hex                                         1530.0      1813.0      +18.5%    **0.84x (?)**
SIMDReduce.Int32x4.Initializer                              52317.0     61987.0     +18.5%    **0.84x**
Set.isStrictSuperset.Seq.Box0                               85.889      101.714     +18.4%    **0.84x (?)**
Set.subtracting.Seq.Box25                                   3809.0      4510.0      +18.4%    **0.84x (?)**
StringComparison_slowerPrenormal                            1710.0      2024.545    +18.4%    **0.84x (?)**
RangeOverlapsClosedRange                                    9103.0      10770.0     +18.3%    **0.85x**
RangeOverlapsRange                                          8423.0      9961.0      +18.3%    **0.85x**
ParseInt.UInt64.Decimal                                     1517.0      1793.0      +18.2%    **0.85x (?)**
ParseInt.UIntSmall.Binary                                   6145.0      7254.0      +18.0%    **0.85x**
StringUTF16SubstringBuilder                                 4732.5      5585.0      +18.0%    **0.85x**
Dictionary4Legacy                                           662.667     782.0       +18.0%    **0.85x (?)**
NSStringConversion.MutableCopy.UTF8                         391.333     461.0       +17.8%    **0.85x**
Breadcrumbs.MutatedUTF16ToIdx.ASCII                         7.067       8.316       +17.7%    **0.85x**
Set.isSuperset.Seq.Box0                                     798.333     938.0       +17.5%    **0.85x (?)**
Dictionary4OfObjects                                        644.667     757.0       +17.4%    **0.85x (?)**
Breadcrumbs.UTF16ToIdx.longASCII                            538.25      631.0       +17.2%    **0.85x**
CharIteration_utf16_unicodeScalars                          54800.0     64240.0     +17.2%    **0.85x (?)**
SetUnion                                                    3830.0      4488.0      +17.2%    **0.85x (?)**
QueueGeneric                                                6960.0      8150.0      +17.1%    **0.85x (?)**
KeyPathMutatingGetset                                       157.214     184.083     +17.1%    **0.85x**
DictionaryOfObjects                                         1854.167    2170.0      +17.0%    **0.85x**
NormalizedIterator_ascii                                    140.353     164.067     +16.9%    **0.86x (?)**
MapReduce                                                   13213.0     15408.0     +16.6%    **0.86x**
FlattenListFlatMap                                          76785.0     89468.0     +16.5%    **0.86x**
SetUnionInt0                                                385.0       448.4       +16.5%    **0.86x**
Breadcrumbs.IdxToUTF16Range.longASCII                       105.222     122.5       +16.4%    **0.86x**
WordCountUniqueASCII                                        3780.0      4396.0      +16.3%    **0.86x (?)**
Breadcrumbs.MutatedIdxToUTF16.ASCII                         6.974       8.108       +16.3%    **0.86x**
SubstringTrimmingASCIIWhitespace                            299.5       347.833     +16.1%    **0.86x (?)**
MapReduceAnyCollection                                      13213.0     15310.0     +15.9%    **0.86x**
Set.isSubset.Seq.Int.Empty                                  476.4       552.0       +15.9%    **0.86x (?)**
ProtocolConformance                                         75.667      87.667      +15.9%    **0.86x (?)**
WordCountUniqueUTF16                                        3894.0      4510.0      +15.8%    **0.86x (?)**
CSVParsingAltIndices2                                       2462.0      2851.444    +15.8%    **0.86x**
Breadcrumbs.UTF16ToIdxRange.longASCII                       108.087     125.053     +15.7%    **0.86x**
Set.isStrictSuperset.Seq.Empty.Int                          429.0       496.0       +15.6%    **0.86x (?)**
ParseFloat.Float.Exp                                        14.125      16.326      +15.6%    **0.87x (?)**
StringHashing_latin1                                        223.0       257.667     +15.5%    **0.87x (?)**
StringToDataSmall                                           1040.678    1200.943    +15.4%    **0.87x (?)**
BucketSort                                                  3893.0      4492.0      +15.4%    **0.87x**
PrefixWhileAnySequence                                      9052.0      10444.0     +15.4%    **0.87x (?)**
StringDistance.scalars.ascii                                3520.0      4061.0      +15.4%    **0.87x (?)**
MapReduceAnyCollectionShort                                 14740.0     17000.0     +15.3%    **0.87x (?)**
ObjectiveCBridgeFromNSString                                1350.714    1557.5      +15.3%    **0.87x (?)**
ObjectAllocation                                            476.25      549.0       +15.3%    **0.87x (?)**
StringRemoveDupes                                           353.8       407.8       +15.3%    **0.87x (?)**
DictionaryGroupOfObjects                                    2138.625    2464.714    +15.2%    **0.87x**
MapReduceShort                                              14780.0     17030.0     +15.2%    **0.87x (?)**
SubstringEqualString                                        577.75      665.0       +15.1%    **0.87x (?)**
PrefixWhileArray                                            8125.0      9350.0      +15.1%    **0.87x**
StringDistance.utf16.mixed                                  180.667     207.667     +14.9%    **0.87x (?)**
SetSymmetricDifferenceInt50                                 318.857     366.333     +14.9%    **0.87x (?)**
NormalizedIterator_latin1                                   234.0       268.778     +14.9%    **0.87x (?)**
PrefixWhileSequence                                         9081.0      10424.0     +14.8%    **0.87x (?)**
SIMDReduce.Int32x16.Initializer                             45443.0     52135.0     +14.7%    **0.87x**
MapReduceClass2                                             1429.0      1639.0      +14.7%    **0.87x (?)**
SIMDReduce.Int8x16.Initializer                              178232.0    204244.0    +14.6%    **0.87x**
StringDistance.scalars.mixed                                185.615     212.333     +14.4%    **0.87x (?)**
Breadcrumbs.IdxToUTF16.longASCII                            538.5       615.667     +14.3%    **0.87x**
Breadcrumbs.CopyUTF16CodeUnits.ASCII                        59.5        68.0        +14.3%    **0.88x**
String.data.Small                                           26.656      30.462      +14.3%    **0.88x (?)**
CharacterPropertiesFetch                                    1920.0      2193.333    +14.2%    **0.88x (?)**
Set.isSuperset.Seq.Int0                                     672.0       767.0       +14.1%    **0.88x (?)**
ObserverForwarderStruct                                     1219.167    1390.0      +14.0%    **0.88x (?)**
StringToDataEmpty                                           953.571     1086.792    +14.0%    **0.88x (?)**
ErrorHandling                                               2244.444    2557.5      +13.9%    **0.88x (?)**
MapReduceClassShort2                                        1599.0      1821.0      +13.9%    **0.88x (?)**
KeyPathClassStructs                                         358.833     408.6       +13.9%    **0.88x (?)**
ParseFloat.Double.Exp                                       14.191      16.146      +13.8%    **0.88x**
MapReduceNSDecimalNumber                                    1479.0      1682.0      +13.7%    **0.88x (?)**
String.data.Empty                                           24.949      28.357      +13.7%    **0.88x (?)**
SIMDReduce.Int8x64.Initializer                              173082.0    196567.0    +13.6%    **0.88x**
StringDistance.characters.ascii                             4011.0      4555.0      +13.6%    **0.88x**
Set.isDisjoint.Seq.Int100                                   718.0       815.0       +13.5%    **0.88x (?)**
Set.isSuperset.Seq.Int.Empty                                651.667     739.667     +13.5%    **0.88x (?)**
Prims.NonStrongRef.Unmanaged.Closure                        644.0       730.0       +13.4%    **0.88x (?)**
RemoveWhereQuadraticString                                  1144.0      1294.0      +13.1%    **0.88x (?)**
MapReduceNSDecimalNumberShort                               1657.0      1872.0      +13.0%    **0.89x (?)**
Prims.NonStrongRef.Unmanaged                                650.667     734.333     +12.9%    **0.89x (?)**
StringInterpolationSmall                                    1292.143    1457.857    +12.8%    **0.89x (?)**
Prims.NonStrongRef.UnmanagedUGR.Closure                     725.333     817.0       +12.6%    **0.89x (?)**
SIMDRandomMask.Int8x16                                      2734.0      3079.0      +12.6%    **0.89x**
Dictionary4OfObjectsLegacy                                  852.5       960.0       +12.6%    **0.89x (?)**
Prims.NonStrongRef.UnmanagedUGR                             729.333     820.0       +12.4%    **0.89x (?)**
ObserverClosure                                             1735.0      1950.0      +12.4%    **0.89x (?)**
PrefixWhileAnySeqCRangeIter                                 18350.0     20581.0     +12.2%    **0.89x**
Combos                                                      445.0       499.0       +12.1%    **0.89x (?)**
PrefixWhileAnySeqCntRange                                   18390.0     20570.0     +11.9%    **0.89x**
SetUnionBox25                                               550.75      616.0       +11.8%    **0.89x**
Breadcrumbs.UTF16ToIdx.longMixed                            792.0       885.0       +11.7%    **0.89x**
PrimsSplit                                                  1910.0      2133.75     +11.7%    **0.90x (?)**
Prims                                                       1912.5      2133.75     +11.6%    **0.90x (?)**
ObserverPartiallyAppliedMethod                              1767.5      1971.25     +11.5%    **0.90x (?)**
Data.append.Sequence.809B.Count.RE                          13732.0     15303.0     +11.4%    **0.90x**
Data.init.Sequence.809B.Count.RE                            13783.0     15356.0     +11.4%    **0.90x**
DataAppendSequence                                          1378400.0   1535700.0   +11.4%    **0.90x**
Data.init.Sequence.809B.Count.RE.I                          13779.0     15351.0     +11.4%    **0.90x**
Data.append.Sequence.809B.Count.RE.I                        13791.0     15356.0     +11.3%    **0.90x**
Data.init.Sequence.64kB.Count.RE                            11138.0     12401.0     +11.3%    **0.90x (?)**
Data.append.Sequence.64kB.Count.RE.I                        11141.0     12402.0     +11.3%    **0.90x (?)**
Data.append.Sequence.64kB.Count.RE                          11145.0     12398.0     +11.2%    **0.90x (?)**
Data.init.Sequence.64kB.Count.RE.I                          11140.0     12392.0     +11.2%    **0.90x (?)**
Set.isStrictSuperset.Seq.Int0                               74.96       83.368      +11.2%    **0.90x (?)**
Breadcrumbs.CopyUTF16CodeUnits.Mixed                        81.478      90.429      +11.0%    **0.90x (?)**
ParseFloat.Float.Uniform                                    23.196      25.683      +10.7%    **0.90x (?)**
StringHashing_slowerPrenormal                               259.07      285.513     +10.2%    **0.91x (?)**
Diffing.Myers.Similar                                       223.333     245.875     +10.1%    **0.91x (?)**
Data.append.Sequence.809B.Count0.RE                         13995.0     15406.0     +10.1%    **0.91x**
Data.append.Sequence.64kB.Count0.RE                         11331.0     12447.0     +9.8%     **0.91x (?)**
DictionaryRemoveOfObjects                                   14460.0     15880.0     +9.8%     **0.91x (?)**
Data.init.Sequence.64kB.Count0.RE                           11333.0     12440.0     +9.8%     **0.91x (?)**
Data.append.Sequence.809B.Count0.RE.I                       14033.0     15402.0     +9.8%     **0.91x (?)**
Data.append.Sequence.64kB.Count0.RE.I                       11338.0     12442.0     +9.7%     **0.91x (?)**
Data.init.Sequence.809B.Count0.RE                           14057.0     15425.0     +9.7%     **0.91x (?)**
ReversedBidirectional                                       30811.0     33808.0     +9.7%     **0.91x**
Data.init.Sequence.64kB.Count0.RE.I                         11338.0     12440.0     +9.7%     **0.91x**
Data.init.Sequence.809B.Count0.RE.I                         14065.0     15427.0     +9.7%     **0.91x (?)**
NormalizedIterator_slowerPrenormal                          268.315     293.929     +9.5%     **0.91x (?)**
DropLastAnySeqCRangeIterLazy                                20237.0     22073.0     +9.1%     **0.92x**
SuffixSequenceLazy                                          6608.0      7202.0      +9.0%     **0.92x**
CStringShortAscii                                           1670.909    1820.909    +9.0%     **0.92x**
PrefixWhileAnyCollectionLazy                                15535.0     16927.0     +9.0%     **0.92x (?)**
SetSymmetricDifferenceInt25                                 326.333     355.5       +8.9%     **0.92x (?)**
SuffixSequence                                              6610.0      7199.0      +8.9%     **0.92x (?)**
SuffixAnySequence                                           6609.0      7197.0      +8.9%     **0.92x (?)**
DropLastAnySeqCntRangeLazy                                  20258.0     22058.0     +8.9%     **0.92x**
ConvertFloatingPoint.MockFloat64Exactly                     234.667     255.5       +8.9%     **0.92x (?)**
PrefixWhileAnySeqCntRangeLazy                               15534.0     16910.0     +8.9%     **0.92x (?)**
StringComparison_abnormal                                   793.684     863.529     +8.8%     **0.92x (?)**
String.data.LargeUnicode                                    41.885      45.563      +8.8%     **0.92x (?)**
PrefixWhileCountableRangeLazy                               15461.0     16803.0     +8.7%     **0.92x**
SuffixAnySequenceLazy                                       6744.0      7326.0      +8.6%     **0.92x (?)**
PrefixWhileAnySeqCRangeIterLazy                             15531.0     16870.0     +8.6%     **0.92x (?)**
SuffixAnySeqCRangeIterLazy                                  19204.0     20845.0     +8.5%     **0.92x**
Breadcrumbs.UTF16ToIdxRange.longMixed                       193.818     210.3       +8.5%     **0.92x**
LazilyFilteredRange                                         472540.0    512690.0    +8.5%     **0.92x**
SetSubtractingBox25                                         509.5       552.75      +8.5%     **0.92x (?)**
RomanNumbers2                                               4068.0      4411.0      +8.4%     **0.92x (?)**
String.replaceSubrange.RepChar.Small                        191.5       207.636     +8.4%     **0.92x (?)**
DictionarySwapOfObjects                                     7613.333    8248.0      +8.3%     **0.92x (?)**
SuffixAnySeqCntRangeLazy                                    19176.0     20773.0     +8.3%     **0.92x**
DropLastAnySeqCntRange                                      20086.0     21729.0     +8.2%     **0.92x**
SIMDRandomMask.Int64x8                                      1669.0      1805.0      +8.1%     **0.92x (?)**
DropWhileAnySeqCntRange                                     20442.0     22100.0     +8.1%     **0.92x**
TwoSum                                                      1681.0      1817.0      +8.1%     **0.93x (?)**
DropFirstAnySeqCRangeIter                                   18131.0     19594.0     +8.1%     **0.93x (?)**
SuffixAnySeqCntRange                                        19049.0     20586.0     +8.1%     **0.93x (?)**
Set.isSubset.Empty.Int                                      158.714     171.5       +8.1%     **0.93x (?)**
DropFirstAnySeqCntRange                                     18129.0     19587.0     +8.0%     **0.93x (?)**
DropWhileAnySeqCRangeIter                                   20481.0     22119.0     +8.0%     **0.93x**
SuffixAnySeqCRangeIter                                      19073.0     20592.0     +8.0%     **0.93x**
Prims.NonStrongRef.UnownedUnsafe                            738.0       796.333     +7.9%     **0.93x (?)**
DropLastAnySeqCRangeIter                                    20136.0     21719.0     +7.9%     **0.93x (?)**
Prims.NonStrongRef.UnownedSafe                              898.0       968.5       +7.9%     **0.93x (?)**
StringToDataLargeUnicode                                    1776.25     1915.385    +7.8%     **0.93x (?)**
SetIsSubsetInt0                                             211.0       227.5       +7.8%     **0.93x (?)**
StringToDataMedium                                          1707.042    1840.476    +7.8%     **0.93x (?)**
DropLastAnySequence                                         7673.0      8271.0      +7.8%     **0.93x (?)**
String.data.Medium                                          40.069      43.171      +7.7%     **0.93x (?)**
Prims.NonStrongRef.UnownedSafe.Closure                      901.5       971.0       +7.7%     **0.93x (?)**
PrefixAnySeqCntRange                                        14462.0     15562.0     +7.6%     **0.93x**
SuffixArrayLazy                                             5574.0      5996.0      +7.6%     **0.93x (?)**

IMPROVEMENT                                                 OLD         NEW         DELTA     RATIO    
CxxStringConversion.cxx.to.swift                            123.857     80.9        -34.7%    **1.53x**
FindString.Loop1.Substring                                  405.0       267.111     -34.0%    **1.52x**
ArrayAppendGenericStructs                                   864.615     670.833     -22.4%    **1.29x (?)**
FindString.Rec3.Substring                                   296.875     238.5       -19.7%    **1.24x (?)**
FindString.Rec3.String                                      309.571     249.0       -19.6%    **1.24x (?)**
Calculator                                                  559.0       452.0       -19.1%    **1.24x (?)**
KeyPathNestedStructs                                        7.438       6.114       -17.8%    **1.22x**
UTF8Decode_InitFromCustom_contiguous_ascii                  157.133     132.8       -15.5%    **1.18x (?)**
StringSwitch                                                640.0       546.5       -14.6%    **1.17x**
FindString.Loop1.Array                                      77269.0     66041.0     -14.5%    **1.17x**
UTF8Decode_InitDecoding_ascii                               149.5       130.533     -12.7%    **1.15x (?)**
RawBuffer.1000.findFirst                                    50885.0     44627.0     -12.3%    **1.14x**
LinkedList                                                  16100.0     14220.0     -11.7%    **1.13x (?)**
CharacterLiteralsSmall                                      587.75      521.0       -11.4%    **1.13x (?)**
RawBuffer.1000.findLast                                     55558.0     49496.0     -10.9%    **1.12x**
RemoveWhereMoveInts                                         1121.0      1004.0      -10.4%    **1.12x (?)**
DataCreateEmpty                                             655.172     592.692     -9.5%     **1.11x (?)**
RandomDoubleOpaqueLCG                                       17223.0     15616.0     -9.3%     **1.10x**
RemoveWhereMoveStrings                                      1341.0      1218.0      -9.2%     **1.10x (?)**
RandomDoubleLCG                                             17001.0     15447.0     -9.1%     **1.10x**
FindString.Rec3.Array                                       5403.0      4927.0      -8.8%     **1.10x (?)**
DictionaryBridgeToObjC_Bridge                               8.04        7.348       -8.6%     **1.09x (?)**
RawBuffer.39.findFirst                                      2689.0      2465.0      -8.3%     **1.09x (?)**
NIOChannelPipeline                                          147.231     135.133     -8.2%     **1.09x (?)**
DataToStringEmpty                                           785.714     721.429     -8.2%     **1.09x**
CStringLongAscii                                            131.5       121.0       -8.0%     **1.09x (?)**
LineSink.characters.alpha                                   68.188      62.897      -7.8%     **1.08x (?)**
RawBuffer.128.findLast                                      7737.0      7159.0      -7.5%     **1.08x (?)**
LineSink.characters.complex                                 289.625     269.778     -6.9%     **1.07x (?)**

------- Code size: -swiftlibs -------

REGRESSION                        OLD      NEW      DELTA   RATIO  
libswift_StringProcessing.dylib   540672   573440   +6.1%   **0.94x**
libswift_RegexParser.dylib        704512   720896   +2.3%   **0.98x**

@nate-chandler
Copy link
Contributor Author

nate-chandler commented Aug 1, 2023

------- Performance (x86_64): -O -------

REGRESSION                                                  OLD         NEW         DELTA            RATIO    
HTTP2StateMachine                                           0.0         46346.0     +4634600000.0%   **0.00x**
StringWithCString2                                          0.0         0.002       +200.0%          **0.33x**
UTF16Decode.initFromCustom.cont                             658.333     1975.0      +200.0%          **0.33x**
UTF16Decode.initFromCustom.noncont                          667.0       1978.0      +196.6%          **0.34x**
SubstringComparable                                         8.056       18.286      +127.0%          **0.44x**
Set.isSuperset.Seq.Box25                                    62.844      115.765     +84.2%           **0.54x**
Set.isDisjoint.Seq.Box25                                    203.364     346.571     +70.4%           **0.59x**
Set.isDisjoint.Seq.Box0                                     283.75      464.2       +63.6%           **0.61x**
UTF16Decode.initDecoding                                    219.857     355.2       +61.6%           **0.62x**
DataCreateSmallArray                                        2028.261    3197.619    +57.7%           **0.63x**
DropWhileArrayLazy                                          31.594      49.344      +56.2%           **0.64x**
DataCreateEmptyArray                                        1573.333    2406.818    +53.0%           **0.65x**
ChainedFilterMap                                            505.862     751.68      +48.6%           **0.67x**
Set.isSuperset.Seq.Box0                                     137.222     199.3       +45.2%           **0.69x (?)**
ObserverForwarderStruct                                     569.167     808.0       +42.0%           **0.70x (?)**
RawBufferInitializeMemory                                   66.4        87.125      +31.2%           **0.76x (?)**
ReversedBidirectional                                       7091.0      9205.0      +29.8%           **0.77x**
KeyPathClassStructs                                         500.75      638.667     +27.5%           **0.78x (?)**
RemoveWhereFilterStrings                                    296.6       375.8       +26.7%           **0.79x (?)**
DifferentiationArraySum                                     1188.0      1473.0      +24.0%           **0.81x (?)**
SubstringEquatable                                          310.5       384.0       +23.7%           **0.81x (?)**
KeyPathNestedClasses                                        202.636     250.556     +23.6%           **0.81x (?)**
SequenceAlgosArray                                          1498.667    1836.923    +22.6%           **0.82x (?)**
KeyPathMutatingGetset                                       236.333     285.25      +20.7%           **0.83x (?)**
UTF8Decode_InitDecoding_ascii_as_ascii                      196.667     234.875     +19.4%           **0.84x (?)**
KeyPathGet                                                  225.3       268.875     +19.3%           **0.84x (?)**
SuffixAnySequenceLazy                                       2995.0      3559.0      +18.8%           **0.84x (?)**
Walsh                                                       213.875     254.0       +18.8%           **0.84x (?)**
KeyPathOptionals                                            696.333     826.0       +18.6%           **0.84x (?)**
DropLastAnySequenceLazy                                     3168.0      3730.0      +17.7%           **0.85x (?)**
String.data.Empty                                           28.875      33.737      +16.8%           **0.86x (?)**
MapReduceLazyCollectionShort                                26.125      30.5        +16.7%           **0.86x (?)**
Data.append.Sequence.64kB.Count                             2.7         3.143       +16.4%           **0.86x (?)**
PrefixWhileSequence                                         171.0       197.444     +15.5%           **0.87x (?)**
Data.init.Sequence.64kB.Count.I                             2.333       2.689       +15.3%           **0.87x (?)**
ParseInt.UInt64.Hex                                         248.444     286.125     +15.2%           **0.87x (?)**
Set.isStrictSubset.Seq.Int25                                47.381      54.542      +15.1%           **0.87x (?)**
String.data.Small                                           30.958      35.581      +14.9%           **0.87x (?)**
Data.append.Sequence.64kB.Count.I                           2.739       3.138       +14.6%           **0.87x (?)**
Ackermann2                                                  176.714     200.818     +13.6%           **0.88x (?)**
Data.init.Sequence.64kB.Count                               2.348       2.667       +13.6%           **0.88x (?)**
Breadcrumbs.MutatedUTF16ToIdx.Mixed                         196.364     221.444     +12.8%           **0.89x (?)**
Breadcrumbs.MutatedIdxToUTF16.Mixed                         202.727     228.556     +12.7%           **0.89x (?)**
DataCountMedium                                             17.417      19.588      +12.5%           **0.89x (?)**
DictionaryOfAnyHashableStrings_insert                       3038.0      3411.333    +12.3%           **0.89x (?)**
DictionaryOfAnyHashableStrings_lookup                       2025.103    2268.48     +12.0%           **0.89x (?)**
Diffing.ReversedLorem                                       1005.5      1118.5      +11.2%           **0.90x (?)**
DictionaryGroupOfObjects                                    958.846     1064.571    +11.0%           **0.90x (?)**
String.data.Medium                                          56.4        62.458      +10.7%           **0.90x (?)**
Set.isStrictSubset.Seq.Int0                                 182.25      201.375     +10.5%           **0.91x (?)**
Diffing.Similar                                             306.571     336.5       +9.8%            **0.91x (?)**
Set.isStrictSubset.Seq.Int50                                98.294      107.636     +9.5%            **0.91x (?)**
String.data.LargeUnicode                                    56.235      61.545      +9.4%            **0.91x (?)**
ObjectiveCBridgeStubFromNSStringRef                         106.0       116.0       +9.4%            **0.91x (?)**
ObserverUnappliedMethod                                     650.0       711.0       +9.4%            **0.91x (?)**
CharIndexing_japanese_unicodeScalars_Backwards              6854.545    7480.0      +9.1%            **0.92x (?)**
CxxStringConversion.cxx.to.swift                            145.4       158.333     +8.9%            **0.92x (?)**
Set.isStrictSubset.Seq.Int100                               200.9       218.7       +8.9%            **0.92x (?)**
ProtocolConformance                                         45.5        49.5        +8.8%            **0.92x (?)**
CharIndexing_chinese_unicodeScalars_Backwards               4144.615    4503.333    +8.7%            **0.92x (?)**
WordCountHistogramASCII                                     2505.455    2714.815    +8.4%            **0.92x (?)**
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards    1031.795    1116.471    +8.2%            **0.92x (?)**
ArrayInitFromSlice                                          308.8       333.4       +8.0%            **0.93x (?)**
String.replaceSubrange.RepChar.Small                        336.0       362.4       +7.9%            **0.93x (?)**

IMPROVEMENT                                                 OLD         NEW         DELTA            RATIO    
StringEqualPointerComparison                                108.909     2.176       -98.0%           **50.03x**
DropFirstAnySequenceLazy                                    898.5       35.839      -96.0%           **25.07x**
DropFirstArrayLazy                                          26.844      13.947      -48.0%           **1.92x**
LazilyFilteredArrayContains                                 17183.333   9847.059    -42.7%           **1.75x**
Dictionary4                                                 239.167     153.889     -35.7%           **1.55x (?)**
PrefixWhileAnyCollectionLazy                                21.733      14.318      -34.1%           **1.52x**
PrefixWhileAnySeqCntRangeLazy                               21.697      14.333      -33.9%           **1.51x**
PrefixWhileAnySeqCRangeIterLazy                             21.622      14.329      -33.7%           **1.51x**
PrefixWhileCountableRangeLazy                               21.265      14.585      -31.4%           **1.46x**
Dictionary4OfObjects                                        256.167     181.375     -29.2%           **1.41x**
SortAdjacentIntPyramids                                     947.222     685.455     -27.6%           **1.38x (?)**
BinaryFloatingPointPropertiesUlp                            26.147      19.617      -25.0%           **1.33x**
ArrayAppendLazyMap                                          860.0       645.238     -25.0%           **1.33x (?)**
SortIntPyramid                                              655.833     496.818     -24.2%           **1.32x (?)**
RangeOverlapsClosedRange                                    70.971      54.744      -22.9%           **1.30x (?)**
SuffixSequence                                              103.762     83.313      -19.7%           **1.25x (?)**
SuffixSequenceLazy                                          103.5       83.28       -19.5%           **1.24x (?)**
ReversedDictionary2                                         262.556     220.182     -16.1%           **1.19x (?)**
ParseInt.UInt64.Decimal                                     116.476     98.6        -15.3%           **1.18x (?)**
CharIteration_chinese_unicodeScalars_Backwards              4716.923    4041.739    -14.3%           **1.17x (?)**
ObjectiveCBridgeStubDateAccess                              152.556     130.75      -14.3%           **1.17x (?)**
CharIteration_russian_unicodeScalars_Backwards              5260.0      4508.571    -14.3%           **1.17x (?)**
DataSubscriptSmall                                          15.234      13.063      -14.3%           **1.17x**
CharIteration_japanese_unicodeScalars_Backwards             7812.0      6700.0      -14.2%           **1.17x (?)**
CharIteration_punctuated_unicodeScalars_Backwards           1214.667    1045.128    -14.0%           **1.16x (?)**
Set.isDisjoint.Seq.Box.Empty                                86.038      74.05       -13.9%           **1.16x (?)**
Set.isDisjoint.Box.Empty                                    56.634      49.023      -13.4%           **1.16x (?)**
CharIteration_tweet_unicodeScalars_Backwards                10490.0     9084.0      -13.4%           **1.15x (?)**
CharIteration_punctuatedJapanese_unicodeScalars_Backwards   1165.783    1010.0      -13.4%           **1.15x (?)**
CharIteration_ascii_unicodeScalars_Backwards                5298.182    4600.0      -13.2%           **1.15x**
PointerArithmetics                                          19900.0     17427.273   -12.4%           **1.14x (?)**
CharIteration_korean_unicodeScalars_Backwards               6216.667    5454.286    -12.3%           **1.14x (?)**
Set.isDisjoint.Int.Empty                                    51.9        45.643      -12.1%           **1.14x (?)**
BucketSort                                                  97.762      86.808      -11.2%           **1.13x (?)**
DropFirstAnySequence                                        35.844      31.935      -10.9%           **1.12x (?)**
DropWhileAnySequenceLazy                                    438.2       393.6       -10.2%           **1.11x (?)**
NormalizedIterator_ascii                                    100.043     90.385      -9.7%            **1.11x (?)**
StringToDataEmpty                                           529.0       481.325     -9.0%            **1.10x (?)**
FindString.Rec3.Substring                                   127.154     116.294     -8.5%            **1.09x (?)**
Set.isSuperset.Seq.Empty.Int                                51.2        46.833      -8.5%            **1.09x (?)**
Set.isDisjoint.Seq.Int.Empty                                51.167      46.833      -8.5%            **1.09x (?)**
CxxStringConversion.swift.to.cxx                            103.905     95.375      -8.2%            **1.09x (?)**
FindString.Rec3.String                                      131.0       120.25      -8.2%            **1.09x (?)**
Data.hash.Medium                                            26.8        24.615      -8.2%            **1.09x (?)**
StringToDataSmall                                           601.0       552.941     -8.0%            **1.09x (?)**
StringMatch                                                 5671.429    5252.381    -7.4%            **1.08x (?)**
Set.isDisjoint.Seq.Empty.Box                                90.357      83.842      -7.2%            **1.08x (?)**
CharacterLiteralsLarge                                      63.154      58.789      -6.9%            **1.07x (?)**

------- Code size: -O -------

REGRESSION                                         OLD     NEW     DELTA    RATIO  
RomanNumbers.o                                     4284    5164    +20.5%   **0.83x**
ObserverForwarderStruct.o                          2823    3319    +17.6%   **0.85x**
ProtocolConformance.o                              3943    4369    +10.8%   **0.90x**
DictionaryKeysContains.o                           7897    8733    +10.6%   **0.90x**
ChainedFilterMap.o                                 3129    3428    +9.6%    **0.91x**
DropFirst.o                                        14611   15945   +9.1%    **0.92x**
XorLoop.o                                          1386    1490    +7.5%    **0.93x**
ProtocolDispatch2.o                                1496    1601    +7.0%    **0.93x**
LazyFilter.o                                       7055    7536    +6.8%    **0.94x**
DeadArray.o                                        1580    1685    +6.6%    **0.94x**
RangeIteration.o                                   1386    1475    +6.4%    **0.94x**
SevenBoom.o                                        1402    1491    +6.3%    **0.94x**
MonteCarloPi.o                                     1394    1482    +6.3%    **0.94x**
NSDictionaryCastToSwift.o                          1434    1522    +6.1%    **0.94x**
ObserverUnappliedMethod.o                          5042    5348    +6.1%    **0.94x**
BitCount.o                                         1466    1554    +6.0%    **0.94x**
Suffix.o                                           20229   21349   +5.5%    **0.95x**
Fibonacci.o                                        1412    1485    +5.2%    **0.95x**
SequenceAlgos.o                                    22304   23352   +4.7%    **0.96x**
LinkedList.o                                       2246    2350    +4.6%    **0.96x**
Memset.o                                           1982    2070    +4.4%    **0.96x**
ArrayLiteral.o                                     2840    2961    +4.3%    **0.96x**
DictionaryOfAnyHashableStrings.o                   7376    7690    +4.3%    **0.96x**
ArraySubscript.o                                   2238    2328    +4.0%    **0.96x**
ObjectAllocation.o                                 4434    4602    +3.8%    **0.96x**
WordCount.o                                        36482   37794   +3.6%    **0.97x**
Calculator.o                                       2500    2589    +3.6%    **0.97x**
StrComplexWalk.o                                   2522    2610    +3.5%    **0.97x**
DictionaryCopy.o                                   8572    8868    +3.5%    **0.97x**
DictionaryBridge.o                                 3045    3149    +3.4%    **0.97x**
BufferFill.o                                       8243    8523    +3.4%    **0.97x**
Ackermann.o                                        1687    1744    +3.4%    **0.97x**
DropWhile.o                                        14409   14881   +3.3%    **0.97x**
RC4.o                                              3376    3480    +3.1%    **0.97x**
Exclusivity.o                                      4176    4304    +3.1%    **0.97x**
UTF16Decode.o                                      20812   21430   +3.0%    **0.97x**
SortIntPyramids.o                                  8430    8679    +3.0%    **0.97x**
BinaryFloatingPointProperties.o                    4626    4762    +2.9%    **0.97x**
RandomShuffle.o                                    3032    3120    +2.9%    **0.97x**
RangeAssignment.o                                  3318    3406    +2.7%    **0.97x**
PointerArithmetics.o                               1510    1550    +2.6%    **0.97x**
Prefix.o                                           14736   15120   +2.6%    **0.97x**
DictionaryBridgeToObjC.o                           4928    5053    +2.5%    **0.98x**
OpenClose.o                                        3509    3597    +2.5%    **0.98x**
DictionarySwap.o                                   17549   17989   +2.5%    **0.98x**
HTTP2StateMachine.o                                5011    5131    +2.4%    **0.98x**
DropLast.o                                         20897   21393   +2.4%    **0.98x**
QueueTest.o                                        11629   11901   +2.3%    **0.98x**
DictionaryCompactMapValues.o                       15656   16016   +2.3%    **0.98x**
COWTree.o                                          11436   11692   +2.2%    **0.98x**
Hash.o                                             21935   22407   +2.2%    **0.98x**
CString.o                                          5728    5848    +2.1%    **0.98x**
ObjectiveCBridging.o                               54459   55579   +2.1%    **0.98x**
CodableTest.o                                      28776   29336   +1.9%    **0.98x**
UTF8Decode.o                                       22496   22930   +1.9%    **0.98x**
BinaryFloatingPointConversionFromBinaryInteger.o   28860   29404   +1.9%    **0.98x**
ErrorHandling.o                                    3404    3468    +1.9%    **0.98x**
DictTest.o                                         13216   13464   +1.9%    **0.98x**
Integrate.o                                        2223    2264    +1.8%    **0.98x**
Combos.o                                           4806    4894    +1.8%    **0.98x**
StringInterpolation.o                              6656    6776    +1.8%    **0.98x**
DictionaryRemove.o                                 19114   19458   +1.8%    **0.98x**
StrToInt.o                                         5276    5364    +1.7%    **0.98x**
ByteSwap.o                                         1480    1504    +1.6%    **0.98x**
ArrayRemoveAll.o                                   7899    8019    +1.5%    **0.99x**
DictTest4Legacy.o                                  15532   15764   +1.5%    **0.99x**
DictOfArraysToArrayOfDicts.o                       21391   21671   +1.3%    **0.99x**
DictTest2.o                                        10433   10569   +1.3%    **0.99x**
ReduceInto.o                                       10778   10915   +1.3%    **0.99x**
ExistentialPerformance.o                           40152   40650   +1.2%    **0.99x**
DictTest4.o                                        15166   15350   +1.2%    **0.99x**
FloatingPointParsing.o                             13408   13568   +1.2%    **0.99x**
DictionarySubscriptDefault.o                       18506   18722   +1.2%    **0.99x**
DictionaryGroup.o                                  12205   12341   +1.1%    **0.99x**
ChaCha.o                                           15240   15408   +1.1%    **0.99x**
MapReduce.o                                        25659   25923   +1.0%    **0.99x**
TwoSum.o                                           4019    4060    +1.0%    **0.99x**
SortLettersInPlace.o                               8659    8747    +1.0%    **0.99x**

IMPROVEMENT                                        OLD     NEW     DELTA    RATIO  
IndexPathTest.o                                    9941    8242    -17.1%   **1.21x**
NopDeinit.o                                        4423    3695    -16.5%   **1.20x**
RangeReplaceableCollectionPlusDefault.o            7447    6273    -15.8%   **1.19x**
Walsh.o                                            5295    4840    -8.6%    **1.09x**
LuhnAlgoEager.o                                    13246   12367   -6.6%    **1.07x**
LuhnAlgoLazy.o                                     13246   12367   -6.6%    **1.07x**
PrefixWhile.o                                      14713   13859   -5.8%    **1.06x**
ClassArrayGetter.o                                 4107    3899    -5.1%    **1.05x**
CharacterLiteralsLarge.o                           1036    988     -4.6%    **1.05x**
ObjectiveCNoBridgingStubs.o                        7334    7054    -3.8%    **1.04x**
SubstringTest.o                                    19001   18393   -3.2%    **1.03x**
DictTest3.o                                        15705   15233   -3.0%    **1.03x**
PopFront.o                                         3341    3255    -2.6%    **1.03x**
StringTests.o                                      7156    6989    -2.3%    **1.02x**
Hanoi.o                                            3050    2986    -2.1%    **1.02x**
StringMatch.o                                      4284    4198    -2.0%    **1.02x**
ArrayOfRef.o                                       8231    8095    -1.7%    **1.02x**
ArrayOfGenericRef.o                                8922    8786    -1.5%    **1.02x**
DiffingMyers.o                                     6993    6897    -1.4%    **1.01x**
RecursiveOwnedParameter.o                          1386    1370    -1.2%    **1.01x**
IntegerParsing.o                                   67483   66739   -1.1%    **1.01x**

------- Performance (x86_64): -Osize -------

REGRESSION                                                 OLD        NEW         DELTA            RATIO    
HTTP2StateMachine                                          0.0        44863.0     +4486300000.0%   **0.00x**
UTF16Decode.initFromCustom.cont                            664.0      2016.0      +203.6%          **0.33x**
StringWithCString2                                         0.0        0.002       +200.0%          **0.33x**
UTF16Decode.initFromCustom.noncont                         671.333    1988.0      +196.1%          **0.34x**
SubstringComparable                                        9.146      18.907      +106.7%          **0.48x**
PrefixSequenceLazy                                         26.885     53.64       +99.5%           **0.50x**
PrefixSequence                                             26.889     53.632      +99.5%           **0.50x**
PrefixCountableRangeLazy                                   13.714     26.839      +95.7%           **0.51x**
DropLastArray                                              5.029      9.027       +79.5%           **0.56x**
DataCreateEmptyArray                                       1567.742   2800.0      +78.6%           **0.56x**
DropLastArrayLazy                                          5.115      9.019       +76.3%           **0.57x**
SuffixArrayLazy                                            5.26       9.018       +71.4%           **0.58x**
DataCreateSmallArray                                       2265.909   3805.882    +68.0%           **0.60x**
SIMDReduce.Int32x16.Cast                                   17.837     29.424      +65.0%           **0.61x**
UTF16Decode.initDecoding                                   223.286    354.2       +58.6%           **0.63x**
SIMDReduce.Int8x16.Cast                                    45.222     71.0        +57.0%           **0.64x**
SumUsingReduce                                             282.333    440.0       +55.8%           **0.64x**
DropLastCountableRangeLazy                                 5.82       9.019       +55.0%           **0.65x**
ArrayAppendSequence                                        503.333    766.667     +52.3%           **0.66x (?)**
DropFirstSequence                                          33.52      46.87       +39.8%           **0.72x**
DropFirstSequenceLazy                                      33.52      46.273      +38.0%           **0.72x**
NaiveRRC.append.largeContiguous                            0.405      0.556       +37.2%           **0.73x (?)**
ArrayAppendReserved                                        265.333    350.714     +32.2%           **0.76x (?)**
Set.isStrictSuperset.Seq.Empty.Int                         132.846    174.455     +31.3%           **0.76x (?)**
KeyPathNestedClasses                                       201.455    262.5       +30.3%           **0.77x (?)**
Set.isStrictSubset.Seq.Int.Empty                           134.0      174.545     +30.3%           **0.77x (?)**
Set.isSubset.Seq.Int.Empty                                 135.077    175.364     +29.8%           **0.77x (?)**
ObserverForwarderStruct                                    602.5      772.5       +28.2%           **0.78x (?)**
BitCount                                                   121.786    154.4       +26.8%           **0.79x (?)**
RemoveWhereFilterInts                                      22.5       28.192      +25.3%           **0.80x**
PrefixWhileArray                                           43.296     54.125      +25.0%           **0.80x (?)**
RemoveWhereFilterStrings                                   296.667    370.25      +24.8%           **0.80x (?)**
RecursiveOwnedParameter                                    87.8       109.571     +24.8%           **0.80x**
DifferentiationArraySum                                    1184.0     1476.0      +24.7%           **0.80x (?)**
DictionaryLiteral                                          2366.25    2948.333    +24.6%           **0.80x (?)**
KeyPathClassStructs                                        506.0      624.333     +23.4%           **0.81x (?)**
DropWhileArrayLazy                                         58.286     71.773      +23.1%           **0.81x**
ReversedBidirectional                                      8058.0     9821.0      +21.9%           **0.82x**
PrefixAnySeqCRangeIter                                     93.857     114.077     +21.5%           **0.82x (?)**
PrefixAnySeqCntRange                                       93.875     114.077     +21.5%           **0.82x (?)**
SubstringEquatable                                         314.833    380.8       +21.0%           **0.83x (?)**
ByteSwap                                                   65.333     78.4        +20.0%           **0.83x (?)**
CharIndexing_chinese_unicodeScalars_Backwards              6773.333   8066.667    +19.1%           **0.84x (?)**
CharIndexing_tweet_unicodeScalars_Backwards                15104.0    17880.0     +18.4%           **0.84x (?)**
KeyPathGet                                                 227.6      268.0       +17.8%           **0.85x (?)**
KeyPathMutatingGetset                                      238.222    279.75      +17.4%           **0.85x (?)**
CharIndexing_japanese_unicodeScalars_Backwards             10665.0    12488.0     +17.1%           **0.85x (?)**
KeyPathOptionals                                           690.5      807.667     +17.0%           **0.85x (?)**
MapReduceAnyCollection                                     146.375    171.0       +16.8%           **0.86x (?)**
CharIndexing_ascii_unicodeScalars_Backwards                7692.0     8948.0      +16.3%           **0.86x (?)**
DataCreateMediumArray                                      1264.0     1468.0      +16.1%           **0.86x (?)**
UTF8Decode_InitDecoding_ascii_as_ascii                     199.333    230.875     +15.8%           **0.86x (?)**
String.data.Empty                                          28.667     33.2        +15.8%           **0.86x (?)**
CharIndexing_korean_unicodeScalars_Backwards               9337.778   10777.143   +15.4%           **0.87x (?)**
CharIndexing_punctuated_unicodeScalars_Backwards           1880.0     2168.696    +15.4%           **0.87x (?)**
DropLastAnySequenceLazy                                    3333.0     3843.0      +15.3%           **0.87x (?)**
SequenceAlgosArray                                         1713.571   1973.333    +15.2%           **0.87x (?)**
SuffixAnySequenceLazy                                      3284.0     3779.0      +15.1%           **0.87x (?)**
DataCountSmall                                             15.239     17.415      +14.3%           **0.88x (?)**
Breadcrumbs.MutatedUTF16ToIdx.Mixed                        195.636    223.5       +14.2%           **0.88x (?)**
Set.isStrictSuperset.Seq.Int0                              21.745     24.833      +14.2%           **0.88x (?)**
Ackermann2                                                 172.857    196.667     +13.8%           **0.88x (?)**
PrefixWhileSequence                                        194.889    221.0       +13.4%           **0.88x (?)**
Breadcrumbs.MutatedIdxToUTF16.Mixed                        202.909    229.167     +12.9%           **0.89x (?)**
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards   1664.615   1875.349    +12.7%           **0.89x (?)**
WordCountUniqueASCII                                       1311.111   1476.875    +12.6%           **0.89x**
String.data.Small                                          31.033     34.919      +12.5%           **0.89x (?)**
RandomShuffleLCG2                                          175.015    196.75      +12.4%           **0.89x (?)**
CharIndexing_russian_unicodeScalars_Backwards              7748.0     8688.889    +12.1%           **0.89x (?)**
DictionaryOfAnyHashableStrings_lookup                      2022.621   2268.0      +12.1%           **0.89x (?)**
OpenClose                                                  56.633     63.182      +11.6%           **0.90x (?)**
MapReduceSequence                                          282.571    315.143     +11.5%           **0.90x (?)**
DictionaryOfAnyHashableStrings_insert                      3390.0     3770.667    +11.2%           **0.90x (?)**
Diffing.Myers.Similar                                      294.6      327.25      +11.1%           **0.90x (?)**
RandomDoubleOpaqueLCG                                      305.8      338.667     +10.7%           **0.90x (?)**
ProtocolDispatch                                           217.857    239.6       +10.0%           **0.91x (?)**
PrefixWhileAnyCollection                                   137.833    150.778     +9.4%            **0.91x (?)**
Diffing.PangramToAlphabet                                  1125.0     1229.0      +9.2%            **0.92x (?)**
Diffing.Pangrams                                           2926.0     3190.0      +9.0%            **0.92x (?)**
CxxStringConversion.swift.to.cxx                           97.688     106.4       +8.9%            **0.92x (?)**
ParseInt.UIntSmall.Binary                                  341.143    370.667     +8.7%            **0.92x (?)**
Diffing.Similar                                            310.429    336.167     +8.3%            **0.92x (?)**
CharIndexing_utf16_unicodeScalars_Backwards                8560.0     9226.667    +7.8%            **0.93x (?)**

IMPROVEMENT                                                OLD        NEW         DELTA            RATIO    
StringEqualPointerComparison                               108.9      21.778      -80.0%           **5.00x**
PrefixWhileCountableRangeLazy                              26.87      13.662      -49.2%           **1.97x**
DropWhileSequence                                          26.844     15.679      -41.6%           **1.71x**
Data.init.Sequence.64kB.Count.I                            58.0       34.207      -41.0%           **1.70x**
Data.init.Sequence.64kB.Count                              58.0       34.238      -41.0%           **1.69x**
DropFirstCountableRangeLazy                                26.848     16.128      -39.9%           **1.66x**
Data.append.Sequence.64kB.Count.I                          58.478     37.362      -36.1%           **1.57x**
Data.append.Sequence.64kB.Count                            58.5       37.909      -35.2%           **1.54x**
Data.init.Sequence.2047B.Count.I                           99.0       65.719      -33.6%           **1.51x**
SIMDReduce.Int32x4.Cast                                    42.679     28.667      -32.8%           **1.49x**
Data.init.Sequence.2049B.Count.I                           99.125     66.682      -32.7%           **1.49x**
Data.init.Sequence.809B.Count.I                            85.963     58.593      -31.8%           **1.47x**
Data.init.Sequence.809B.Count                              85.957     58.692      -31.7%           **1.46x**
FindString.Loop1.Array                                     435.8      299.143     -31.4%           **1.46x**
ClosedRangeOverlapsClosedRange                             70.76      48.583      -31.3%           **1.46x**
MapReduceLazyCollectionShort                               67.524     47.92       -29.0%           **1.41x**
RemoveWhereSwapInts                                        15.647     11.575      -26.0%           **1.35x**
Data.init.Sequence.513B.Count.I                            97.4       73.471      -24.6%           **1.33x**
Data.init.Sequence.511B.Count.I                            96.889     73.294      -24.4%           **1.32x (?)**
Data.init.Sequence.64kB.Count.RE                           29.528     22.404      -24.1%           **1.32x**
Data.init.Sequence.64kB.Count.RE.I                         29.531     22.409      -24.1%           **1.32x (?)**
Data.append.Sequence.64kB.Count.RE                         30.0       22.824      -23.9%           **1.31x**
Data.append.Sequence.64kB.Count.RE.I                       30.0       22.829      -23.9%           **1.31x (?)**
Data.append.Sequence.809B.Count                            101.625    79.5        -21.8%           **1.28x (?)**
Data.append.Sequence.809B.Count.I                          101.538    79.75       -21.5%           **1.27x (?)**
Dictionary4                                                201.714    161.0       -20.2%           **1.25x (?)**
DropWhileSequenceLazy                                      71.65      58.292      -18.6%           **1.23x (?)**
Dictionary4OfObjects                                       232.714    192.125     -17.4%           **1.21x (?)**
Data.init.Sequence.809B.Count.RE                           56.083     46.619      -16.9%           **1.20x (?)**
Data.init.Sequence.809B.Count.RE.I                         55.951     46.545      -16.8%           **1.20x**
DropWhileAnyCollectionLazy                                 170.7      145.455     -14.8%           **1.17x (?)**
ObjectiveCBridgeStubDateAccess                             152.545    130.733     -14.3%           **1.17x (?)**
Data.append.Sequence.809B.Count.RE.I                       72.48      62.394      -13.9%           **1.16x (?)**
Data.append.Sequence.809B.Count.RE                         71.7       62.333      -13.1%           **1.15x (?)**
ParseInt.IntSmall.Decimal                                  143.533    125.167     -12.8%           **1.15x (?)**
DataAppendSequence                                         7170.833   6257.895    -12.7%           **1.15x (?)**
DropWhileAnySeqCRangeIter                                  107.364    94.0        -12.4%           **1.14x (?)**
DropWhileAnySeqCntRange                                    107.364    94.0        -12.4%           **1.14x (?)**
RangeOverlapsClosedRange                                   71.85      63.182      -12.1%           **1.14x (?)**
PrefixWhileAnySequence                                     224.5      198.875     -11.4%           **1.13x (?)**
DataCreateEmpty                                            122.653    108.906     -11.2%           **1.13x (?)**
DataSubscriptSmall                                         19.588     17.422      -11.1%           **1.12x (?)**
RemoveWhereMoveInts                                        7.674      6.867       -10.5%           **1.12x (?)**
DropFirstAnySeqCntRangeLazy                                159.417    143.455     -10.0%           **1.11x (?)**
Data.hash.Medium                                           27.822     25.038      -10.0%           **1.11x (?)**
DropFirstAnySeqCRangeIterLazy                              159.417    143.636     -9.9%            **1.11x (?)**
ConvertFloatingPoint.MockFloat64Exactly2                   6.788      6.159       -9.3%            **1.10x (?)**
FindString.Rec3.Substring                                  126.333    114.923     -9.0%            **1.10x**
DropWhileAnySeqCRangeIterLazy                              157.357    144.364     -8.3%            **1.09x (?)**
ConvertFloatingPoint.MockFloat64ToInt64                    539.667    496.0       -8.1%            **1.09x (?)**
DropWhileAnySeqCntRangeLazy                                157.417    144.75      -8.0%            **1.09x (?)**
SubstringFromLongString2                                   23.593     21.778      -7.7%            **1.08x (?)**
Set.isDisjoint.Seq.Int.Empty                               50.651     46.844      -7.5%            **1.08x (?)**
PrefixWhileAnySequenceLazy                                 1086.0     1005.0      -7.5%            **1.08x (?)**
DropLastAnySeqCntRange                                     491.25     455.75      -7.2%            **1.08x (?)**
DropLastAnySeqCRangeIter                                   489.5      454.5       -7.2%            **1.08x (?)**
Dictionary4OfObjectsLegacy                                 451.0      419.25      -7.0%            **1.08x (?)**
StrToInt                                                   468.148    437.037     -6.6%            **1.07x (?)**

------- Code size: -Osize -------

REGRESSION                                OLD     NEW     DELTA    RATIO  
StrToInt.o                                5035    6661    +32.3%   **0.76x**
RomanNumbers.o                            4020    4824    +20.0%   **0.83x**
ProtocolConformance.o                     3657    4084    +11.7%   **0.90x**
BitCount.o                                1298    1435    +10.6%   **0.90x**
DictionaryKeysContains.o                  7155    7790    +8.9%    **0.92x**
ChainedFilterMap.o                        2835    3058    +7.9%    **0.93x**
ObserverForwarderStruct.o                 2947    3171    +7.6%    **0.93x**
SequenceAlgos.o                           19132   20580   +7.6%    **0.93x**
XorLoop.o                                 1221    1305    +6.9%    **0.94x**
MonteCarloPi.o                            1237    1321    +6.8%    **0.94x**
RangeIteration.o                          1273    1357    +6.6%    **0.94x**
NSDictionaryCastToSwift.o                 1306    1389    +6.4%    **0.94x**
DictionaryCopy.o                          7241    7670    +5.9%    **0.94x**
Suffix.o                                  17691   18735   +5.9%    **0.94x**
SevenBoom.o                               1443    1527    +5.8%    **0.94x**
DeadArray.o                               1459    1543    +5.8%    **0.95x**
DictionarySwap.o                          15590   16433   +5.4%    **0.95x**
BucketSort.o                              7720    8110    +5.1%    **0.95x**
StrComplexWalk.o                          2347    2464    +5.0%    **0.95x**
BinaryFloatingPointProperties.o           4529    4751    +4.9%    **0.95x**
ProtocolDispatch2.o                       1756    1842    +4.9%    **0.95x**
Fibonacci.o                               1288    1350    +4.8%    **0.95x**
DictionaryRemove.o                        15395   16113   +4.7%    **0.96x**
DictionaryBridgeToObjC.o                  3728    3893    +4.4%    **0.96x**
PointerArithmetics.o                      1392    1452    +4.3%    **0.96x**
ObjectAllocation.o                        4113    4287    +4.2%    **0.96x**
ArraySubscript.o                          2158    2249    +4.2%    **0.96x**
BufferFill.o                              7405    7703    +4.0%    **0.96x**
LinkedList.o                              2121    2204    +3.9%    **0.96x**
Calculator.o                              2342    2427    +3.6%    **0.96x**
ArrayLiteral.o                            2533    2623    +3.6%    **0.97x**
Memset.o                                  1959    2028    +3.5%    **0.97x**
PopFront.o                                2990    3094    +3.5%    **0.97x**
PopFrontGeneric.o                         2424    2507    +3.4%    **0.97x**
RC4.o                                     2986    3087    +3.4%    **0.97x**
ObserverUnappliedMethod.o                 5048    5215    +3.3%    **0.97x**
Exclusivity.o                             3826    3948    +3.2%    **0.97x**
PrimsNonStrongRef.o                       78714   81113   +3.0%    **0.97x**
LazyFilter.o                              6546    6740    +3.0%    **0.97x**
ErrorHandling.o                           3024    3112    +2.9%    **0.97x**
DictionaryBridge.o                        2906    2990    +2.9%    **0.97x**
DictTest.o                                10377   10671   +2.8%    **0.97x**
RangeAssignment.o                         3001    3085    +2.8%    **0.97x**
ReduceInto.o                              7676    7888    +2.8%    **0.97x**
StringInterpolation.o                     6265    6435    +2.7%    **0.97x**
DictionaryCompactMapValues.o              13426   13784   +2.7%    **0.97x**
DictTest4.o                               11220   11517   +2.6%    **0.97x**
RangeOverlaps.o                           5016    5145    +2.6%    **0.97x**
Ackermann.o                               1556    1596    +2.6%    **0.97x**
DictOfArraysToArrayOfDicts.o              18589   19059   +2.5%    **0.98x**
DictionaryOfAnyHashableStrings.o          5415    5551    +2.5%    **0.98x**
DropWhile.o                               13326   13656   +2.5%    **0.98x**
DropFirst.o                               14041   14388   +2.5%    **0.98x**
DictTest4Legacy.o                         11454   11736   +2.5%    **0.98x**
DictTest2.o                               7651    7839    +2.5%    **0.98x**
Combos.o                                  4960    5081    +2.4%    **0.98x**
OpenClose.o                               3478    3562    +2.4%    **0.98x**
MonteCarloE.o                             2707    2771    +2.4%    **0.98x**
QueueTest.o                               11410   11673   +2.3%    **0.98x**
DictionarySubscriptDefault.o              13275   13580   +2.3%    **0.98x**
UTF8Decode.o                              20656   21128   +2.3%    **0.98x**
Prefix.o                                  14355   14681   +2.3%    **0.98x**
COWTree.o                                 11020   11268   +2.3%    **0.98x**
DictionaryGroup.o                         10844   11081   +2.2%    **0.98x**
HTTP2StateMachine.o                       4733    4836    +2.2%    **0.98x**
DropLast.o                                18134   18519   +2.1%    **0.98x**
UTF16Decode.o                             19380   19789   +2.1%    **0.98x**
IndexPathTest.o                           7312    7464    +2.1%    **0.98x**
ObjectiveCBridging.o                      48165   49166   +2.1%    **0.98x**
CString.o                                 5181    5285    +2.0%    **0.98x**
StringRemoveDupes.o                       3330    3395    +2.0%    **0.98x**
SortIntPyramids.o                         8096    8251    +1.9%    **0.98x**
MapReduce.o                               19417   19777   +1.9%    **0.98x**
Hash.o                                    17101   17409   +1.8%    **0.98x**
Integrate.o                               2073    2104    +1.5%    **0.99x**
ArrayRemoveAll.o                          7325    7430    +1.4%    **0.99x**
DictTest3.o                               11899   12067   +1.4%    **0.99x**
RandomShuffle.o                           3067    3109    +1.4%    **0.99x**
ExistentialPerformance.o                  35451   35928   +1.3%    **0.99x**
WordCount.o                               34459   34897   +1.3%    **0.99x**
FloatingPointParsing.o                    12792   12951   +1.2%    **0.99x**
ChaCha.o                                  13662   13822   +1.2%    **0.99x**
CodableTest.o                             28414   28734   +1.1%    **0.99x**

IMPROVEMENT                               OLD     NEW     DELTA    RATIO  
NopDeinit.o                               4157    3450    -17.0%   **1.20x**
RangeReplaceableCollectionPlusDefault.o   6706    6161    -8.1%    **1.09x**
StringMatch.o                             3860    3618    -6.3%    **1.07x**
ClassArrayGetter.o                        3860    3644    -5.6%    **1.06x**
CharacterLiteralsLarge.o                  915     876     -4.3%    **1.04x**
SubstringTest.o                           17474   16886   -3.4%    **1.03x**
LuhnAlgoEager.o                           13437   13095   -2.5%    **1.03x**
LuhnAlgoLazy.o                            13437   13095   -2.5%    **1.03x**
DiffingMyers.o                            6724    6561    -2.4%    **1.02x**
StringTests.o                             6543    6398    -2.2%    **1.02x**
Hanoi.o                                   2973    2911    -2.1%    **1.02x**
PrefixWhile.o                             13191   12953   -1.8%    **1.02x**
RecursiveOwnedParameter.o                 1220    1202    -1.5%    **1.01x**
CSVParsing.o                              54982   54178   -1.5%    **1.01x**
CxxStringConversion.o                     3105    3063    -1.4%    **1.01x**
StringEdits.o                             9025    8906    -1.3%    **1.01x**
Walsh.o                                   4031    3984    -1.2%    **1.01x**
Histogram.o                               1635    1617    -1.1%    **1.01x**
Phonebook.o                               8792    8704    -1.0%    **1.01x**

------- Performance (x86_64): -Onone -------

REGRESSION                                                  OLD         NEW         DELTA     RATIO    
SIMDReduce.Int32                                            1465.0      7614.0      +419.7%   **0.19x**
SIMDReduce.Int8                                             6528.0      30297.0     +364.1%   **0.22x**
SIMDReduce.Int32x4.Cast                                     677.333     2294.0      +238.7%   **0.30x**
StringWithCString2                                          0.007       0.021       +175.0%   **0.36x**
SIMDReduce.Int8x16.Cast                                     1024.5      2691.0      +162.7%   **0.38x**
CxxVecU32.sum.Swift.forInLoop                               5957.0      10593.0     +77.8%    **0.56x**
SetSubtractingInt0                                          114.412     197.1       +72.3%    **0.58x**
CxxVecU32.sum.Swift.reduce                                  8302.0      13551.0     +63.2%    **0.61x**
UTF16Decode.initFromCustom.cont                             2196.0      3571.0      +62.6%    **0.61x**
UTF16Decode.initFromCustom.noncont                          2222.0      3584.0      +61.3%    **0.62x (?)**
UTF16Decode.initDecoding                                    227.286     364.6       +60.4%    **0.62x**
NSStringConversion.Long                                     2705.0      4014.0      +48.4%    **0.67x**
SIMDReduce.Int32x16.Cast                                    905.5       1325.0      +46.3%    **0.68x**
NSStringConversion.Mutable                                  1547.0      2260.0      +46.1%    **0.68x**
NSStringConversion.Medium                                   1052.5      1531.0      +45.5%    **0.69x (?)**
SetSubtractingInt100                                        217.889     312.5       +43.4%    **0.70x**
CharIteration_korean_unicodeScalars_Backwards               187320.0    266640.0    +42.3%    **0.70x (?)**
NSStringConversion.LongUTF8                                 1156.0      1627.0      +40.7%    **0.71x**
ArrayAppendSequence                                         64530.0     90060.0     +39.6%    **0.72x**
Dictionary3                                                 383.2       534.75      +39.5%    **0.72x**
SequenceAlgosContiguousArray                                410070.0    571140.0    +39.3%    **0.72x**
Set.subtracting.Seq.Box.Empty                               577.75      797.0       +37.9%    **0.72x**
CharIteration_ascii_unicodeScalars_Backwards                190800.0    262720.0    +37.7%    **0.73x (?)**
CharIteration_russian_unicodeScalars_Backwards              157640.0    216080.0    +37.1%    **0.73x (?)**
SetUnionInt100                                              230.125     315.0       +36.9%    **0.73x**
NSStringConversion.MutableCopy.Medium                       821.0       1122.0      +36.7%    **0.73x (?)**
CharIteration_utf16_unicodeScalars_Backwards                152760.0    208600.0    +36.6%    **0.73x (?)**
CharIteration_tweet_unicodeScalars_Backwards                376880.0    514520.0    +36.5%    **0.73x (?)**
CharIteration_japanese_unicodeScalars_Backwards             229680.0    313040.0    +36.3%    **0.73x (?)**
NSStringConversion.MutableCopy.Long                         910.0       1240.0      +36.3%    **0.73x**
Set.isDisjoint.Seq.Box.Empty                                678.667     921.0       +35.7%    **0.74x**
CharIteration_punctuatedJapanese_unicodeScalars_Backwards   32760.0     44220.0     +35.0%    **0.74x (?)**
CharIteration_punctuated_unicodeScalars_Backwards           41800.0     56360.0     +34.8%    **0.74x (?)**
Dict.CopyKeyValue.24k                                       3799.0      5095.0      +34.1%    **0.75x**
SetSubtractingInt50                                         276.125     369.833     +33.9%    **0.75x**
CharacterPropertiesStashed                                  1365.714    1825.0      +33.6%    **0.75x**
Dict.CopyKeyValue.20k                                       3224.0      4302.0      +33.4%    **0.75x (?)**
Dict.CopyKeyValue.28k                                       4909.0      6528.0      +33.0%    **0.75x**
IndexPath.Max                                               535.5       711.333     +32.8%    **0.75x**
Dict.CopyKeyValue.16k                                       2691.0      3573.0      +32.8%    **0.75x (?)**
IndexPath.Min                                               534.5       709.667     +32.8%    **0.75x**
NSStringConversion.MutableCopy.LongUTF8                     754.333     1000.0      +32.6%    **0.75x**
CharIteration_chinese_unicodeScalars_Backwards              147720.0    195240.0    +32.2%    **0.76x (?)**
IterateData                                                 1997.0      2596.0      +30.0%    **0.77x (?)**
SetSubtractingInt25                                         302.714     393.4       +30.0%    **0.77x**
NSStringConversion.UTF8                                     1496.0      1943.0      +29.9%    **0.77x (?)**
KeyPathNestedClasses                                        212.3       274.5       +29.3%    **0.77x**
SIMDRandomMask.Int64x2                                      783.0       1012.0      +29.2%    **0.77x**
ParseInt.IntSmall.Decimal                                   7866.0      10125.0     +28.7%    **0.78x (?)**
CharIndexing_korean_unicodeScalars                          301360.0    386240.0    +28.2%    **0.78x**
Set.isDisjoint.Smaller.Int0                                 238.875     306.143     +28.2%    **0.78x**
DictionarySwap                                              3248.0      4162.0      +28.1%    **0.78x (?)**
CharacterPropertiesPrecomputed                              1773.846    2268.0      +27.9%    **0.78x (?)**
Dictionary4                                                 595.667     761.5       +27.8%    **0.78x**
StrToInt                                                    27030.0     34510.0     +27.7%    **0.78x**
ParseInt.IntSmall.UncommonRadix                             8228.0      10500.0     +27.6%    **0.78x**
LineSink.bytes.complex                                      718.333     916.5       +27.6%    **0.78x**
LineSink.scalars.complex                                    719.0       915.0       +27.3%    **0.79x (?)**
KeyPathClassStructs                                         552.0       701.0       +27.0%    **0.79x**
DictionaryRemove                                            8570.0      10880.0     +27.0%    **0.79x**
CharIndexing_korean_unicodeScalars_Backwards                287960.0    363440.0    +26.2%    **0.79x (?)**
DropFirstArray                                              8168.0      10307.0     +26.2%    **0.79x**
LineSink.bytes.alpha                                        211.545     266.5       +26.0%    **0.79x (?)**
SetUnionInt50                                               330.167     415.6       +25.9%    **0.79x**
ArrayAppendLazyMap                                          182690.0    229530.0    +25.6%    **0.80x**
DictionarySwapAt                                            1980.0      2476.0      +25.1%    **0.80x**
CharIndexing_punctuated_unicodeScalars_Backwards            65240.0     81560.0     +25.0%    **0.80x (?)**
UTF8Decode_InitFromCustom_noncontiguous_ascii_as_ascii      81739.0     102147.0    +25.0%    **0.80x**
CharIndexing_russian_unicodeScalars                         258680.0    323120.0    +24.9%    **0.80x**
Dictionary                                                  1853.333    2311.0      +24.7%    **0.80x (?)**
Dictionary4Legacy                                           780.5       972.5       +24.6%    **0.80x (?)**
DifferentiationArraySum                                     1196.0      1490.0      +24.6%    **0.80x (?)**
SetSymmetricDifferenceInt100                                440.75      548.75      +24.5%    **0.80x**
CharIndexing_tweet_unicodeScalars                           620120.0    771680.0    +24.4%    **0.80x**
UTF8Decode_InitFromCustom_noncontiguous                     26107.0     32440.0     +24.3%    **0.80x**
LazilyFilteredArrays2                                       71200.0     88200.0     +23.9%    **0.81x**
MapReduceLazyCollection                                     23168.0     28668.0     +23.7%    **0.81x**
StringDistance.utf8.mixed                                   208.7       257.875     +23.6%    **0.81x (?)**
UTF8Decode_InitFromCustom_noncontiguous_ascii               82717.0     102189.0    +23.5%    **0.81x**
DropLastArray                                               2787.0      3437.0      +23.3%    **0.81x (?)**
SetUnionInt25                                               370.4       456.5       +23.2%    **0.81x**
FlattenListLoop                                             53921.0     66431.0     +23.2%    **0.81x**
CharacterPropertiesStashedMemo                              2051.25     2527.143    +23.2%    **0.81x (?)**
Set.subtracting.Seq.Box0                                    4706.0      5792.0      +23.1%    **0.81x**
Set.intersection.Seq.Box0                                   948.5       1166.5      +23.0%    **0.81x**
CharIndexing_punctuated_unicodeScalars                      68600.0     84240.0     +22.8%    **0.81x (?)**
CharIndexing_tweet_unicodeScalars_Backwards                 603640.0    741240.0    +22.8%    **0.81x (?)**
Set.isDisjoint.Seq.Box25                                    3410.0      4187.0      +22.8%    **0.81x**
Set.isStrictSubset.Seq.Box0                                 4740.0      5819.0      +22.8%    **0.81x (?)**
ParseInt.UIntSmall.Binary                                   10704.0     13127.0     +22.6%    **0.82x**
CharIndexing_japanese_unicodeScalars_Backwards              364440.0    446560.0    +22.5%    **0.82x (?)**
FilterEvenUsingReduceInto                                   1807.0      2214.0      +22.5%    **0.82x (?)**
CharIndexing_japanese_unicodeScalars                        374760.0    459120.0    +22.5%    **0.82x**
CharIndexing_punctuatedJapanese_unicodeScalars              54000.0     66080.0     +22.4%    **0.82x**
FilterEvenUsingReduce                                       2517.143    3080.0      +22.4%    **0.82x**
Set.isDisjoint.Seq.Box0                                     4763.0      5827.0      +22.3%    **0.82x (?)**
UTF8Decode                                                  27734.0     33873.0     +22.1%    **0.82x**
SumUsingReduceInto                                          147934.0    180541.0    +22.0%    **0.82x**
ReversedDictionary2                                         14960.0     18240.0     +21.9%    **0.82x**
Set.isStrictSubset.Seq.Box25                                1273.0      1552.0      +21.9%    **0.82x**
Set.isSubset.Seq.Box25                                      1254.0      1528.0      +21.9%    **0.82x**
CharIndexing_russian_unicodeScalars_Backwards               250160.0    304720.0    +21.8%    **0.82x (?)**
SetSubtractingBox0                                          365.833     444.5       +21.5%    **0.82x (?)**
Set.isSubset.Seq.Box0                                       4750.0      5764.0      +21.3%    **0.82x**
FatCompactMap                                               347600.0    421780.0    +21.3%    **0.82x**
CharIndexing_utf16_unicodeScalars_Backwards                 267720.0    324320.0    +21.1%    **0.83x (?)**
SuffixArray                                                 2776.0      3362.0      +21.1%    **0.83x (?)**
Set.isSuperset.Seq.Box25                                    1264.0      1530.0      +21.0%    **0.83x**
Set.intersection.Seq.Box25                                  1055.0      1276.0      +20.9%    **0.83x (?)**
CharIndexing_ascii_unicodeScalars                           310920.0    376040.0    +20.9%    **0.83x**
RawBufferInitializeMemory                                   14829.0     17923.0     +20.9%    **0.83x (?)**
Set.isStrictSuperset.Seq.Box25                              1267.0      1531.0      +20.8%    **0.83x**
ReversedArray2                                              14355.0     17339.0     +20.8%    **0.83x (?)**
RangeReplaceableCollectionPlusDefault                       3426.0      4136.0      +20.7%    **0.83x (?)**
CharIndexing_ascii_unicodeScalars_Backwards                 302840.0    364800.0    +20.5%    **0.83x (?)**
CharIndexing_chinese_unicodeScalars                         238680.0    286920.0    +20.2%    **0.83x (?)**
ParseInt.UInt64.Hex                                         2748.0      3303.0      +20.2%    **0.83x (?)**
SumUsingReduce                                              153252.0    184188.0    +20.2%    **0.83x**
CharIndexing_utf16_unicodeScalars                           280240.0    336520.0    +20.1%    **0.83x**
LazilyFilteredArrayContains                                 828800.0    993800.0    +19.9%    **0.83x (?)**
RemoveWhereFilterInts                                       1767.0      2118.0      +19.9%    **0.83x (?)**
ClosedRangeOverlapsClosedRange                              14925.0     17852.0     +19.6%    **0.84x**
PrefixArray                                                 8321.0      9939.0      +19.4%    **0.84x (?)**
NSStringConversion.MutableCopy.UTF8                         619.667     739.667     +19.4%    **0.84x (?)**
CharIndexing_chinese_unicodeScalars_Backwards               232520.0    277200.0    +19.2%    **0.84x (?)**
KeyPathOptionals                                            698.0       831.5       +19.1%    **0.84x (?)**
MapReduceLazyCollectionShort                                25645.0     30488.0     +18.9%    **0.84x (?)**
CharacterPropertiesFetch                                    2831.429    3365.0      +18.8%    **0.84x (?)**
SequenceAlgosList                                           7676.667    9120.0      +18.8%    **0.84x**
DictionaryOfAnyHashableStrings_lookup                       2293.846    2724.571    +18.8%    **0.84x (?)**
Dictionary3OfObjects                                        968.5       1150.0      +18.7%    **0.84x (?)**
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards    52960.0     62880.0     +18.7%    **0.84x (?)**
StringComparison_latin1                                     3788.0      4496.0      +18.7%    **0.84x**
StringToDataEmpty                                           1292.188    1532.5      +18.6%    **0.84x (?)**
MapReduceString                                             1427.0      1691.0      +18.5%    **0.84x (?)**
SequenceAlgosArray                                          755940.0    895310.0    +18.4%    **0.84x**
SubstringTrimmingASCIIWhitespace                            486.5       575.667     +18.3%    **0.85x**
UTF16Decode                                                 23490.0     27791.0     +18.3%    **0.85x**
CharIteration_ascii_unicodeScalars                          131400.0    155240.0    +18.1%    **0.85x (?)**
ParseInt.UInt64.Decimal                                     2744.0      3236.0      +17.9%    **0.85x (?)**
SIMDReduce.Int8x64.Cast                                     2301.0      2713.0      +17.9%    **0.85x**
SetSymmetricDifferenceInt50                                 459.0       541.0       +17.9%    **0.85x (?)**
Histogram                                                   4793.0      5646.0      +17.8%    **0.85x (?)**
StringComparison_slowerPrenormal                            3176.667    3740.0      +17.7%    **0.85x**
Set.isDisjoint.Int0                                         501.75      590.667     +17.7%    **0.85x**
MapReduceShortString                                        123.8       145.625     +17.6%    **0.85x (?)**
RemoveWhereFilterStrings                                    2164.0      2542.0      +17.5%    **0.85x (?)**
StringMatch                                                 25483.333   29900.0     +17.3%    **0.85x (?)**
KeyPathMutatingGetset                                       261.0       306.143     +17.3%    **0.85x (?)**
ChainedFilterMap                                            225477.0    264429.0    +17.3%    **0.85x**
StringComparison_longSharedPrefix                           1782.0      2087.0      +17.1%    **0.85x (?)**
CaptureProp                                                 359350.0    420620.0    +17.1%    **0.85x**
StringDistance.utf16.ascii                                  4823.0      5641.0      +17.0%    **0.85x (?)**
Set.subtracting.Box.Empty                                   100.8       117.846     +16.9%    **0.86x (?)**
Set.subtracting.Seq.Int.Empty                               561.5       656.333     +16.9%    **0.86x**
StringComparison_nonBMPSlowestPrenormal                     2656.667    3103.333    +16.8%    **0.86x**
StringComparison_ascii                                      8779.0      10253.0     +16.8%    **0.86x**
Breadcrumbs.MutatedIdxToUTF16.ASCII                         14.407      16.82       +16.7%    **0.86x (?)**
StringComparison_emoji                                      1478.4      1724.8      +16.7%    **0.86x (?)**
StringComparison_fastPrenormal                              4957.5      5780.0      +16.6%    **0.86x**
Set.isSuperset.Seq.Empty.Int                                603.333     703.0       +16.5%    **0.86x**
MapReduceClass2                                             2812.0      3271.0      +16.3%    **0.86x (?)**
Chars2                                                      31050.0     36116.667   +16.3%    **0.86x (?)**
FlattenListFlatMap                                          138026.0    160456.0    +16.3%    **0.86x**
KeyPathGet                                                  255.111     296.286     +16.1%    **0.86x (?)**
StringDistance.utf8.ascii                                   4834.0      5613.0      +16.1%    **0.86x (?)**
StringToDataSmall                                           1392.466    1616.129    +16.1%    **0.86x (?)**
Set.subtracting.Seq.Box25                                   6902.0      8009.0      +16.0%    **0.86x (?)**
StringHashing_ascii                                         208.5       241.875     +16.0%    **0.86x (?)**
MapReduceLazySequence                                       17689.0     20513.0     +16.0%    **0.86x**
Set.isDisjoint.Seq.Int.Empty                                662.667     767.667     +15.8%    **0.86x (?)**
Dictionary4OfObjects                                        934.5       1082.5      +15.8%    **0.86x (?)**
Set.isSubset.Seq.Int0                                       3323.0      3842.0      +15.6%    **0.86x**
DictionaryCompactMapValuesOfCastValue                       31455.0     36342.0     +15.5%    **0.87x (?)**
Set.intersection.Seq.Int0                                   670.333     774.0       +15.5%    **0.87x (?)**
MapReduceShort                                              29030.0     33490.0     +15.4%    **0.87x (?)**
Set.isSuperset.Seq.Int50                                    1632.0      1882.0      +15.3%    **0.87x (?)**
SetUnion                                                    5660.0      6526.667    +15.3%    **0.87x (?)**
SetUnionInt0                                                565.75      652.333     +15.3%    **0.87x (?)**
Set.isSuperset.Seq.Int100                                   3267.0      3765.0      +15.2%    **0.87x (?)**
Set.isSubset.Seq.Int100                                     3281.0      3779.0      +15.2%    **0.87x (?)**
MapReduceAnyCollection                                      26844.0     30911.0     +15.2%    **0.87x**
Set.isSuperset.Seq.Int25                                    830.0       955.5       +15.1%    **0.87x (?)**
WordCountUniqueUTF16                                        7130.0      8205.0      +15.1%    **0.87x**
SubstringEquatable                                          3833.0      4408.0      +15.0%    **0.87x**
Set.intersection.Seq.Int50                                  706.333     811.0       +14.8%    **0.87x**
Set.isDisjoint.Seq.Int25                                    2474.0      2840.0      +14.8%    **0.87x**
Set.isStrictSuperset.Seq.Int100                             3292.0      3778.0      +14.8%    **0.87x**
Set.isDisjoint.Seq.Int0                                     3345.0      3836.0      +14.7%    **0.87x (?)**
SuperChars2                                                 1169.5      1341.0      +14.7%    **0.87x**
WordCountUniqueASCII                                        6940.0      7956.667    +14.6%    **0.87x (?)**
Set.isSubset.Seq.Int50                                      1632.0      1871.0      +14.6%    **0.87x (?)**
DropWhileArray                                              11032.0     12647.0     +14.6%    **0.87x (?)**
Set.isDisjoint.Seq.Int50                                    1683.0      1927.0      +14.5%    **0.87x (?)**
Set.subtracting.Seq.Int0                                    3317.0      3796.0      +14.4%    **0.87x (?)**
AngryPhonebook                                              1750.0      2002.0      +14.4%    **0.87x (?)**
DictionaryLiteral                                           3593.333    4110.0      +14.4%    **0.87x (?)**
SubstringRemoveLast1                                        0.125       0.143       +14.3%    **0.88x (?)**
ObjectiveCBridgeStubDateMutation                            326.833     373.5       +14.3%    **0.88x (?)**
MapReduceClassShort2                                        3111.0      3554.0      +14.2%    **0.88x (?)**
Set.isStrictSubset.Seq.Int50                                1653.0      1888.0      +14.2%    **0.88x (?)**
CharIteration_russian_unicodeScalars                        109520.0    125040.0    +14.2%    **0.88x (?)**
SetUnionBox25                                               946.5       1080.5      +14.2%    **0.88x (?)**
RangeOverlapsRange                                          16804.0     19183.0     +14.2%    **0.88x**
Set.isStrictSubset.Seq.Int100                               3309.0      3776.0      +14.1%    **0.88x (?)**
ArrayValueProp2                                             12736.0     14532.0     +14.1%    **0.88x (?)**
AngryPhonebook.ASCII2.Small                                 779.667     889.5       +14.1%    **0.88x (?)**
MapReduceSequence                                           26305.0     30010.0     +14.1%    **0.88x**
Set.intersection.Seq.Int25                                  692.667     790.0       +14.1%    **0.88x**
Set.isSubset.Seq.Int25                                      828.0       944.0       +14.0%    **0.88x (?)**
Set.intersection.Seq.Int100                                 658.667     750.667     +14.0%    **0.88x (?)**
Set.isStrictSubset.Seq.Int25                                843.0       960.0       +13.9%    **0.88x**
ObjectiveCBridgeFromNSString                                1712.0      1949.0      +13.8%    **0.88x (?)**
Set.isStrictSuperset.Seq.Box0                               170.0       193.4       +13.8%    **0.88x (?)**
CharIteration_punctuatedJapanese_unicodeScalars             22870.0     26000.0     +13.7%    **0.88x (?)**
LuhnAlgoLazy                                                2341.0      2660.0      +13.6%    **0.88x (?)**
CharIteration_japanese_unicodeScalars                       160120.0    181920.0    +13.6%    **0.88x (?)**
StringInterpolationSmall                                    2196.667    2495.714    +13.6%    **0.88x**
QueueConcrete                                               10835.0     12310.0     +13.6%    **0.88x (?)**
Set.isSuperset.Seq.Box0                                     1536.0      1745.0      +13.6%    **0.88x (?)**
Set.isSubset.Seq.Int.Empty                                  838.5       952.5       +13.6%    **0.88x (?)**
Dictionary4OfObjectsLegacy                                  1123.5      1276.0      +13.6%    **0.88x (?)**
Set.isStrictSuperset.Seq.Int50                              1639.0      1861.0      +13.5%    **0.88x**
Breadcrumbs.UTF16ToIdx.longMixed                            1374.0      1560.0      +13.5%    **0.88x (?)**
PrefixWhileArrayLazy                                        13359.0     15159.0     +13.5%    **0.88x (?)**
StringRemoveDupes                                           561.0       636.333     +13.4%    **0.88x (?)**
Breadcrumbs.MutatedUTF16ToIdx.ASCII                         14.664      16.63       +13.4%    **0.88x (?)**
Set.isStrictSubset.Seq.Int0                                 3371.0      3822.0      +13.4%    **0.88x (?)**
CharIteration_chinese_unicodeScalars                        101360.0    114880.0    +13.3%    **0.88x (?)**
SetSymmetricDifferenceInt25                                 473.25      536.0       +13.3%    **0.88x (?)**
RangeOverlapsClosedRange                                    17926.0     20301.0     +13.2%    **0.88x**
DataCountSmall                                              44.231      50.083      +13.2%    **0.88x (?)**
CharIteration_tweet_unicodeScalars                          256560.0    290320.0    +13.2%    **0.88x (?)**
ObjectAllocation                                            901.5       1020.0      +13.1%    **0.88x (?)**
StringDistance.scalars.mixed                                304.125     343.833     +13.1%    **0.88x (?)**
DictionaryGroupOfObjects                                    4074.75     4605.75     +13.0%    **0.88x (?)**
CharIteration_korean_unicodeScalars                         130360.0    147280.0    +13.0%    **0.89x (?)**
StringUTF16Builder                                          4605.0      5202.5      +13.0%    **0.89x (?)**
NormalizedIterator_latin1                                   380.333     429.6       +13.0%    **0.89x (?)**
StringBuilder                                               4523.0      5104.0      +12.8%    **0.89x (?)**
AngryPhonebook.Strasse.Small                                211.444     238.6       +12.8%    **0.89x (?)**
PrefixWhileSequence                                         16374.0     18455.0     +12.7%    **0.89x (?)**
StringBuilderSmallReservingCapacity                         4549.0      5122.0      +12.6%    **0.89x (?)**
Breadcrumbs.MutatedUTF16ToIdx.Mixed                         208.455     234.667     +12.6%    **0.89x**
SIMDReduce.Int32x4.Initializer                              98940.0     111370.0    +12.6%    **0.89x (?)**
Data.init.Sequence.809B.Count.RE                            25942.0     29195.0     +12.5%    **0.89x (?)**
Breadcrumbs.MutatedIdxToUTF16.Mixed                         215.182     242.111     +12.5%    **0.89x (?)**
Set.isStrictSuperset.Seq.Empty.Int                          767.0       862.5       +12.5%    **0.89x (?)**
StringHashing_latin1                                        348.6       392.0       +12.4%    **0.89x (?)**
SIMDReduce.Int8x16.Initializer                              339550.0    381441.0    +12.3%    **0.89x (?)**
ParseFloat.Float.Exp                                        25.731      28.9        +12.3%    **0.89x (?)**
Set.isStrictSubset.Seq.Int.Empty                            752.0       844.5       +12.3%    **0.89x (?)**
MapReduceNSDecimalNumberShort                               3303.0      3706.0      +12.2%    **0.89x (?)**
MapReduceAnyCollectionShort                                 29940.0     33590.0     +12.2%    **0.89x (?)**
PrefixWhileAnySequence                                      16378.0     18368.0     +12.2%    **0.89x (?)**
Set.subtracting.Int.Empty                                   108.95      122.143     +12.1%    **0.89x (?)**
NormalizedIterator_ascii                                    274.875     308.143     +12.1%    **0.89x (?)**
Data.init.Sequence.809B.Count.I                             1907.0      2137.0      +12.1%    **0.89x (?)**
Data.init.Sequence.64kB.Count.I                             1504.0      1683.0      +11.9%    **0.89x (?)**
Data.init.Sequence.809B.Count.RE.I                          26049.0     29125.0     +11.8%    **0.89x (?)**
CharIteration_utf16_unicodeScalars                          104720.0    117000.0    +11.7%    **0.90x (?)**
StringDistance.scalars.ascii                                6038.0      6743.0      +11.7%    **0.90x**
StringDistance.utf16.mixed                                  333.667     372.6       +11.7%    **0.90x (?)**
QueueGeneric                                                13030.0     14540.0     +11.6%    **0.90x (?)**
StringUTF16SubstringBuilder                                 9245.0      10315.0     +11.6%    **0.90x (?)**
Data.init.Sequence.809B.Count                               1907.0      2127.0      +11.5%    **0.90x (?)**
Set.subtracting.Seq.Int25                                   4316.0      4812.0      +11.5%    **0.90x (?)**
Data.append.Sequence.64kB.Count.RE                          20923.0     23327.0     +11.5%    **0.90x (?)**
Set.isStrictSuperset.Seq.Int25                              849.0       946.0       +11.4%    **0.90x (?)**
Breadcrumbs.UTF16ToIdxRange.longASCII                       221.5       246.778     +11.4%    **0.90x (?)**
DataAppendSequence                                          2604600.0   2901500.0   +11.4%    **0.90x (?)**
Set.subtracting.Seq.Int100                                  3948.0      4394.0      +11.3%    **0.90x (?)**
Data.append.Sequence.64kB.Count.I                           1509.0      1679.0      +11.3%    **0.90x (?)**
Data.append.Sequence.64kB.Count                             1511.0      1681.0      +11.3%    **0.90x (?)**
MapReduce                                                   26935.0     29945.0     +11.2%    **0.90x (?)**
ErrorHandling                                               4122.5      4582.5      +11.2%    **0.90x (?)**
DropLastSequenceLazy                                        12926.0     14359.0     +11.1%    **0.90x (?)**
Data.init.Sequence.64kB.Count0.RE                           20799.0     23101.0     +11.1%    **0.90x (?)**
SubstringEqualString                                        1028.5      1142.0      +11.0%    **0.90x (?)**
DictionaryOfObjects                                         3491.667    3876.667    +11.0%    **0.90x (?)**
DictionaryOfAnyHashableStrings_insert                       4305.0      4774.0      +10.9%    **0.90x (?)**
Data.append.Sequence.64kB.Count.RE.I                        21013.0     23298.0     +10.9%    **0.90x (?)**
ParseFloat.Double.Exp                                       25.81       28.6        +10.8%    **0.90x (?)**
Breadcrumbs.IdxToUTF16Range.longASCII                       219.889     243.625     +10.8%    **0.90x (?)**
MapReduceNSDecimalNumber                                    3027.0      3353.0      +10.8%    **0.90x (?)**
Data.init.Sequence.64kB.Count                               1506.0      1668.0      +10.8%    **0.90x (?)**
SIMDReduce.Int32x16.Initializer                             86206.0     95445.0     +10.7%    **0.90x (?)**
Data.init.Sequence.513B.Count.I                             1857.0      2056.0      +10.7%    **0.90x (?)**
Data.init.Sequence.511B.Count.I                             1845.0      2042.0      +10.7%    **0.90x (?)**
TwoSum                                                      2316.0      2560.0      +10.5%    **0.90x (?)**
Set.subtracting.Seq.Int50                                   4206.0      4644.0      +10.4%    **0.91x (?)**
LuhnAlgoEager                                               2376.0      2622.0      +10.4%    **0.91x (?)**
SetSubtractingBox25                                         791.333     871.5       +10.1%    **0.91x (?)**
Data.append.Sequence.809B.Count.RE                          26039.0     28668.0     +10.1%    **0.91x (?)**
Breadcrumbs.IdxToUTF16.longASCII                            1150.0      1265.0      +10.0%    **0.91x (?)**
Data.init.Sequence.64kB.Count.RE                            21013.0     23085.0     +9.9%     **0.91x (?)**
PrefixWhileArray                                            16625.0     18244.0     +9.7%     **0.91x (?)**
Set.isSuperset.Seq.Int.Empty                                1276.0      1400.0      +9.7%     **0.91x (?)**
DropWhileArrayLazy                                          16314.0     17888.0     +9.6%     **0.91x (?)**
Data.init.Sequence.64kB.Count0.RE.I                         20836.0     22829.0     +9.6%     **0.91x (?)**
Data.init.Sequence.64kB.Count.RE.I                          20933.0     22930.0     +9.5%     **0.91x (?)**
SIMDReduce.Int8x64.Initializer                              333995.0    365499.0    +9.4%     **0.91x (?)**
Data.init.Sequence.809B.Count0.RE                           26251.0     28712.0     +9.4%     **0.91x (?)**
DropWhileSequence                                           12390.0     13548.0     +9.3%     **0.91x (?)**
Data.init.Sequence.809B.Count0.RE.I                         26244.0     28649.0     +9.2%     **0.92x (?)**
SuffixSequenceLazy                                          11380.0     12410.0     +9.1%     **0.92x (?)**
DropWhileAnySeqCntRange                                     41275.0     44967.0     +8.9%     **0.92x (?)**
RemoveWhereQuadraticString                                  2227.0      2425.0      +8.9%     **0.92x (?)**
DropWhileAnySequence                                        12949.0     14098.0     +8.9%     **0.92x (?)**
Breadcrumbs.CopyUTF16CodeUnits.ASCII                        120.0       130.5       +8.7%     **0.92x (?)**
SuffixSequence                                              11395.0     12389.0     +8.7%     **0.92x (?)**
DropLastAnySequenceLazy                                     13065.0     14193.0     +8.6%     **0.92x (?)**
Diffing.Myers.Similar                                       414.75      450.5       +8.6%     **0.92x (?)**
PrefixWhileAnySeqCntRange                                   37277.0     40431.0     +8.5%     **0.92x (?)**
ParseFloat.Float.Uniform                                    38.385      41.625      +8.4%     **0.92x (?)**
Breadcrumbs.CopyUTF16CodeUnits.Mixed                        151.533     164.154     +8.3%     **0.92x (?)**
SuffixAnySequence                                           11449.0     12402.0     +8.3%     **0.92x (?)**
Combos                                                      801.5       868.0       +8.3%     **0.92x (?)**
Set.isSuperset.Seq.Int0                                     1319.0      1428.0      +8.3%     **0.92x (?)**
SetIsSubsetInt0                                             361.5       390.167     +7.9%     **0.93x (?)**
NormalizedIterator_slowerPrenormal                          457.143     493.077     +7.9%     **0.93x (?)**
SuffixAnySequenceLazy                                       11630.0     12541.0     +7.8%     **0.93x (?)**
NSDictionaryCastToSwift                                     1925.556    2076.0      +7.8%     **0.93x (?)**
DropLastAnySequence                                         12922.0     13920.0     +7.7%     **0.93x (?)**
NormalizedIterator_fastPrenormal                            684.722     736.875     +7.6%     **0.93x (?)**
Set.isDisjoint.Seq.Int100                                   1415.0      1522.0      +7.6%     **0.93x (?)**
ObjectiveCBridgeFromNSArrayAnyObject                        13877.778   14925.0     +7.5%     **0.93x (?)**

IMPROVEMENT                                                 OLD         NEW         DELTA     RATIO    
FindString.Loop1.Substring                                  641.333     413.75      -35.5%    **1.55x**
StringSwitch                                                1075.0      812.0       -24.5%    **1.32x**
Calculator                                                  913.0       712.667     -21.9%    **1.28x (?)**
FindString.Loop1.Array                                      144250.0    123679.0    -14.3%    **1.17x (?)**
FindString.Rec3.Substring                                   503.5       432.8       -14.0%    **1.16x (?)**
RemoveWhereMoveInts                                         2324.0      2010.0      -13.5%    **1.16x (?)**
RawBuffer.1000.findFirst                                    83207.0     72211.0     -13.2%    **1.15x**
RawBuffer.1000.findLast                                     94907.0     82631.0     -12.9%    **1.15x**
CSVParsing.UTF8                                             426.4       371.333     -12.9%    **1.15x**
FindString.Rec3.String                                      521.0       454.8       -12.7%    **1.15x (?)**
CharacterLiteralsLarge                                      450.4       394.4       -12.4%    **1.14x (?)**
RemoveWhereMoveStrings                                      2784.0      2472.0      -11.2%    **1.13x (?)**
CharacterLiteralsSmall                                      751.0       670.333     -10.7%    **1.12x (?)**
ObjectiveCBridgeStubDateAccess                              3502.0      3132.0      -10.6%    **1.12x (?)**
CSVParsing.UTF16                                            381.5       344.167     -9.8%     **1.11x (?)**
DataCreateEmpty                                             784.118     712.381     -9.1%     **1.10x (?)**
StringWordBuilder                                           1555.833    1415.0      -9.1%     **1.10x (?)**
DataSubscriptSmall                                          78.4        71.905      -8.3%     **1.09x (?)**
StringWordBuilderReservingCapacity                          1502.5      1387.692    -7.6%     **1.08x (?)**
StrComplexWalk                                              4785.0      4436.0      -7.3%     **1.08x (?)**
DifferentiationIdentity                                     282.667     262.571     -7.1%     **1.08x (?)**

------- Code size: -swiftlibs -------

REGRESSION                        OLD      NEW      DELTA   RATIO  
libswift_StringProcessing.dylib   540672   573440   +6.1%   **0.94x**
libswift_RegexParser.dylib        704512   720896   +2.3%   **0.98x**

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

1 similar comment
@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

### Performance (arm64): -O

**Regression**                          | **OLD**  | **NEW**  | **DELTA** | **RATIO**
:---                                    | ---:     | ---:     | ---:    | ---:     
UTF16Decode.initFromCustom.cont         | 348.0    | 855.0    | +145.7% | **0.41x (?)**
UTF16Decode.initFromCustom.noncont      | 357.4    | 864.0    | +141.7% | **0.41x**
SubstringComparable                     | 4.365    | 10.135   | +132.2% | **0.43x (?)**
LazilyFilteredArrayContains             | 4992.857 | 7712.0   | +54.5%  | **0.65x (?)**
DropFirstAnySeqCntRange                 | 19.333   | 29.257   | +51.3%  | **0.66x (?)**
DropFirstAnySeqCRangeIter               | 19.324   | 29.167   | +50.9%  | **0.66x (?)**
UTF16Decode.initDecoding                | 112.333  | 167.5    | +49.1%  | **0.67x (?)**
RemoveWhereFilterStrings                | 139.313  | 176.0    | +26.3%  | **0.79x**
SubstringEquatable                      | 200.333  | 249.0    | +24.3%  | **0.80x (?)**
Set.isDisjoint.Seq.Box25                | 288.0    | 353.857  | +22.9%  | **0.81x (?)**
Set.isDisjoint.Seq.Box0                 | 383.833  | 471.6    | +22.9%  | **0.81x (?)**
ObserverForwarderStruct                 | 181.4    | 215.408  | +18.7%  | **0.84x (?)**
EqualStringSubstring                    | 18.917   | 22.15    | +17.1%  | **0.85x (?)**
LessSubstringSubstring                  | 18.852   | 22.044   | +16.9%  | **0.86x (?)**
EqualSubstringSubstringGenericEquatable | 18.846   | 22.033   | +16.9%  | **0.86x (?)**
EqualSubstringSubstring                 | 18.867   | 22.036   | +16.8%  | **0.86x (?)**
LessSubstringSubstringGenericComparable | 18.87    | 22.033   | +16.8%  | **0.86x**
LuhnAlgoEager                           | 79.2     | 92.357   | +16.6%  | **0.86x**
LuhnAlgoLazy                            | 79.091   | 91.762   | +16.0%  | **0.86x**
EqualSubstringString                    | 18.983   | 22.024   | +16.0%  | **0.86x (?)**
Set.isDisjoint.Smaller.Box0             | 187.308  | 212.182  | +13.3%  | **0.88x (?)**
Set.isSuperset.Seq.Box0                 | 77.0     | 87.214   | +13.3%  | **0.88x (?)**
WordCountHistogramASCII                 | 1735.185 | 1953.846 | +12.6%  | **0.89x**
DictionaryGroupOfObjects                | 571.286  | 636.857  | +11.5%  | **0.90x**
WordCountHistogramUTF16                 | 1843.75  | 2034.783 | +10.4%  | **0.91x (?)**
Set.isStrictSubset.Seq.Int.Empty        | 81.091   | 88.909   | +9.6%   | **0.91x (?)**
FatCompactMap                           | 545.714  | 598.0    | +9.6%   | **0.91x (?)**
DictionarySwapOfObjects                 | 2164.444 | 2360.0   | +9.0%   | **0.92x (?)**
WordCountUniqueUTF16                    | 1041.905 | 1129.286 | +8.4%   | **0.92x (?)**
Set.isSuperset.Seq.Box25                | 84.414   | 91.296   | +8.2%   | **0.92x (?)**
WordCountUniqueASCII                    | 994.0    | 1070.714 | +7.7%   | **0.93x (?)**
Set.isStrictSuperset.Seq.Empty.Int      | 81.091   | 87.3     | +7.7%   | **0.93x (?)**
Set.isSubset.Seq.Int.Empty              | 81.1     | 87.3     | +7.6%   | **0.93x (?)**
  | | | | 
**Improvement**                         | **OLD**  | **NEW**  | **DELTA** | **RATIO**
DataCreateSmallArray                    | 1060.256 | 92.969   | -91.2%  | **11.40x**
DropFirstAnySequenceLazy                | 272.0    | 26.727   | -90.2%  | **10.18x**
DataCreateEmptyArray                    | 592.308  | 93.277   | -84.3%  | **6.35x**
StringEqualPointerComparison            | 93.545   | 31.2     | -66.6%  | **3.00x**
SequenceAlgosRange                      | 2496.0   | 1871.818 | -25.0%  | **1.33x**
DropWhileAnySequenceLazy                | 170.0    | 139.0    | -18.2%  | **1.22x (?)**
Set.isDisjoint.Seq.Empty.Box            | 39.0     | 34.311   | -12.0%  | **1.14x (?)**
DataCreateMediumArray                   | 702.632  | 618.333  | -12.0%  | **1.14x (?)**
BufferFillFromSlice                     | 12.094   | 10.661   | -11.8%  | **1.13x (?)**
ChainedFilterMap                        | 608.5    | 538.313  | -11.5%  | **1.13x (?)**
Set.isDisjoint.Seq.Box.Empty            | 57.721   | 53.043   | -8.1%   | **1.09x (?)**
ArrayAppendLatin1Substring              | 10071.0  | 9360.0   | -7.1%   | **1.08x (?)**
StringToDataEmpty                       | 358.333  | 334.615  | -6.6%   | **1.07x (?)**

### Code size: -O

**Regression**                                   | **OLD** | **NEW** | **DELTA** | **RATIO**
:---                                             | ---:   | ---:   | ---:   | ---:   
RomanNumbers.o                                   | 3329   | 4029   | +21.0% | **0.83x**
ChainedFilterMap.o                               | 2539   | 2803   | +10.4% | **0.91x**
DropFirst.o                                      | 11921  | 12991  | +9.0%  | **0.92x**
Suffix.o                                         | 16894  | 18394  | +8.9%  | **0.92x**
LazyFilter.o                                     | 5497   | 5957   | +8.4%  | **0.92x**
ErrorHandling.o                                  | 2358   | 2534   | +7.5%  | **0.93x**
SequenceAlgos.o                                  | 15494  | 16462  | +6.2%  | **0.94x**
ProtocolConformance.o                            | 2925   | 3057   | +4.5%  | **0.96x**
DictionaryKeysContains.o                         | 6454   | 6742   | +4.5%  | **0.96x**
BinaryFloatingPointConversionFromBinaryInteger.o | 23490  | 24498  | +4.3%  | **0.96x**
RandomShuffle.o                                  | 2350   | 2434   | +3.6%  | **0.97x**
WordCount.o                                      | 30499  | 31499  | +3.3%  | **0.97x**
ObjectAllocation.o                               | 3258   | 3354   | +2.9%  | **0.97x**
BufferFill.o                                     | 6657   | 6849   | +2.9%  | **0.97x**
RangeIteration.o                                 | 1112   | 1144   | +2.9%  | **0.97x**
MonteCarloPi.o                                   | 1142   | 1174   | +2.8%  | **0.97x**
XorLoop.o                                        | 1150   | 1182   | +2.8%  | **0.97x**
SevenBoom.o                                      | 1152   | 1184   | +2.8%  | **0.97x**
NSDictionaryCastToSwift.o                        | 1158   | 1190   | +2.8%  | **0.97x**
ProtocolDispatch2.o                              | 1170   | 1202   | +2.7%  | **0.97x**
BitCount.o                                       | 1178   | 1210   | +2.7%  | **0.97x**
ArrayLiteral.o                                   | 2010   | 2062   | +2.6%  | **0.97x**
DeadArray.o                                      | 1238   | 1270   | +2.6%  | **0.97x**
SortIntPyramids.o                                | 7432   | 7624   | +2.6%  | **0.97x**
DropWhile.o                                      | 12035  | 12343  | +2.6%  | **0.98x**
Exclusivity.o                                    | 3246   | 3326   | +2.5%  | **0.98x**
NaiveRangeReplaceableCollectionConformance.o     | 7326   | 7502   | +2.4%  | **0.98x**
DictionaryCopy.o                                 | 7364   | 7520   | +2.1%  | **0.98x**
DictionaryBridgeToObjC.o                         | 3998   | 4078   | +2.0%  | **0.98x**
Memset.o                                         | 1453   | 1481   | +1.9%  | **0.98x**
PointerArithmetics.o                             | 1302   | 1326   | +1.8%  | **0.98x**
LinkedList.o                                     | 1782   | 1814   | +1.8%  | **0.98x**
DictionarySwap.o                                 | 15095  | 15359  | +1.7%  | **0.98x**
ArraySubscript.o                                 | 1841   | 1873   | +1.7%  | **0.98x**
BinaryFloatingPointProperties.o                  | 3849   | 3913   | +1.7%  | **0.98x**
FloatingPointConversion.o                        | 17206  | 17490  | +1.7%  | **0.98x**
Prefix.o                                         | 11970  | 12158  | +1.6%  | **0.98x**
Combos.o                                         | 3788   | 3844   | +1.5%  | **0.99x**
RangeOverlaps.o                                  | 4355   | 4419   | +1.5%  | **0.99x**
Calculator.o                                     | 2186   | 2218   | +1.5%  | **0.99x**
Walsh.o                                          | 4245   | 4305   | +1.4%  | **0.99x**
DropLast.o                                       | 17416  | 17652  | +1.4%  | **0.99x**
DictOfArraysToArrayOfDicts.o                     | 18126  | 18370  | +1.3%  | **0.99x**
CharacterLiteralsSmall.o                         | 894    | 906    | +1.3%  | **0.99x**
DictionaryBridge.o                               | 2466   | 2498   | +1.3%  | **0.99x**
DictionaryRemove.o                               | 16448  | 16660  | +1.3%  | **0.99x**
COWTree.o                                        | 8726   | 8838   | +1.3%  | **0.99x**
OpenClose.o                                      | 2499   | 2531   | +1.3%  | **0.99x**
MapReduce.o                                      | 19397  | 19637  | +1.2%  | **0.99x**
CodableTest.o                                    | 20470  | 20722  | +1.2%  | **0.99x**
RC4.o                                            | 2628   | 2660   | +1.2%  | **0.99x**
StringMatch.o                                    | 3530   | 3570   | +1.1%  | **0.99x**
Hash.o                                           | 17763  | 17963  | +1.1%  | **0.99x**
RangeAssignment.o                                | 2885   | 2917   | +1.1%  | **0.99x**
StrComplexWalk.o                                 | 2226   | 2250   | +1.1%  | **0.99x**
ObjectiveCBridging.o                             | 45546  | 46016  | +1.0%  | **0.99x**
  | | | | 
**Improvement**                                  | **OLD** | **NEW** | **DELTA** | **RATIO**
NopDeinit.o                                      | 3525   | 2781   | -21.1% | **1.27x**
RangeReplaceableCollectionPlusDefault.o          | 6051   | 4897   | -19.1% | **1.24x**
IndexPathTest.o                                  | 7974   | 6806   | -14.6% | **1.17x**
PrefixWhile.o                                    | 12273  | 11317  | -7.8%  | **1.08x**
ObjectiveCNoBridgingStubs.o                      | 5985   | 5573   | -6.9%  | **1.07x**
FlattenList.o                                    | 2750   | 2566   | -6.7%  | **1.07x**
CharacterLiteralsLarge.o                         | 630    | 590    | -6.3%  | **1.07x**
LuhnAlgoLazy.o                                   | 10012  | 9377   | -6.3%  | **1.07x**
LuhnAlgoEager.o                                  | 10016  | 9381   | -6.3%  | **1.07x**
ClassArrayGetter.o                               | 3134   | 2990   | -4.6%  | **1.05x**
StringTests.o                                    | 6210   | 5930   | -4.5%  | **1.05x**
DiffingMyers.o                                   | 5049   | 4829   | -4.4%  | **1.05x**
DataBenchmarks.o                                 | 49525  | 48156  | -2.8%  | **1.03x**
SubstringTest.o                                  | 15531  | 15139  | -2.5%  | **1.03x**
ArrayOfRef.o                                     | 5873   | 5733   | -2.4%  | **1.02x**
ArrayOfGenericRef.o                              | 6648   | 6508   | -2.1%  | **1.02x**
Hanoi.o                                          | 2148   | 2112   | -1.7%  | **1.02x**
StringEdits.o                                    | 7292   | 7176   | -1.6%  | **1.02x**
RecursiveOwnedParameter.o                        | 1066   | 1050   | -1.5%  | **1.02x**
ByteSwap.o                                       | 1102   | 1086   | -1.5%  | **1.01x**
TwoSum.o                                         | 3309   | 3265   | -1.3%  | **1.01x**
DictionaryLiteralTest.o                          | 993    | 981    | -1.2%  | **1.01x**
Integrate.o                                      | 1677   | 1657   | -1.2%  | **1.01x**
PopFront.o                                       | 2604   | 2576   | -1.1%  | **1.01x**
PrimsNonStrongRef.o                              | 106006 | 104870 | -1.1%  | **1.01x**

### Performance (arm64): -Osize

**Regression**                           | **OLD**   | **NEW**  | **DELTA** | **RATIO**
:---                                     | ---:      | ---:     | ---:    | ---:     
SIMDReduce.Int32x16.Cast                 | 8.733     | 23.904   | +173.7% | **0.37x (?)**
UTF16Decode.initFromCustom.cont          | 362.0     | 869.0    | +140.1% | **0.42x**
UTF16Decode.initFromCustom.noncont       | 371.0     | 878.0    | +136.7% | **0.42x**
ArrayAppendSequence                      | 348.182   | 722.667  | +107.6% | **0.48x**
SubstringComparable                      | 4.989     | 10.135   | +103.1% | **0.49x (?)**
ChainedFilterMap                         | 678.656   | 1240.2   | +82.7%  | **0.55x**
FatCompactMap                            | 830.0     | 1377.5   | +66.0%  | **0.60x (?)**
SIMDReduce.Int8x16.Cast                  | 28.031    | 46.316   | +65.2%  | **0.61x (?)**
UTF16Decode.initDecoding                 | 113.0     | 167.667  | +48.4%  | **0.67x (?)**
SIMDReduce.Int32x4.Cast                  | 27.743    | 35.545   | +28.1%  | **0.78x (?)**
RemoveWhereFilterStrings                 | 142.6     | 178.909  | +25.5%  | **0.80x**
SubstringEquatable                       | 205.8     | 252.625  | +22.8%  | **0.81x (?)**
Set.isSubset.Seq.Int.Empty               | 88.909    | 107.625  | +21.1%  | **0.83x (?)**
Set.isStrictSubset.Seq.Int.Empty         | 87.348    | 102.889  | +17.8%  | **0.85x (?)**
LessSubstringSubstring                   | 19.481    | 22.921   | +17.7%  | **0.85x (?)**
EqualSubstringSubstring                  | 19.489    | 22.917   | +17.6%  | **0.85x**
EqualStringSubstring                     | 19.029    | 22.293   | +17.2%  | **0.85x (?)**
EqualSubstringString                     | 19.025    | 22.267   | +17.0%  | **0.85x (?)**
LessSubstringSubstringGenericComparable  | 19.487    | 22.769   | +16.8%  | **0.86x**
EqualSubstringSubstringGenericEquatable  | 19.481    | 22.75    | +16.8%  | **0.86x (?)**
ObserverForwarderStruct                  | 201.111   | 234.167  | +16.4%  | **0.86x (?)**
Set.isDisjoint.Smaller.Box0              | 185.917   | 215.818  | +16.1%  | **0.86x (?)**
Set.isStrictSuperset.Seq.Empty.Int       | 87.348    | 96.667   | +10.7%  | **0.90x (?)**
Set.isStrictSuperset.Seq.Int0            | 10.744    | 11.849   | +10.3%  | **0.91x (?)**
DictionarySwapOfObjects                  | 2231.111  | 2444.706 | +9.6%   | **0.91x (?)**
Set.isDisjoint.Seq.Int25                 | 119.6     | 130.882  | +9.4%   | **0.91x (?)**
Set.subtracting.Box.Empty                | 13.717    | 14.969   | +9.1%   | **0.92x (?)**
StringFromLongWholeSubstringGeneric      | 3.424     | 3.732    | +9.0%   | **0.92x (?)**
SetSubtractingBox25                      | 138.857   | 150.533  | +8.4%   | **0.92x (?)**
SubstringFromLongStringGeneric2          | 18.697    | 20.258   | +8.3%   | **0.92x (?)**
Set.isDisjoint.Seq.Int0                  | 162.5     | 176.0    | +8.3%   | **0.92x (?)**
ParseInt.UInt64.Hex                      | 216.0     | 233.222  | +8.0%   | **0.93x (?)**
Set.isSubset.Seq.Box0                    | 453.0     | 488.0    | +7.7%   | **0.93x (?)**
DataSubscriptMedium                      | 40.545    | 43.667   | +7.7%   | **0.93x**
  | | | | 
**Improvement**                          | **OLD**   | **NEW**  | **DELTA** | **RATIO**
DataCreateSmallArray                     | 1246.875  | 124.107  | -90.0%  | **10.05x**
DataCreateEmptyArray                     | 654.545   | 124.138  | -81.0%  | **5.27x**
StringEqualPointerComparison             | 156.0     | 31.2     | -80.0%  | **5.00x**
PrefixWhileSequenceLazy                  | 28.833    | 19.345   | -32.9%  | **1.49x (?)**
ConvertFloatingPoint.MockFloat64Exactly  | 5.873     | 4.034    | -31.3%  | **1.46x**
CharacterLiteralsLarge                   | 53.03     | 40.55    | -23.5%  | **1.31x (?)**
ConvertFloatingPoint.MockFloat64Exactly2 | 6.596     | 5.122    | -22.3%  | **1.29x (?)**
PointerArithmetics                       | 18716.667 | 15600.0  | -16.7%  | **1.20x (?)**
SIMDReduce.Int32x4.Initializer           | 326.5     | 277.429  | -15.0%  | **1.18x (?)**
PrefixAnySequence                        | 556.0     | 479.0    | -13.8%  | **1.16x (?)**
PrefixAnySequenceLazy                    | 575.0     | 498.0    | -13.4%  | **1.15x (?)**
DataCreateMediumArray                    | 721.29    | 625.714  | -13.3%  | **1.15x**
StringMatch                              | 3328.571  | 2972.727 | -10.7%  | **1.12x (?)**
StringToDataEmpty                        | 381.25    | 346.154  | -9.2%   | **1.10x (?)**
ConvertFloatingPoint.MockFloat64ToInt64  | 364.5     | 335.286  | -8.0%   | **1.09x (?)**
StringToDataSmall                        | 442.308   | 407.692  | -7.8%   | **1.08x (?)**
CharIndexing_tweet_unicodeScalars        | 4986.667  | 4600.0   | -7.8%   | **1.08x (?)**
CharIndexing_ascii_unicodeScalars        | 2537.778  | 2351.111 | -7.4%   | **1.08x (?)**
FindString.Rec3.String                   | 70.353    | 65.541   | -6.8%   | **1.07x (?)**
FindString.Rec3.Substring                | 70.273    | 65.5     | -6.8%   | **1.07x (?)**
CharIndexing_punctuated_unicodeScalars   | 661.017   | 617.143  | -6.6%   | **1.07x (?)**

### Code size: -Osize

**Regression**                                   | **OLD** | **NEW** | **DELTA** | **RATIO**
:---                                             | ---:  | ---:  | ---:   | ---:   
StrToInt.o                                       | 4066  | 5430  | +33.5% | **0.75x**
RomanNumbers.o                                   | 3269  | 3997  | +22.3% | **0.82x**
Suffix.o                                         | 13684 | 15160 | +10.8% | **0.90x**
ErrorHandling.o                                  | 2100  | 2248  | +7.0%  | **0.93x**
BitCount.o                                       | 1066  | 1138  | +6.8%  | **0.94x**
ChainedFilterMap.o                               | 2383  | 2539  | +6.5%  | **0.94x**
BufferFill.o                                     | 5773  | 6105  | +5.8%  | **0.95x**
BinaryFloatingPointProperties.o                  | 3445  | 3625  | +5.2%  | **0.95x**
ProtocolConformance.o                            | 2805  | 2945  | +5.0%  | **0.95x**
ObjectAllocation.o                               | 2906  | 3050  | +5.0%  | **0.95x**
Exclusivity.o                                    | 2874  | 3014  | +4.9%  | **0.95x**
SequenceAlgos.o                                  | 15654 | 16406 | +4.8%  | **0.95x**
DictionaryKeysContains.o                         | 6024  | 6296  | +4.5%  | **0.96x**
RangeOverlaps.o                                  | 3891  | 4063  | +4.4%  | **0.96x**
BinaryFloatingPointConversionFromBinaryInteger.o | 20330 | 21210 | +4.3%  | **0.96x**
DictionarySwap.o                                 | 13135 | 13699 | +4.3%  | **0.96x**
DictionaryCopy.o                                 | 6376  | 6648  | +4.3%  | **0.96x**
BucketSort.o                                     | 6217  | 6465  | +4.0%  | **0.96x**
DictionaryRemove.o                               | 13600 | 14136 | +3.9%  | **0.96x**
ObserverForwarderStruct.o                        | 2097  | 2173  | +3.6%  | **0.97x**
XorLoop.o                                        | 1106  | 1142  | +3.3%  | **0.97x**
ReduceInto.o                                     | 5961  | 6153  | +3.2%  | **0.97x**
LazyFilter.o                                     | 5445  | 5617  | +3.2%  | **0.97x**
SortIntPyramids.o                                | 6948  | 7160  | +3.1%  | **0.97x**
ArrayLiteral.o                                   | 1718  | 1770  | +3.0%  | **0.97x**
MonteCarloPi.o                                   | 1074  | 1106  | +3.0%  | **0.97x**
RangeIteration.o                                 | 1084  | 1116  | +3.0%  | **0.97x**
IndexPathTest.o                                  | 6086  | 6262  | +2.9%  | **0.97x**
NSDictionaryCastToSwift.o                        | 1122  | 1154  | +2.9%  | **0.97x**
DeadArray.o                                      | 1194  | 1226  | +2.7%  | **0.97x**
DropFirst.o                                      | 10723 | 11003 | +2.6%  | **0.97x**
ProtocolDispatch2.o                              | 1405  | 1441  | +2.6%  | **0.98x**
SevenBoom.o                                      | 1264  | 1296  | +2.5%  | **0.98x**
Memset.o                                         | 1425  | 1461  | +2.5%  | **0.98x**
DictionaryBridgeToObjC.o                         | 3246  | 3326  | +2.5%  | **0.98x**
StrComplexWalk.o                                 | 2150  | 2202  | +2.4%  | **0.98x**
Prefix.o                                         | 11000 | 11264 | +2.4%  | **0.98x**
DictionarySubscriptDefault.o                     | 10125 | 10365 | +2.4%  | **0.98x**
NaiveRangeReplaceableCollectionConformance.o     | 7438  | 7614  | +2.4%  | **0.98x**
PopFront.o                                       | 2412  | 2468  | +2.3%  | **0.98x**
RC4.o                                            | 2472  | 2528  | +2.3%  | **0.98x**
PointerArithmetics.o                             | 1270  | 1298  | +2.2%  | **0.98x**
DictionaryLiteralTest.o                          | 550   | 562   | +2.2%  | **0.98x**
ObjectiveCBridging.o                             | 37162 | 37952 | +2.1%  | **0.98x**
SIMDReduceInteger.o                              | 4986  | 5086  | +2.0%  | **0.98x**
Combos.o                                         | 3828  | 3904  | +2.0%  | **0.98x**
DictOfArraysToArrayOfDicts.o                     | 15137 | 15437 | +2.0%  | **0.98x**
LinkedList.o                                     | 1718  | 1750  | +1.9%  | **0.98x**
Calculator.o                                     | 1726  | 1758  | +1.9%  | **0.98x**
DictTest2.o                                      | 6346  | 6462  | +1.8%  | **0.98x**
COWTree.o                                        | 8476  | 8628  | +1.8%  | **0.98x**
MapReduce.o                                      | 14493 | 14749 | +1.8%  | **0.98x**
DictTest3.o                                      | 9406  | 9570  | +1.7%  | **0.98x**
DropWhile.o                                      | 10451 | 10627 | +1.7%  | **0.98x**
PopFrontGeneric.o                                | 1953  | 1985  | +1.6%  | **0.98x**
FloatingPointConversion.o                        | 17870 | 18162 | +1.6%  | **0.98x**
DictTest.o                                       | 8414  | 8550  | +1.6%  | **0.98x**
DictTest4.o                                      | 8640  | 8776  | +1.6%  | **0.98x**
ArraySubscript.o                                 | 1781  | 1809  | +1.6%  | **0.98x**
SetTests.o                                       | 96479 | 97995 | +1.6%  | **0.98x**
StaticArray.o                                    | 7720  | 7840  | +1.6%  | **0.98x**
DropLast.o                                       | 13970 | 14182 | +1.5%  | **0.99x**
DictionaryGroup.o                                | 8795  | 8927  | +1.5%  | **0.99x**
CharacterLiteralsSmall.o                         | 806   | 818   | +1.5%  | **0.99x**
DictionaryBridge.o                               | 2230  | 2262  | +1.4%  | **0.99x**
ExistentialPerformance.o                         | 24142 | 24466 | +1.3%  | **0.99x**
RandomShuffle.o                                  | 2410  | 2442  | +1.3%  | **0.99x**
OpenClose.o                                      | 2435  | 2467  | +1.3%  | **0.99x**
RangeAssignment.o                                | 2517  | 2549  | +1.3%  | **0.99x**
CodableTest.o                                    | 19698 | 19942 | +1.2%  | **0.99x**
WordCount.o                                      | 29887 | 30255 | +1.2%  | **0.99x**
DictionaryCompactMapValues.o                     | 12038 | 12182 | +1.2%  | **0.99x**
StringInterpolation.o                            | 5210  | 5266  | +1.1%  | **0.99x**
ChaCha.o                                         | 10078 | 10186 | +1.1%  | **0.99x**
  | | | | 
**Improvement**                                  | **OLD** | **NEW** | **DELTA** | **RATIO**
NopDeinit.o                                      | 3253  | 2741  | -15.7% | **1.19x**
RangeReplaceableCollectionPlusDefault.o          | 5451  | 4849  | -11.0% | **1.12x**
StringMatch.o                                    | 3086  | 2914  | -5.6%  | **1.06x**
FlattenList.o                                    | 2642  | 2498  | -5.5%  | **1.06x**
ClassArrayGetter.o                               | 3006  | 2898  | -3.6%  | **1.04x**
DiffingMyers.o                                   | 5347  | 5167  | -3.4%  | **1.03x**
DataBenchmarks.o                                 | 37597 | 36364 | -3.3%  | **1.03x**
LuhnAlgoLazy.o                                   | 10029 | 9753  | -2.8%  | **1.03x**
LuhnAlgoEager.o                                  | 10033 | 9757  | -2.8%  | **1.03x**
CharacterLiteralsLarge.o                         | 586   | 570   | -2.7%  | **1.03x**
SubstringTest.o                                  | 13131 | 12795 | -2.6%  | **1.03x**
PrefixWhile.o                                    | 10277 | 10049 | -2.2%  | **1.02x**
CxxStringConversion.o                            | 2294  | 2254  | -1.7%  | **1.02x**
StringEdits.o                                    | 7488  | 7364  | -1.7%  | **1.02x**
RecursiveOwnedParameter.o                        | 986   | 970   | -1.6%  | **1.02x**
ByteSwap.o                                       | 1066  | 1050  | -1.5%  | **1.02x**
TwoSum.o                                         | 1953  | 1929  | -1.2%  | **1.01x**
Histogram.o                                      | 1313  | 1297  | -1.2%  | **1.01x**
Walsh.o                                          | 3349  | 3309  | -1.2%  | **1.01x**
FindStringNaive.o                                | 5069  | 5017  | -1.0%  | **1.01x**

### Performance (arm64): -Onone

**Regression**                           | **OLD**   | **NEW**   | **DELTA** | **RATIO**
:---                                     | ---:      | ---:      | ---:   | ---:     
ArrayAppendToGeneric                     | 220.885   | 329.292   | +49.1% | **0.67x (?)**
UTF16Decode.initFromCustom.cont          | 1054.5    | 1571.0    | +49.0% | **0.67x (?)**
UTF16Decode.initFromCustom.noncont       | 1059.5    | 1571.0    | +48.3% | **0.67x (?)**
UTF16Decode.initDecoding                 | 113.176   | 167.75    | +48.2% | **0.67x (?)**
StringWithCString2                       | 0.004     | 0.006     | +40.0% | **0.71x**
IterateData                              | 1364.0    | 1862.0    | +36.5% | **0.73x**
Data.init.Sequence.64kB.Count.I          | 757.0     | 1023.0    | +35.1% | **0.74x (?)**
Data.append.Sequence.64kB.Count.I        | 757.0     | 1023.0    | +35.1% | **0.74x (?)**
Data.init.Sequence.64kB.Count            | 757.0     | 1023.0    | +35.1% | **0.74x (?)**
Data.append.Sequence.64kB.Count          | 757.5     | 1023.0    | +35.0% | **0.74x (?)**
Data.init.Sequence.2049B.Count.I         | 1194.0    | 1610.0    | +34.8% | **0.74x (?)**
Data.init.Sequence.2047B.Count.I         | 1193.0    | 1608.0    | +34.8% | **0.74x (?)**
Data.init.Sequence.809B.Count            | 955.0     | 1283.0    | +34.3% | **0.74x (?)**
Data.init.Sequence.809B.Count.I          | 955.0     | 1283.0    | +34.3% | **0.74x (?)**
Data.append.Sequence.809B.Count          | 967.0     | 1295.0    | +33.9% | **0.75x (?)**
Data.append.Sequence.809B.Count.I        | 967.0     | 1295.0    | +33.9% | **0.75x (?)**
Data.init.Sequence.511B.Count.I          | 919.0     | 1229.0    | +33.7% | **0.75x (?)**
Data.init.Sequence.513B.Count.I          | 923.0     | 1234.0    | +33.7% | **0.75x (?)**
ArrayAppendArrayOfInt                    | 282.778   | 369.444   | +30.6% | **0.77x (?)**
SIMDRandomMask.Int64x2                   | 542.333   | 694.333   | +28.0% | **0.78x**
Array.removeAll.keepingCapacity.Object   | 2.279     | 2.722     | +19.4% | **0.84x (?)**
LessSubstringSubstringGenericComparable  | 21.37     | 24.642    | +15.3% | **0.87x**
EqualSubstringSubstringGenericEquatable  | 21.4      | 24.643    | +15.2% | **0.87x (?)**
LessSubstringSubstring                   | 22.453    | 25.755    | +14.7% | **0.87x**
DataCreateMedium                         | 88400.0   | 101300.0  | +14.6% | **0.87x (?)**
EqualSubstringString                     | 23.034    | 26.151    | +13.5% | **0.88x (?)**
EqualSubstringSubstring                  | 22.42     | 25.419    | +13.4% | **0.88x (?)**
RawBufferCopyBytes                       | 13.246    | 15.0      | +13.2% | **0.88x (?)**
CaptureProp                              | 187790.0  | 210640.0  | +12.2% | **0.89x**
DataCreateSmall                          | 12210.0   | 13480.0   | +10.4% | **0.91x (?)**
KeyPathNestedClasses                     | 125.556   | 137.375   | +9.4%  | **0.91x (?)**
SIMDRandomMask.Int64x8                   | 1661.0    | 1802.0    | +8.5%  | **0.92x (?)**
Data.init.Sequence.64kB.Count0.I         | 841.0     | 911.0     | +8.3%  | **0.92x (?)**
Data.init.Sequence.64kB.Count0           | 841.0     | 911.0     | +8.3%  | **0.92x (?)**
Data.append.Sequence.64kB.Count0.I       | 843.0     | 912.0     | +8.2%  | **0.92x (?)**
Data.init.Sequence.2047B.Count0.I        | 1350.0    | 1460.0    | +8.1%  | **0.92x (?)**
Data.init.Sequence.2049B.Count0.I        | 1351.0    | 1461.0    | +8.1%  | **0.92x (?)**
Data.append.Sequence.64kB.Count0         | 843.0     | 911.0     | +8.1%  | **0.93x (?)**
Data.init.Sequence.809B.Count0           | 1093.5    | 1181.0    | +8.0%  | **0.93x (?)**
Data.init.Sequence.809B.Count0.I         | 1094.0    | 1181.0    | +8.0%  | **0.93x (?)**
Data.append.Sequence.809B.Count0         | 1072.0    | 1157.0    | +7.9%  | **0.93x (?)**
Data.init.Sequence.513B.Count0.I         | 1064.0    | 1146.5    | +7.8%  | **0.93x (?)**
Data.init.Sequence.511B.Count0.I         | 1062.0    | 1143.0    | +7.6%  | **0.93x (?)**
ArrayAppendSequence                      | 33340.0   | 35880.0   | +7.6%  | **0.93x**
Data.append.Sequence.809B.Count0.I       | 1072.0    | 1153.0    | +7.6%  | **0.93x (?)**
  | | | | 
**Improvement**                          | **OLD**   | **NEW**   | **DELTA** | **RATIO**
FindString.Loop1.Substring               | 397.0     | 259.778   | -34.6% | **1.53x**
DictionaryCompactMapValuesOfNilValue     | 7033.333  | 5456.818  | -22.4% | **1.29x (?)**
FindString.Rec3.String                   | 304.125   | 242.222   | -20.4% | **1.26x (?)**
FindString.Rec3.Substring                | 291.0     | 234.333   | -19.5% | **1.24x (?)**
Calculator                               | 558.0     | 452.0     | -19.0% | **1.23x**
RawBuffer.1000.findFirst                 | 49330.0   | 41489.0   | -15.9% | **1.19x**
FindString.Loop1.Array                   | 77265.0   | 66012.0   | -14.6% | **1.17x**
StringSwitch                             | 637.0     | 546.5     | -14.2% | **1.17x (?)**
CSVParsing.UTF16                         | 205.909   | 177.0     | -14.0% | **1.16x**
ArrayAppendGenericStructs                | 852.0     | 733.077   | -14.0% | **1.16x (?)**
Set.isDisjoint.Smaller.Int0              | 156.2     | 135.471   | -13.3% | **1.15x (?)**
RawBuffer.39.findFirst                   | 2638.0    | 2295.0    | -13.0% | **1.15x (?)**
ParseInt.UIntSmall.Binary                | 6127.0    | 5379.0    | -12.2% | **1.14x**
CSVParsing.UTF8                          | 229.3     | 201.5     | -12.1% | **1.14x**
RawBuffer.1000.findLast                  | 54006.0   | 47724.0   | -11.6% | **1.13x**
ConvertFloatingPoint.MockFloat64Exactly2 | 359.5     | 319.833   | -11.0% | **1.12x (?)**
RawBuffer.128.findLast                   | 7525.0    | 6707.0    | -10.9% | **1.12x (?)**
SequenceAlgosList                        | 3710.0    | 3315.0    | -10.6% | **1.12x**
SetSubtractingInt0                       | 89.875    | 80.667    | -10.2% | **1.11x (?)**
CSVParsing.Char                          | 274.333   | 247.4     | -9.8%  | **1.11x**
Set.isDisjoint.Int0                      | 369.167   | 333.429   | -9.7%  | **1.11x**
DataCreateEmpty                          | 655.0     | 592.609   | -9.5%  | **1.11x (?)**
RemoveWhereMoveInts                      | 1107.5    | 1002.5    | -9.5%  | **1.10x**
RawBuffer.39.findLast                    | 2854.0    | 2586.0    | -9.4%  | **1.10x (?)**
CharacterLiteralsSmall                   | 577.0     | 527.0     | -8.7%  | **1.09x (?)**
CSVParsing.Scalar                        | 271.625   | 249.125   | -8.3%  | **1.09x**
RemoveWhereMoveStrings                   | 1308.0    | 1200.5    | -8.2%  | **1.09x**
RawBuffer.7.findFirst                    | 1022.5    | 938.5     | -8.2%  | **1.09x (?)**
KeyPathNestedStructs                     | 9.243     | 8.5       | -8.0%  | **1.09x**
SortLargeExistentials                    | 18633.333 | 17266.667 | -7.3%  | **1.08x (?)**
DifferentiationIdentity                  | 150.75    | 140.529   | -6.8%  | **1.07x (?)**
ConvertFloatingPoint.MockFloat64ToInt64  | 18412.0   | 17187.0   | -6.7%  | **1.07x (?)**

### Code size: -swiftlibs

**Regression**             | **OLD** | **NEW** | **DELTA** | **RATIO**
:---                       | ---:   | ---:   | ---:  | ---:   
libswift_RegexParser.dylib | 704512 | 720896 | +2.3% | **0.98x**

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

### Performance (arm64): -O

**Regression**                        | **OLD**  | **NEW**  | **DELTA** | **RATIO**
:---                                  | ---:     | ---:     | ---:    | ---:     
SubstringComparable                   | 4.362    | 10.133   | +132.3% | **0.43x (?)**
LazilyFilteredArrayContains           | 4992.593 | 8760.714 | +75.5%  | **0.57x**
Set.subtracting.Empty.Box             | 14.65    | 21.857   | +49.2%  | **0.67x (?)**
Set.subtracting.Seq.Empty.Box         | 107.6    | 152.889  | +42.1%  | **0.70x (?)**
RemoveWhereFilterStrings              | 139.533  | 175.167  | +25.5%  | **0.80x**
Set.isDisjoint.Seq.Box25              | 286.25   | 356.0    | +24.4%  | **0.80x (?)**
Set.isStrictSubset.Int0               | 32.727   | 40.545   | +23.9%  | **0.81x (?)**
SubstringEquatable                    | 209.1    | 256.625  | +22.7%  | **0.81x (?)**
Set.isDisjoint.Seq.Box0               | 388.5    | 475.2    | +22.3%  | **0.82x (?)**
Set.isDisjoint.Empty.Int              | 37.417   | 45.217   | +20.8%  | **0.83x (?)**
Set.isSuperset.Seq.Int.Empty          | 39.0     | 46.778   | +19.9%  | **0.83x (?)**
Set.isSubset.Seq.Empty.Int            | 32.727   | 39.0     | +19.2%  | **0.84x (?)**
Set.isStrictSubset.Int.Empty          | 34.296   | 40.538   | +18.2%  | **0.85x (?)**
Set.isStrictSubset.Box0               | 34.304   | 40.542   | +18.2%  | **0.85x (?)**
Set.isDisjoint.Seq.Empty.Int          | 37.421   | 43.65    | +16.6%  | **0.86x (?)**
Set.isDisjoint.Int.Empty              | 39.0     | 45.229   | +16.0%  | **0.86x (?)**
Set.isDisjoint.Empty.Box              | 39.0     | 45.211   | +15.9%  | **0.86x (?)**
FatCompactMap                         | 520.0    | 597.692  | +14.9%  | **0.87x (?)**
LuhnAlgoEager                         | 78.154   | 89.769   | +14.9%  | **0.87x**
StringSwitch                          | 156.0    | 177.909  | +14.0%  | **0.88x (?)**
Set.isDisjoint.Smaller.Box0           | 188.308  | 213.909  | +13.6%  | **0.88x (?)**
LuhnAlgoLazy                          | 79.435   | 89.833   | +13.1%  | **0.88x**
Set.isSuperset.Seq.Box0               | 78.071   | 88.286   | +13.1%  | **0.88x (?)**
WordCountHistogramUTF16               | 1852.727 | 2088.235 | +12.7%  | **0.89x (?)**
WordCountHistogramASCII               | 1753.521 | 1975.0   | +12.6%  | **0.89x**
Set.isSubset.Int.Empty                | 39.0     | 43.667   | +12.0%  | **0.89x (?)**
Set.isDisjoint.Seq.Int.Empty          | 39.0     | 43.652   | +11.9%  | **0.89x (?)**
Set.isSuperset.Seq.Empty.Int          | 39.0     | 43.652   | +11.9%  | **0.89x (?)**
Set.isDisjoint.Box.Empty              | 42.121   | 46.804   | +11.1%  | **0.90x (?)**
Set.subtracting.Seq.Int.Empty         | 97.0     | 106.778  | +10.1%  | **0.91x (?)**
SuffixAnySequenceLazy                 | 1833.0   | 2013.0   | +9.8%   | **0.91x (?)**
Set.isStrictSubset.Seq.Int0           | 185.364  | 202.545  | +9.3%   | **0.92x (?)**
KeyPathNestedClasses                  | 113.944  | 124.375  | +9.2%   | **0.92x (?)**
WordCountUniqueUTF16                  | 1068.571 | 1161.429 | +8.7%   | **0.92x (?)**
DictionarySwapOfObjects               | 2174.737 | 2362.105 | +8.6%   | **0.92x (?)**
DictionaryGroupOfObjects              | 609.955  | 658.714  | +8.0%   | **0.93x (?)**
Set.isSuperset.Seq.Box25              | 85.821   | 92.5     | +7.8%   | **0.93x (?)**
DropLastAnySequenceLazy               | 1998.0   | 2153.0   | +7.8%   | **0.93x (?)**
WordCountUniqueASCII                  | 1017.5   | 1095.333 | +7.6%   | **0.93x (?)**
RangeReplaceableCollectionPlusDefault | 213.231  | 229.44   | +7.6%   | **0.93x (?)**
  | | | | 
**Improvement**                       | **OLD**  | **NEW**  | **DELTA** | **RATIO**
DataCreateSmallArray                  | 1122.368 | 93.103   | -91.7%  | **12.06x**
DropFirstAnySequenceLazy              | 272.0    | 26.75    | -90.2%  | **10.17x**
DataCreateEmptyArray                  | 654.286  | 93.103   | -85.8%  | **7.03x**
StringEqualPointerComparison          | 93.583   | 31.188   | -66.7%  | **3.00x**
DropWhileAnySequenceLazy              | 170.0    | 138.0    | -18.8%  | **1.23x (?)**
SequenceAlgosRange                    | 2200.0   | 1871.667 | -14.9%  | **1.18x (?)**
DataMutateBytesSmall                  | 90.189   | 77.647   | -13.9%  | **1.16x (?)**
DataCreateMediumArray                 | 701.875  | 620.0    | -11.7%  | **1.13x (?)**
ChainedFilterMap                      | 608.595  | 538.313  | -11.5%  | **1.13x (?)**
DataCreateSmall                       | 1185.0   | 1060.625 | -10.5%  | **1.12x (?)**
String.replaceSubrange.RepChar        | 952.0    | 874.5    | -8.1%   | **1.09x (?)**
SubstringFromLongStringGeneric2       | 20.27    | 18.714   | -7.7%   | **1.08x (?)**
NSStringConversion.Rebridge           | 75.688   | 69.914   | -7.6%   | **1.08x**
DictionaryLiteral                     | 793.913  | 733.684  | -7.6%   | **1.08x (?)**
AngryPhonebook.Cyrillic               | 377.5    | 349.0    | -7.5%   | **1.08x (?)**
NSStringConversion                    | 295.667  | 274.667  | -7.1%   | **1.08x (?)**
AngryPhonebook.Armenian               | 352.0    | 328.0    | -6.8%   | **1.07x (?)**

### Code size: -O

**Regression**                                   | **OLD** | **NEW** | **DELTA** | **RATIO**
:---                                             | ---:  | ---:  | ---:   | ---:   
RecursiveOwnedParameter.o                        | 1066  | 1644  | +54.2% | **0.65x**
RomanNumbers.o                                   | 3321  | 3933  | +18.4% | **0.84x**
ChainedFilterMap.o                               | 2515  | 2799  | +11.3% | **0.90x**
LazyFilter.o                                     | 5401  | 5829  | +7.9%  | **0.93x**
ErrorHandling.o                                  | 2342  | 2518  | +7.5%  | **0.93x**
SequenceAlgos.o                                  | 15162 | 16174 | +6.7%  | **0.94x**
Suffix.o                                         | 15242 | 16042 | +5.2%  | **0.95x**
DictionaryKeysContains.o                         | 6434  | 6738  | +4.7%  | **0.95x**
PrefixWhile.o                                    | 9893  | 10293 | +4.0%  | **0.96x**
DropFirst.o                                      | 9921  | 10311 | +3.9%  | **0.96x**
ProtocolConformance.o                            | 2949  | 3061  | +3.8%  | **0.96x**
RandomShuffle.o                                  | 2338  | 2426  | +3.8%  | **0.96x**
WordCount.o                                      | 30475 | 31479 | +3.3%  | **0.97x**
BinaryFloatingPointConversionFromBinaryInteger.o | 23530 | 24274 | +3.2%  | **0.97x**
ObjectAllocation.o                               | 3214  | 3310  | +3.0%  | **0.97x**
BufferFill.o                                     | 6561  | 6753  | +2.9%  | **0.97x**
RangeIteration.o                                 | 1104  | 1136  | +2.9%  | **0.97x**
MonteCarloPi.o                                   | 1142  | 1174  | +2.8%  | **0.97x**
XorLoop.o                                        | 1150  | 1182  | +2.8%  | **0.97x**
SevenBoom.o                                      | 1152  | 1184  | +2.8%  | **0.97x**
NSDictionaryCastToSwift.o                        | 1166  | 1198  | +2.7%  | **0.97x**
ProtocolDispatch2.o                              | 1170  | 1202  | +2.7%  | **0.97x**
BitCount.o                                       | 1178  | 1210  | +2.7%  | **0.97x**
DeadArray.o                                      | 1238  | 1270  | +2.6%  | **0.97x**
SortIntPyramids.o                                | 7432  | 7624  | +2.6%  | **0.97x**
NaiveRangeReplaceableCollectionConformance.o     | 7418  | 7602  | +2.5%  | **0.98x**
DropWhile.o                                      | 10019 | 10267 | +2.5%  | **0.98x**
Exclusivity.o                                    | 2870  | 2934  | +2.2%  | **0.98x**
DictionaryCopy.o                                 | 7352  | 7508  | +2.1%  | **0.98x**
DictionaryBridgeToObjC.o                         | 4010  | 4090  | +2.0%  | **0.98x**
Memset.o                                         | 1449  | 1477  | +1.9%  | **0.98x**
LinkedList.o                                     | 1782  | 1814  | +1.8%  | **0.98x**
DictionarySwap.o                                 | 15063 | 15331 | +1.8%  | **0.98x**
ArraySubscript.o                                 | 1837  | 1869  | +1.7%  | **0.98x**
BinaryFloatingPointProperties.o                  | 3829  | 3893  | +1.7%  | **0.98x**
FloatingPointConversion.o                        | 17070 | 17354 | +1.7%  | **0.98x**
Combos.o                                         | 3772  | 3828  | +1.5%  | **0.99x**
RangeOverlaps.o                                  | 4351  | 4415  | +1.5%  | **0.99x**
Calculator.o                                     | 2186  | 2218  | +1.5%  | **0.99x**
StrComplexWalk.o                                 | 2202  | 2234  | +1.5%  | **0.99x**
Walsh.o                                          | 4289  | 4349  | +1.4%  | **0.99x**
CharacterLiteralsSmall.o                         | 894   | 906   | +1.3%  | **0.99x**
CodableTest.o                                    | 20086 | 20350 | +1.3%  | **0.99x**
DictionaryBridge.o                               | 2474  | 2506  | +1.3%  | **0.99x**
DictionaryRemove.o                               | 16428 | 16640 | +1.3%  | **0.99x**
OpenClose.o                                      | 2495  | 2527  | +1.3%  | **0.99x**
MapReduce.o                                      | 19181 | 19421 | +1.3%  | **0.99x**
DictOfArraysToArrayOfDicts.o                     | 17922 | 18146 | +1.2%  | **0.99x**
Prefix.o                                         | 9982  | 10106 | +1.2%  | **0.99x**
COWTree.o                                        | 8718  | 8826  | +1.2%  | **0.99x**
RC4.o                                            | 2628  | 2660  | +1.2%  | **0.99x**
DropLast.o                                       | 16024 | 16212 | +1.2%  | **0.99x**
Hash.o                                           | 17659 | 17859 | +1.1%  | **0.99x**
RangeAssignment.o                                | 2889  | 2921  | +1.1%  | **0.99x**
ObjectiveCBridging.o                             | 45210 | 45704 | +1.1%  | **0.99x**
  | | | | 
**Improvement**                                  | **OLD** | **NEW** | **DELTA** | **RATIO**
NopDeinit.o                                      | 3517  | 2781  | -20.9% | **1.26x**
RangeReplaceableCollectionPlusDefault.o          | 6063  | 4881  | -19.5% | **1.24x**
IndexPathTest.o                                  | 7998  | 6790  | -15.1% | **1.18x**
ObjectiveCNoBridgingStubs.o                      | 5917  | 5505  | -7.0%  | **1.07x**
FlattenList.o                                    | 2742  | 2558  | -6.7%  | **1.07x**
LuhnAlgoLazy.o                                   | 10000 | 9353  | -6.5%  | **1.07x**
LuhnAlgoEager.o                                  | 10004 | 9357  | -6.5%  | **1.07x**
CharacterLiteralsLarge.o                         | 630   | 590   | -6.3%  | **1.07x**
ClassArrayGetter.o                               | 3130  | 2986  | -4.6%  | **1.05x**
StringTests.o                                    | 6210  | 5930  | -4.5%  | **1.05x**
DiffingMyers.o                                   | 5045  | 4849  | -3.9%  | **1.04x**
DataBenchmarks.o                                 | 48929 | 47552 | -2.8%  | **1.03x**
SubstringTest.o                                  | 15507 | 15115 | -2.5%  | **1.03x**
ArrayOfRef.o                                     | 5793  | 5653  | -2.4%  | **1.02x**
ArrayOfGenericRef.o                              | 6548  | 6408  | -2.1%  | **1.02x**
Hanoi.o                                          | 2144  | 2108  | -1.7%  | **1.02x**
StringEdits.o                                    | 7248  | 7132  | -1.6%  | **1.02x**
UTF8Decode.o                                     | 15770 | 15530 | -1.5%  | **1.02x**
TwoSum.o                                         | 3313  | 3269  | -1.3%  | **1.01x**
DictionaryLiteralTest.o                          | 993   | 981   | -1.2%  | **1.01x**
Integrate.o                                      | 1677  | 1657  | -1.2%  | **1.01x**
PopFront.o                                       | 2600  | 2572  | -1.1%  | **1.01x**

### Performance (arm64): -Osize

**Regression**                                  | **OLD**   | **NEW**  | **DELTA** | **RATIO**
:---                                            | ---:      | ---:     | ---:    | ---:     
SIMDReduce.Int32x16.Cast                        | 8.736     | 23.972   | +174.4% | **0.36x**
SubstringComparable                             | 4.6       | 10.132   | +120.2% | **0.45x (?)**
StringWithCString2                              | 0.0       | 0.001    | +100.0% | **0.50x (?)**
ChainedFilterMap                                | 678.6     | 1240.2   | +82.8%  | **0.55x (?)**
FatCompactMap                                   | 830.0     | 1377.5   | +66.0%  | **0.60x (?)**
SIMDReduce.Int8x16.Cast                         | 27.967    | 46.15    | +65.0%  | **0.61x (?)**
StringSwitch                                    | 162.455   | 224.222  | +38.0%  | **0.72x (?)**
DropWhileSequenceLazy                           | 51.389    | 70.773   | +37.7%  | **0.73x (?)**
ArrayAppendSequence                             | 346.111   | 473.636  | +36.8%  | **0.73x (?)**
Set.subtracting.Seq.Empty.Box                   | 113.889   | 155.444  | +36.5%  | **0.73x (?)**
Set.subtracting.Seq.Empty.Int                   | 118.867   | 153.833  | +29.4%  | **0.77x (?)**
SIMDReduce.Int32x4.Cast                         | 27.64     | 35.545   | +28.6%  | **0.78x (?)**
Set.isStrictSubset.Seq.Int.Empty                | 92.0      | 117.0    | +27.2%  | **0.79x (?)**
RemoveWhereFilterStrings                        | 142.357   | 179.333  | +26.0%  | **0.79x**
Set.isStrictSuperset.Seq.Empty.Int              | 92.0      | 115.4    | +25.4%  | **0.80x (?)**
Set.isSubset.Seq.Int.Empty                      | 93.545    | 117.0    | +25.1%  | **0.80x (?)**
SubstringEquatable                              | 209.5     | 260.286  | +24.2%  | **0.80x (?)**
ObserverForwarderStruct                         | 195.208   | 234.545  | +20.2%  | **0.83x (?)**
Set.isStrictSuperset.Seq.Int0                   | 10.628    | 12.619   | +18.7%  | **0.84x (?)**
CharIteration_tweet_unicodeScalars              | 4592.941  | 5394.667 | +17.5%  | **0.85x (?)**
NaiveRRC.append.smallContiguousRepeated         | 72.706    | 85.19    | +17.2%  | **0.85x (?)**
CharIteration_ascii_unicodeScalars              | 2368.696  | 2768.0   | +16.9%  | **0.86x**
CharIteration_russian_unicodeScalars            | 2728.571  | 3158.333 | +15.8%  | **0.86x (?)**
CharIteration_japanese_unicodeScalars           | 3416.842  | 3885.714 | +13.7%  | **0.88x (?)**
CharIteration_chinese_unicodeScalars            | 2148.8    | 2442.667 | +13.7%  | **0.88x**
CharIteration_punctuated_unicodeScalars         | 617.91    | 701.622  | +13.5%  | **0.88x (?)**
Set.isDisjoint.Smaller.Box0                     | 188.0     | 212.636  | +13.1%  | **0.88x (?)**
CharIteration_korean_unicodeScalars             | 3056.774  | 3400.0   | +11.2%  | **0.90x (?)**
ParseInt.UInt64.Hex                             | 210.222   | 233.667  | +11.2%  | **0.90x (?)**
CharIteration_punctuatedJapanese_unicodeScalars | 582.09    | 646.0    | +11.0%  | **0.90x (?)**
WordCountUniqueASCII                            | 1039.091  | 1148.5   | +10.5%  | **0.90x (?)**
WordCountUniqueUTF16                            | 1090.0    | 1201.429 | +10.2%  | **0.91x (?)**
Set.isDisjoint.Seq.Int.Empty                    | 48.333    | 53.032   | +9.7%   | **0.91x (?)**
Set.isDisjoint.Seq.Int25                        | 118.421   | 128.765  | +8.7%   | **0.92x (?)**
SequenceAlgosRange                              | 2300.0    | 2495.0   | +8.5%   | **0.92x (?)**
SetSubtractingBox25                             | 138.286   | 149.929  | +8.4%   | **0.92x (?)**
StringFromLongWholeSubstringGeneric             | 3.731     | 4.038    | +8.2%   | **0.92x (?)**
Set.isSubset.Seq.Box0                           | 459.5     | 496.25   | +8.0%   | **0.93x (?)**
SuffixAnySequenceLazy                           | 1932.0    | 2086.0   | +8.0%   | **0.93x (?)**
DataSubscriptMedium                             | 40.548    | 43.667   | +7.7%   | **0.93x (?)**
  | | | | 
**Improvement**                                 | **OLD**   | **NEW**  | **DELTA** | **RATIO**
DataCreateSmallArray                            | 1309.722  | 124.107  | -90.5%  | **10.55x**
DataCreateEmptyArray                            | 716.667   | 124.107  | -82.7%  | **5.77x**
StringEqualPointerComparison                    | 156.0     | 31.194   | -80.0%  | **5.00x**
PrefixWhileSequenceLazy                         | 28.824    | 19.333   | -32.9%  | **1.49x (?)**
CharacterLiteralsLarge                          | 53.031    | 40.542   | -23.5%  | **1.31x (?)**
PointerArithmetics                              | 18716.667 | 15600.0  | -16.7%  | **1.20x (?)**
DataCreateMediumArray                           | 720.0     | 621.538  | -13.7%  | **1.16x (?)**
ObjectiveCBridgeStubToNSStringRef               | 92.889    | 80.609   | -13.2%  | **1.15x (?)**
Set.isStrictSubset.Int.Empty                    | 40.538    | 35.857   | -11.5%  | **1.13x (?)**
SIMDReduce.Int32x4.Initializer                  | 330.0     | 292.571  | -11.3%  | **1.13x (?)**
Histogram                                       | 325.333   | 290.0    | -10.9%  | **1.12x (?)**
DataAppendBytesSmall                            | 140.364   | 127.8    | -9.0%   | **1.10x (?)**
ConvertFloatingPoint.MockFloat64Exactly         | 4.486     | 4.115    | -8.3%   | **1.09x (?)**
ConvertFloatingPoint.MockFloat64ToInt64         | 350.5     | 322.0    | -8.1%   | **1.09x (?)**
Breadcrumbs.IdxToUTF16Range.longASCII           | 11.557    | 10.62    | -8.1%   | **1.09x**
Set.isStrictSubset.Int0                         | 39.0      | 35.864   | -8.0%   | **1.09x (?)**
NSStringConversion.Rebridge                     | 75.643    | 69.905   | -7.6%   | **1.08x (?)**
AngryPhonebook.Cyrillic                         | 377.5     | 349.143  | -7.5%   | **1.08x**
AngryPhonebook.Armenian                         | 354.333   | 327.857  | -7.5%   | **1.08x**
StringToDataEmpty                               | 372.727   | 345.349  | -7.3%   | **1.08x (?)**
StringToDataSmall                               | 433.333   | 401.923  | -7.2%   | **1.08x (?)**
FindString.Rec3.String                          | 69.029    | 64.028   | -7.2%   | **1.08x (?)**
Set.isSubset.Int.Empty                          | 43.65     | 40.548   | -7.1%   | **1.08x (?)**
NSStringConversion                              | 295.667   | 274.75   | -7.1%   | **1.08x (?)**
NSError                                         | 97.333    | 90.55    | -7.0%   | **1.07x (?)**

### Code size: -Osize

**Regression**                                   | **OLD** | **NEW** | **DELTA** | **RATIO**
:---                                             | ---:  | ---:  | ---:   | ---:   
StrToInt.o                                       | 4050  | 5414  | +33.7% | **0.75x**
RomanNumbers.o                                   | 3269  | 3985  | +21.9% | **0.82x**
ErrorHandling.o                                  | 2104  | 2252  | +7.0%  | **0.93x**
ChainedFilterMap.o                               | 2375  | 2539  | +6.9%  | **0.94x**
BitCount.o                                       | 1070  | 1142  | +6.7%  | **0.94x**
Suffix.o                                         | 12740 | 13592 | +6.7%  | **0.94x**
BufferFill.o                                     | 5705  | 6065  | +6.3%  | **0.94x**
SequenceAlgos.o                                  | 15242 | 16094 | +5.6%  | **0.95x**
ObjectAllocation.o                               | 2874  | 3018  | +5.0%  | **0.95x**
DictionaryKeysContains.o                         | 5916  | 6204  | +4.9%  | **0.95x**
Exclusivity.o                                    | 2894  | 3034  | +4.8%  | **0.95x**
BinaryFloatingPointProperties.o                  | 3441  | 3605  | +4.8%  | **0.95x**
DictionarySwap.o                                 | 13035 | 13619 | +4.5%  | **0.96x**
RangeOverlaps.o                                  | 3895  | 4067  | +4.4%  | **0.96x**
DictionaryCopy.o                                 | 6288  | 6560  | +4.3%  | **0.96x**
BucketSort.o                                     | 6201  | 6449  | +4.0%  | **0.96x**
DictionaryRemove.o                               | 13512 | 14052 | +4.0%  | **0.96x**
ProtocolConformance.o                            | 2829  | 2937  | +3.8%  | **0.96x**
ObserverForwarderStruct.o                        | 2097  | 2173  | +3.6%  | **0.97x**
ReduceInto.o                                     | 5953  | 6149  | +3.3%  | **0.97x**
XorLoop.o                                        | 1106  | 1142  | +3.3%  | **0.97x**
MonteCarloPi.o                                   | 1074  | 1106  | +3.0%  | **0.97x**
RangeIteration.o                                 | 1076  | 1108  | +3.0%  | **0.97x**
IndexPathTest.o                                  | 6086  | 6262  | +2.9%  | **0.97x**
NSDictionaryCastToSwift.o                        | 1122  | 1154  | +2.9%  | **0.97x**
BinaryFloatingPointConversionFromBinaryInteger.o | 20614 | 21194 | +2.8%  | **0.97x**
StrComplexWalk.o                                 | 2134  | 2194  | +2.8%  | **0.97x**
SortIntPyramids.o                                | 6956  | 7148  | +2.8%  | **0.97x**
LazyFilter.o                                     | 5381  | 5529  | +2.8%  | **0.97x**
DeadArray.o                                      | 1194  | 1226  | +2.7%  | **0.97x**
Memset.o                                         | 1345  | 1381  | +2.7%  | **0.97x**
Prefix.o                                         | 10296 | 10564 | +2.6%  | **0.97x**
ProtocolDispatch2.o                              | 1405  | 1441  | +2.6%  | **0.98x**
SevenBoom.o                                      | 1264  | 1296  | +2.5%  | **0.98x**
DictTest4.o                                      | 8568  | 8784  | +2.5%  | **0.98x**
NaiveRangeReplaceableCollectionConformance.o     | 7418  | 7602  | +2.5%  | **0.98x**
DictionaryBridgeToObjC.o                         | 3250  | 3330  | +2.5%  | **0.98x**
DictionarySubscriptDefault.o                     | 10037 | 10281 | +2.4%  | **0.98x**
PopFront.o                                       | 2412  | 2468  | +2.3%  | **0.98x**
RC4.o                                            | 2472  | 2528  | +2.3%  | **0.98x**
DictionaryLiteralTest.o                          | 550   | 562   | +2.2%  | **0.98x**
ObjectiveCBridging.o                             | 36854 | 37648 | +2.2%  | **0.98x**
DropFirst.o                                      | 10015 | 10227 | +2.1%  | **0.98x**
DropWhile.o                                      | 9607  | 9807  | +2.1%  | **0.98x**
Combos.o                                         | 3820  | 3896  | +2.0%  | **0.98x**
COWTree.o                                        | 8460  | 8620  | +1.9%  | **0.98x**
PointerArithmetics.o                             | 1270  | 1294  | +1.9%  | **0.98x**
Calculator.o                                     | 1702  | 1734  | +1.9%  | **0.98x**
LinkedList.o                                     | 1718  | 1750  | +1.9%  | **0.98x**
SIMDReduceInteger.o                              | 5190  | 5286  | +1.8%  | **0.98x**
StaticArray.o                                    | 7456  | 7592  | +1.8%  | **0.98x**
MapReduce.o                                      | 14317 | 14573 | +1.8%  | **0.98x**
DictTest2.o                                      | 6270  | 6382  | +1.8%  | **0.98x**
DictTest4Legacy.o                                | 8882  | 9038  | +1.8%  | **0.98x**
FloatingPointConversion.o                        | 17966 | 18274 | +1.7%  | **0.98x**
PopFrontGeneric.o                                | 1953  | 1985  | +1.6%  | **0.98x**
DictTest.o                                       | 8318  | 8454  | +1.6%  | **0.98x**
DictionaryGroup.o                                | 8707  | 8847  | +1.6%  | **0.98x**
DropLast.o                                       | 13314 | 13526 | +1.6%  | **0.98x**
ArraySubscript.o                                 | 1781  | 1809  | +1.6%  | **0.98x**
PrefixWhile.o                                    | 9489  | 9637  | +1.6%  | **0.98x**
CharacterLiteralsSmall.o                         | 806   | 818   | +1.5%  | **0.99x**
DictTest3.o                                      | 9314  | 9450  | +1.5%  | **0.99x**
DictionaryBridge.o                               | 2230  | 2262  | +1.4%  | **0.99x**
DictOfArraysToArrayOfDicts.o                     | 14961 | 15173 | +1.4%  | **0.99x**
SetTests.o                                       | 96215 | 97563 | +1.4%  | **0.99x**
ExistentialPerformance.o                         | 24214 | 24538 | +1.3%  | **0.99x**
RandomShuffle.o                                  | 2410  | 2442  | +1.3%  | **0.99x**
OpenClose.o                                      | 2443  | 2475  | +1.3%  | **0.99x**
CodableTest.o                                    | 19562 | 19814 | +1.3%  | **0.99x**
RangeAssignment.o                                | 2517  | 2549  | +1.3%  | **0.99x**
WordCount.o                                      | 29807 | 30183 | +1.3%  | **0.99x**
ChaCha.o                                         | 10250 | 10358 | +1.1%  | **0.99x**
  | | | | 
**Improvement**                                  | **OLD** | **NEW** | **DELTA** | **RATIO**
NopDeinit.o                                      | 3265  | 2745  | -15.9% | **1.19x**
RangeReplaceableCollectionPlusDefault.o          | 5463  | 4849  | -11.2% | **1.13x**
FlattenList.o                                    | 2642  | 2498  | -5.5%  | **1.06x**
StringMatch.o                                    | 3050  | 2922  | -4.2%  | **1.04x**
ClassArrayGetter.o                               | 3006  | 2898  | -3.6%  | **1.04x**
DataBenchmarks.o                                 | 36901 | 35652 | -3.4%  | **1.04x**
DiffingMyers.o                                   | 5275  | 5103  | -3.3%  | **1.03x**
LuhnAlgoLazy.o                                   | 10029 | 9737  | -2.9%  | **1.03x**
LuhnAlgoEager.o                                  | 10033 | 9741  | -2.9%  | **1.03x**
CharacterLiteralsLarge.o                         | 586   | 570   | -2.7%  | **1.03x**
SubstringTest.o                                  | 13087 | 12751 | -2.6%  | **1.03x**
CxxStringConversion.o                            | 2294  | 2254  | -1.7%  | **1.02x**
StringEdits.o                                    | 7372  | 7248  | -1.7%  | **1.02x**
RecursiveOwnedParameter.o                        | 986   | 970   | -1.6%  | **1.02x**
TwoSum.o                                         | 1949  | 1925  | -1.2%  | **1.01x**
Histogram.o                                      | 1305  | 1289  | -1.2%  | **1.01x**
Walsh.o                                          | 3293  | 3253  | -1.2%  | **1.01x**
FindStringNaive.o                                | 5057  | 5005  | -1.0%  | **1.01x**

### Performance (arm64): -Onone

**Regression**                           | **OLD**   | **NEW**  | **DELTA** | **RATIO**
:---                                     | ---:      | ---:     | ---:      | ---:     
ObjectiveCBridgeASCIIStringFromFile      | 0.0       | 0.146    | +14600.0% | **0.01x (?)**
SIMDRandomMask.Int64x2                   | 525.667   | 684.5    | +30.2%    | **0.77x (?)**
SortArrayInClass                         | 50707.0   | 62429.0  | +23.1%    | **0.81x (?)**
ArrayAppendFromGeneric                   | 193.5     | 218.5    | +12.9%    | **0.89x (?)**
SIMDRandomMask.Int64x8                   | 1593.0    | 1798.0   | +12.9%    | **0.89x (?)**
KeyPathNestedClasses                     | 122.875   | 134.467  | +9.4%     | **0.91x (?)**
CaptureProp                              | 185410.0  | 201400.0 | +8.6%     | **0.92x (?)**
SIMDRandomMask.Int8x16                   | 2865.0    | 3088.0   | +7.8%     | **0.93x (?)**
  | | | | 
**Improvement**                          | **OLD**   | **NEW**  | **DELTA** | **RATIO**
FindString.Loop1.Substring               | 388.0     | 249.0    | -35.8%    | **1.56x (?)**
DictionaryCompactMapValuesOfNilValue     | 7056.25   | 5328.571 | -24.5%    | **1.32x (?)**
Calculator                               | 555.75    | 434.4    | -21.8%    | **1.28x (?)**
FindString.Rec3.Substring                | 285.0     | 231.4    | -18.8%    | **1.23x (?)**
FindString.Rec3.String                   | 295.143   | 240.0    | -18.7%    | **1.23x (?)**
CSVParsing.UTF8                          | 222.4     | 185.75   | -16.5%    | **1.20x**
CSVParsing.UTF16                         | 204.182   | 171.692  | -15.9%    | **1.19x**
StringSwitch                             | 584.0     | 492.0    | -15.8%    | **1.19x (?)**
Set.isDisjoint.Smaller.Int0              | 154.8     | 131.941  | -14.8%    | **1.17x (?)**
FindString.Loop1.Array                   | 77091.0   | 65995.0  | -14.4%    | **1.17x**
ParseInt.UIntSmall.Binary                | 6095.0    | 5350.0   | -12.2%    | **1.14x**
RawBuffer.7.findLast                     | 1138.5    | 1002.0   | -12.0%    | **1.14x (?)**
CSVParsing.Scalar                        | 272.5     | 241.0    | -11.6%    | **1.13x (?)**
RawBuffer.1000.findFirst                 | 55513.0   | 49236.0  | -11.3%    | **1.13x**
FindString.Rec3.Array                    | 5365.0    | 4761.0   | -11.3%    | **1.13x (?)**
Set.isDisjoint.Int0                      | 364.5     | 324.143  | -11.1%    | **1.12x (?)**
CSVParsing.Char                          | 270.556   | 242.3    | -10.4%    | **1.12x**
CharacterLiteralsSmall                   | 503.25    | 451.4    | -10.3%    | **1.11x (?)**
RawBuffer.1000.findLast                  | 61707.0   | 55401.0  | -10.2%    | **1.11x**
RawBuffer.39.findFirst                   | 2812.0    | 2525.0   | -10.2%    | **1.11x (?)**
RawBuffer.128.findLast                   | 8443.0    | 7607.0   | -9.9%     | **1.11x (?)**
SubstringRemoveFirst1                    | 0.111     | 0.1      | -9.8%     | **1.11x (?)**
DataCreateEmpty                          | 655.172   | 592.667  | -9.5%     | **1.11x (?)**
SubstringRemoveLast1                     | 0.118     | 0.107    | -9.2%     | **1.10x (?)**
RawBuffer.39.findLast                    | 3085.0    | 2800.0   | -9.2%     | **1.10x (?)**
RemoveWhereMoveInts                      | 1106.0    | 1004.0   | -9.2%     | **1.10x (?)**
ParseInt.UInt64.Decimal                  | 1520.0    | 1383.0   | -9.0%     | **1.10x (?)**
CharacterPropertiesStashed               | 790.952   | 722.121  | -8.7%     | **1.10x (?)**
DifferentiationIdentity                  | 151.462   | 138.412  | -8.6%     | **1.09x (?)**
NSStringConversion                       | 330.5     | 302.833  | -8.4%     | **1.09x**
DictionaryCompactMapValuesOfCastValue    | 21535.2   | 19782.0  | -8.1%     | **1.09x (?)**
RemoveWhereMoveStrings                   | 1309.0    | 1205.0   | -7.9%     | **1.09x (?)**
IterateData                              | 1365.0    | 1257.0   | -7.9%     | **1.09x (?)**
RawBuffer.7.findFirst                    | 1021.0    | 940.5    | -7.9%     | **1.09x (?)**
SequenceAlgosList                        | 3710.0    | 3420.0   | -7.8%     | **1.08x**
AngryPhonebook.Cyrillic                  | 378.0     | 349.143  | -7.6%     | **1.08x (?)**
SetSubtractingInt0                       | 87.667    | 81.04    | -7.6%     | **1.08x (?)**
DataToStringEmpty                        | 718.75    | 665.0    | -7.5%     | **1.08x (?)**
DictionaryFilter                         | 2091.0    | 1936.0   | -7.4%     | **1.08x (?)**
AngryPhonebook.Armenian                  | 353.833   | 328.286  | -7.2%     | **1.08x**
Dict.FilterAllMatch.24k                  | 107.565   | 100.08   | -7.0%     | **1.07x (?)**
Dict.FilterAllMatch.20k                  | 90.091    | 83.857   | -6.9%     | **1.07x (?)**
Dict.FilterAllMatch.16k                  | 72.615    | 67.609   | -6.9%     | **1.07x**
Dict.FilterAllMatch.28k                  | 127.5     | 118.762  | -6.9%     | **1.07x**
KeyPathNestedStructs                     | 9.108     | 8.486    | -6.8%     | **1.07x**
ConvertFloatingPoint.MockFloat64Exactly2 | 343.5     | 320.5    | -6.7%     | **1.07x (?)**
DifferentiationSquare                    | 213.9     | 199.667  | -6.7%     | **1.07x (?)**
SortLargeExistentials                    | 18518.182 | 17300.0  | -6.6%     | **1.07x (?)**

### Code size: -swiftlibs

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please test source compatibility

@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

In address-lowered mode, to initialize tuple-typed memory in a single
step, tuple_addr_constructor must generally be used because it's not
possible to construct a tuple any of whose fields are address-only.  In
opaque values mode, there is no problem constructing such a tuple.  So
construct the tuple and then assign it into the tuple-typed memory; the
single instruction that initializes the memory will be the assign.
The instruction exists to express the atomic initialization of a
tuple-typed address in address-lowered mode.  In opaque-values mode,
this is expressed as an assign/store.
@nate-chandler
Copy link
Contributor Author

@swift-ci please apple silicon benchmark

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.

None yet

2 participants