Skip to content

Conversation

@zoecarver
Copy link
Contributor

I want to see the performance gains of removing access markers in the middle of the pass pipeline. I think this could be the source of the performance improvements in #31423. After the benchmarks run, I'll close this PR.

@zoecarver
Copy link
Contributor Author

@swift-ci please benchmark.

@swift-ci
Copy link
Contributor

Performance: -O

Improvement OLD NEW DELTA RATIO
ObjectiveCBridgeStubToNSDateRef 3880 3440 -11.3% 1.13x (?)
DictionarySubscriptDefaultMutationOfObjects 1680 1500 -10.7% 1.12x (?)
StringToDataMedium 3900 3500 -10.3% 1.11x (?)

Code size: -O

Improvement OLD NEW DELTA RATIO
ArrayOfRef.o 8907 8795 -1.3% 1.01x

Performance: -Osize

Regression OLD NEW DELTA RATIO
MapReduceLazyCollectionShort 40 85 +112.5% 0.47x
FlattenListFlatMap 4185 5941 +42.0% 0.70x (?)
PointerArithmetics 31400 37100 +18.2% 0.85x
BinaryFloatingPointPropertiesBinade 31 34 +9.7% 0.91x (?)
ProtocolDispatch 314 342 +8.9% 0.92x
 
Improvement OLD NEW DELTA RATIO
ClassArrayGetter2 1830 130 -92.9% 14.08x
MapReduceClass2 198 25 -87.4% 7.92x
MapReduceClassShort2 362 200 -44.8% 1.81x
BinaryFloatingPointPropertiesNextUp 35 31 -11.4% 1.13x (?)
MapReduce 179 160 -10.6% 1.12x (?)
DictionarySubscriptDefaultMutationOfObjects 1720 1540 -10.5% 1.12x (?)

Code size: -Osize

Improvement OLD NEW DELTA RATIO
ArrayOfGenericRef.o 8304 8032 -3.3% 1.03x
ArrayOfRef.o 8581 8309 -3.2% 1.03x
DictionaryBridge.o 3309 3221 -2.7% 1.03x
LinkedList.o 2257 2200 -2.5% 1.03x
OpaqueConsumingUsers.o 2351 2303 -2.0% 1.02x
RGBHistogram.o 19552 19200 -1.8% 1.02x
ObjectAllocation.o 4298 4242 -1.3% 1.01x

Performance: -Onone

Regression OLD NEW DELTA RATIO
DataReplaceSmallBuffer 10400 11700 +12.5% 0.89x (?)
DictionaryBridgeToObjC_Access 857 958 +11.8% 0.89x (?)
ObjectiveCBridgeStubNSDateRefAccess 5345 5790 +8.3% 0.92x (?)
 
Improvement OLD NEW DELTA RATIO
ObjectiveCBridgeStubToNSDate2 680 620 -8.8% 1.10x (?)
Data.hash.Small 348 324 -6.9% 1.07x (?)

Code size: -swiftlibs

How to read the data The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@zoecarver zoecarver closed this Jul 14, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants