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

benchmark: NIOChannelPipeline imitation #24765

Merged
merged 2 commits into from May 15, 2019

Conversation

weissi
Copy link
Member

@weissi weissi commented May 14, 2019

adds a benchmark that imitates SwiftNIO's ChannelPipeline. Recently,
Swift master regressed on this benchmark, therefore I believe adding it
to Swift provides value as it seems to be different enough to the existing
benchmarks.

@weissi weissi requested a review from gottesmm May 14, 2019 12:56
@weissi
Copy link
Member Author

weissi commented May 14, 2019

@swift-ci bench

@weissi
Copy link
Member Author

weissi commented May 14, 2019

@swift-ci test bench

@CodaFi
Copy link
Member

CodaFi commented May 14, 2019

@swift-ci please benchmark

@swift-ci
Copy link
Collaborator

Build failed before running benchmark.

@weissi
Copy link
Member Author

weissi commented May 14, 2019

@swift-ci please benchmark

@swift-ci
Copy link
Collaborator

Build failed before running benchmark.

@weissi
Copy link
Member Author

weissi commented May 14, 2019

ok, now I actually compiled that locally :P

@weissi
Copy link
Member Author

weissi commented May 14, 2019

@swift-ci please benchmark

adds a benchmark that imitates SwiftNIO's ChannelPipeline. Recently,
Swift master regressed on this benchmark, therefore I believe adding it
to Swift provides value as it seems to be different enough to the existing
benchmarks.
@apple apple deleted a comment from swift-ci May 14, 2019
@weissi
Copy link
Member Author

weissi commented May 14, 2019

@swift-ci please benchmark

1 similar comment
@CodaFi
Copy link
Member

CodaFi commented May 14, 2019

@swift-ci please benchmark

@swift-ci
Copy link
Collaborator

Performance: -O

TEST OLD NEW DELTA RATIO
Improvement
ObjectiveCBridgeStubFromNSDateRef 2520 2330 -7.5% 1.08x (?)
Added
NIOChannelPipeline 16 16 16

Performance: -Osize

TEST OLD NEW DELTA RATIO
Improvement
Dictionary4 220 167 -24.1% 1.32x
PrefixWhileCountableRangeLazy 15 14 -6.7% 1.07x (?)
Added
NIOChannelPipeline 17 17 17

Performance: -Onone

TEST OLD NEW DELTA RATIO
Regression
DataAppendBytesMedium 3100 3380 +9.0% 0.92x (?)
Added
NIOChannelPipeline 24 24 24
Benchmark Check Report
⚠️ NIOChannelPipeline execution took 16 μs.
Increase the workload of NIOChannelPipeline to be more than 20 μs.
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

@weissi
Copy link
Member Author

weissi commented May 14, 2019

@swift-ci please benchmark

@swift-ci
Copy link
Collaborator

Performance: -O

TEST OLD NEW DELTA RATIO
Regression
StringToDataSmall 500 550 +10.0% 0.91x (?)
Added
NIOChannelPipeline 159 159 159

Performance: -Osize

TEST OLD NEW DELTA RATIO
Improvement
Dictionary4 219 167 -23.7% 1.31x (?)
Dictionary4OfObjects 351 328 -6.6% 1.07x (?)
Added
NIOChannelPipeline 174 177 175

Performance: -Onone

TEST OLD NEW DELTA RATIO
Regression
DataCountMedium 45 49 +8.9% 0.92x (?)
Added
NIOChannelPipeline 246 251 248
Benchmark Check Report
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

Copy link
Member

@gottesmm gottesmm left a comment

Choose a reason for hiding this comment

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

LGTM

@gottesmm
Copy link
Member

@swift-ci smoke test and merge

1 similar comment
@gottesmm
Copy link
Member

@swift-ci smoke test and merge

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

4 participants