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 compare to Tomorrowland #16

Closed
lilyball opened this issue Feb 5, 2018 · 6 comments
Closed

Benchmark compare to Tomorrowland #16

lilyball opened this issue Feb 5, 2018 · 6 comments

Comments

@lilyball
Copy link

lilyball commented Feb 5, 2018

Could you add Tomorrowland to the benchmarks? I'm curious how it stacks up, since Tomorrowland uses atomics internally instead of locks/queues.

I'd also love to see your benchmark methodology. I see benchmarks for Promises in the repo, but no information on how you collected numbers for the other frameworks.

@shoumikhin
Copy link
Contributor

Sure, feel free to provide corresponding code snippets for our Objective-C and Swift performance tests that would use Tomorrowland instead. We're happy to run them and provide the results. Methodology is fairly simple: we ran each test individually on a device several times, then find the average.

@lilyball
Copy link
Author

lilyball commented Feb 5, 2018

Ok I've ported your performance tests to Tomorrowland: Gist.

@lilyball
Copy link
Author

lilyball commented Feb 5, 2018

Incidentally it might be nice to have a performance test that tests how the promise performs when under heavy contention from multiple threads (e.g. adding observers from multiple threads simultaneously). A bit esoteric use-case to be sure, but still interesting.

@shoumikhin
Copy link
Contributor

That kind of test case may be useful, feel free to contribute!
Below are some quick numbers for Tomorrowland-ObjC I see:

1 chained then: 0.000031538
2 chained then: 0.000039722
3 chained then: 0.000044663

@lilyball
Copy link
Author

You closed this issue but https://github.com/google/promises/blob/master/g3doc/index.md#benchmark still doesn't list Tomorrowland.

@shoumikhin
Copy link
Contributor

Hi Kevin, we're currently exploring Attabench and other similar platforms to run performance tests automatically and independently, so will follow up once that's ready.

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

No branches or pull requests

2 participants