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

Add client socket Android benchmark #285

Merged
merged 1 commit into from Aug 8, 2017

Conversation

nmittler
Copy link
Contributor

@nmittler nmittler commented Aug 7, 2017

Refactoring the benchmark libraries a bit in the process:

  • Merged benchmark-openjdk with benchmark-jmh

  • Renamed EngineType->EngineFactory

  • Renamed SocketType->EndpointFactory, and made it an interface to
    match the changes with EngineFactory

  • Reverted benchmark-base to being a standalone library. Idea seems to
    prefer this to the same source being included from multiple projects.

  • Renamed PooledAllocator to NettyBufferAllocator.

@nmittler nmittler added this to the 1.0.0 milestone Aug 7, 2017
@nmittler nmittler self-assigned this Aug 7, 2017
@nmittler nmittler requested a review from flooey August 7, 2017 19:05
benchmark.time(numMessages);
}

private final class JmhConfig implements Config {
Copy link
Contributor

Choose a reason for hiding this comment

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

CaliperConfig?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done.

@nmittler nmittler force-pushed the android_throughput_benchmarks branch 2 times, most recently from 28b8fb5 to ad65f37 Compare August 8, 2017 14:20
Refactoring the benchmark libraries a bit in the process:

- Merged benchmark-openjdk with benchmark-jmh

- Renamed EngineType->EngineFactory

- Renamed SocketType->EndpointFactory, and made it an interface to
match the changes with EngineFactory

- Reverted benchmark-base to being a standalone library. Idea seems to
prefer this to the same source being included from multiple projects.

- Renamed PooledAllocator to NettyBufferAllocator.
@nmittler nmittler force-pushed the android_throughput_benchmarks branch from ad65f37 to fecfbd4 Compare August 8, 2017 16:43
@nmittler nmittler merged commit b2296e8 into google:master Aug 8, 2017
@flooey
Copy link
Contributor

flooey commented Aug 9, 2017

Here's the output for the same Nexus 6P I ran the previous benchmarks on:

CHANNEL	4096	CONSCRYPT	10.040
CHANNEL	4096	CONSCRYPT_ENGINE	22.180
CHANNEL	512	CONSCRYPT	69.790
CHANNEL	512	CONSCRYPT_ENGINE	118.096
CHANNEL	64	CONSCRYPT	416.476
CHANNEL	64	CONSCRYPT_ENGINE	521.447
NONE	4096	CONSCRYPT	10.175
NONE	4096	CONSCRYPT_ENGINE	10.025
NONE	512	CONSCRYPT	72.274
NONE	512	CONSCRYPT_ENGINE	61.890
NONE	64	CONSCRYPT	394.811
NONE	64	CONSCRYPT_ENGINE	444.791
NO_CHANNEL	4096	CONSCRYPT	11.021
NO_CHANNEL	4096	CONSCRYPT_ENGINE	9.796
NO_CHANNEL	512	CONSCRYPT	64.095
NO_CHANNEL	512	CONSCRYPT_ENGINE	57.696
NO_CHANNEL	64	CONSCRYPT	417.777
NO_CHANNEL	64	CONSCRYPT_ENGINE	434.554

@nmittler
Copy link
Contributor Author

nmittler commented Aug 9, 2017

@flooey Cool, looks like the new socket perf is in the same ballpark. Perf seems to be an issue when wrapping a channel-based socket, but I'm seeing that elsewhere as well. I think it might be time to flip the switch and make the engine-based socket the default.

@kruton sound good?

nmittler pushed a commit that referenced this pull request Aug 10, 2017
Refactoring the benchmark libraries a bit in the process:

- Merged benchmark-openjdk with benchmark-jmh

- Renamed EngineType->EngineFactory

- Renamed SocketType->EndpointFactory, and made it an interface to
match the changes with EngineFactory

- Reverted benchmark-base to being a standalone library. Idea seems to
prefer this to the same source being included from multiple projects.

- Renamed PooledAllocator to NettyBufferAllocator.
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