Skip to content

Remove a retain release pair in foreign string hashing #25771

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

Merged
merged 1 commit into from
Jun 26, 2019

Conversation

Catfish-Man
Copy link
Contributor

@Catfish-Man Catfish-Man commented Jun 26, 2019

Fixes rdar://problem/52157564

@Catfish-Man
Copy link
Contributor Author

@swift-ci please benchmark

@swift-ci
Copy link
Contributor

Performance: -O

Regression OLD NEW DELTA RATIO
ObjectiveCBridgeStubFromNSString 456 501 +9.9% 0.91x (?)
 
Improvement OLD NEW DELTA RATIO
StringEnumRawValueInitialization 540 380 -29.6% 1.42x
SuffixArrayLazy 5 4 -20.0% 1.25x (?)
Calculator 152 134 -11.8% 1.13x (?)
Chars2 3350 3000 -10.4% 1.12x (?)
FlattenListFlatMap 4719 4251 -9.9% 1.11x (?)
UTF8Decode_InitDecoding 123 111 -9.8% 1.11x (?)
StringComparison_ascii 373 337 -9.7% 1.11x
OpenClose 61 56 -8.2% 1.09x (?)

Code size: -O

Performance: -Osize

Regression OLD NEW DELTA RATIO
ArrayAppendGenericStructs 590 1520 +157.6% 0.39x (?)
 
Improvement OLD NEW DELTA RATIO
StringEnumRawValueInitialization 540 400 -25.9% 1.35x
Calculator 153 133 -13.1% 1.15x
Chars2 3500 3150 -10.0% 1.11x (?)
UTF8Decode_InitDecoding 122 112 -8.2% 1.09x (?)
OpenClose 63 58 -7.9% 1.09x (?)
DropWhileSequence 14 13 -7.1% 1.08x (?)
FlattenListLoop 2272 2123 -6.6% 1.07x (?)

Code size: -Osize

Performance: -Onone

Regression OLD NEW DELTA RATIO
ArrayOfPOD 658 726 +10.3% 0.91x (?)

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 mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

@Catfish-Man Catfish-Man self-assigned this Jun 26, 2019
@Catfish-Man
Copy link
Contributor Author

@swift-ci please smoke benchmark

@Catfish-Man
Copy link
Contributor Author

wrong command >.<

@Catfish-Man
Copy link
Contributor Author

@swift-ci please smoke test

@swift-ci
Copy link
Contributor

Performance: -O

Regression OLD NEW DELTA RATIO
DataAppendDataSmallToSmall 4080 4580 +12.3% 0.89x (?)
StringBuilderWithLongSubstring 1310 1410 +7.6% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
StringEnumRawValueInitialization 840 620 -26.2% 1.35x

Code size: -O

Performance: -Osize

Regression OLD NEW DELTA RATIO
InsertCharacterEndIndexNonASCII 57 62 +8.8% 0.92x (?)
 
Improvement OLD NEW DELTA RATIO
StringEnumRawValueInitialization 840 620 -26.2% 1.35x
Breadcrumbs.IdxToUTF16Range.longMixed 406 378 -6.9% 1.07x (?)

Code size: -Osize

Performance: -Onone

Improvement OLD NEW DELTA RATIO
ObjectiveCBridgeStubFromNSDateRef 4550 4140 -9.0% 1.10x (?)

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

@Catfish-Man Catfish-Man requested a review from milseman June 26, 2019 04:06
Copy link
Member

@milseman milseman left a comment

Choose a reason for hiding this comment

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

LGTM, good find

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.

3 participants