Skip to content

[SE-0247] Add contiguous string APIs #23051

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
Apr 4, 2019

Conversation

milseman
Copy link
Member

@milseman milseman commented Mar 4, 2019

@milseman
Copy link
Member Author

milseman commented Mar 4, 2019

@swift-ci please test

@milseman
Copy link
Member Author

milseman commented Mar 4, 2019

@swift-ci please benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Mar 4, 2019

Performance: -O

TEST OLD NEW DELTA RATIO
Regression
DictionaryBridgeToObjC_Access 926 1055 +13.9% 0.88x (?)
Improvement
Breadcrumbs.CopyUTF16CodeUnits.ASCII 20 18 -10.0% 1.11x (?)

Performance: -Osize

TEST OLD NEW DELTA RATIO
Regression
DataAppendDataLargeToLarge 37800 50600 +33.9% 0.75x (?)

Performance: -Onone

TEST OLD NEW DELTA RATIO
Regression
CharIteration_japanese_unicodeScalars 293920 350240 +19.2% 0.84x (?)
CharIteration_tweet_unicodeScalars 482800 573360 +18.8% 0.84x (?)
CharIteration_korean_unicodeScalars 239680 283680 +18.4% 0.84x (?)
CharIteration_russian_unicodeScalars 204760 241120 +17.8% 0.85x (?)
CharIteration_ascii_unicodeScalars 244440 287400 +17.6% 0.85x (?)
CharIteration_chinese_unicodeScalars 185800 217720 +17.2% 0.85x (?)
CharIteration_punctuatedJapanese_unicodeScalars 42720 49880 +16.8% 0.86x (?)
CharIteration_punctuated_unicodeScalars 54080 63000 +16.5% 0.86x (?)
MapReduceLazyCollection 38142 44204 +15.9% 0.86x (?)
CharIteration_utf16_unicodeScalars 182880 211160 +15.5% 0.87x (?)
NormalizedIterator_ascii 492 561 +14.0% 0.88x (?)
MapReduceLazyCollectionShort 45563 51472 +13.0% 0.89x (?)
NormalizedIterator_latin1 798 900 +12.8% 0.89x (?)
MapReduceSequence 45864 51690 +12.7% 0.89x (?)
CharIteration_ascii_unicodeScalars_Backwards 365280 406560 +11.3% 0.90x (?)
CharIteration_russian_unicodeScalars_Backwards 305640 339240 +11.0% 0.90x (?)
CharIteration_punctuated_unicodeScalars_Backwards 80440 89160 +10.8% 0.90x (?)
CharIteration_chinese_unicodeScalars_Backwards 278280 308320 +10.8% 0.90x (?)
MapReduceAnyCollection 56486 62576 +10.8% 0.90x (?)
CharIteration_tweet_unicodeScalars_Backwards 722760 799600 +10.6% 0.90x (?)
CharIteration_korean_unicodeScalars_Backwards 358360 395760 +10.4% 0.91x (?)
MapReduceClass2 5934 6551 +10.4% 0.91x (?)
CharIteration_utf16_unicodeScalars_Backwards 297000 327560 +10.3% 0.91x (?)
MapReduce 56908 62649 +10.1% 0.91x (?)
MapReduceClassShort2 6484 7130 +10.0% 0.91x (?)
CharIteration_japanese_unicodeScalars_Backwards 443680 487680 +9.9% 0.91x (?)
MapReduceAnyCollectionShort 62710 68920 +9.9% 0.91x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 63360 69600 +9.8% 0.91x (?)
MapReduceShort 62890 69030 +9.8% 0.91x (?)
MapReduceNSDecimalNumber 6163 6759 +9.7% 0.91x (?)
Breadcrumbs.MutatedIdxToUTF16.ASCII 21 23 +9.5% 0.91x (?)
MapReduceNSDecimalNumberShort 6742 7382 +9.5% 0.91x (?)
NormalizedIterator_fastPrenormal 1490 1630 +9.4% 0.91x (?)
CharIndexing_tweet_unicodeScalars 1147600 1243240 +8.3% 0.92x (?)
NormalizedIterator_slowerPrenormal 1330 1440 +8.3% 0.92x (?)
CharIndexing_ascii_unicodeScalars 576000 623000 +8.2% 0.92x (?)
CharIndexing_japanese_unicodeScalars 700600 757040 +8.1% 0.93x (?)
CharIndexing_russian_unicodeScalars 481800 519840 +7.9% 0.93x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 100280 107840 +7.5% 0.93x (?)
Improvement
SubstringEquatable 8600 7745 -9.9% 1.11x (?)
ArrayOfPOD 853 775 -9.1% 1.10x (?)
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

@tkremenek
Copy link
Member

The corresponding evolution proposal has been accepted. What is blocking this from making progress?

@tkremenek
Copy link
Member

@swift-ci clean test

@tkremenek
Copy link
Member

@milseman is there anything block this from moving forward?

@milseman
Copy link
Member Author

milseman commented Apr 2, 2019

I need to write more tests. I’m on that today.

Adds API for querying, enforcing, and using contiguous strings.
@milseman milseman force-pushed the textual_contiguity branch from 920a899 to aab8063 Compare April 3, 2019 03:30
@milseman milseman changed the title [WIP DO NOT MERGE] [string] Add contiguous string APIs [SE-0247] Add contiguous string APIs Apr 3, 2019
@milseman
Copy link
Member Author

milseman commented Apr 3, 2019

@swift-ci please benchmark

@milseman
Copy link
Member Author

milseman commented Apr 3, 2019

@swift-ci please test

@swift-ci
Copy link
Contributor

swift-ci commented Apr 3, 2019

Build failed
Swift Test Linux Platform
Git Sha - 920a899

@milseman
Copy link
Member Author

milseman commented Apr 3, 2019

@swift-ci please test os x platform

@swift-ci
Copy link
Contributor

swift-ci commented Apr 3, 2019

Performance: -Onone

TEST OLD NEW DELTA RATIO
Improvement
ArrayOfPOD 855 778 -9.0% 1.10x (?)
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

@swift-ci
Copy link
Contributor

swift-ci commented Apr 3, 2019

Build failed
Swift Test OS X Platform
Git Sha - 920a899

@milseman
Copy link
Member Author

milseman commented Apr 3, 2019

@swift-ci please test Linux platform

@swift-ci
Copy link
Contributor

swift-ci commented Apr 3, 2019

Build failed
Swift Test Linux Platform
Git Sha - aab8063

@milseman
Copy link
Member Author

milseman commented Apr 3, 2019

12:30:27 
/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/swiftpm/Tests/FunctionalTests/MiscellaneousTests.swift:93: error: MiscellaneousTestCase.testCompileFailureExitsGracefully : XCTAssertTrue failed - unexpected failure matching '' against pattern contains("Compiling CompileFails Foo.swift")

@swift-ci please test linux platform

@milseman milseman merged commit 3b99358 into swiftlang:master Apr 4, 2019
@milseman milseman deleted the textual_contiguity branch April 4, 2019 02:50
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