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

AMS Benchmark tests #832

Closed
joaomdmoura opened this issue Mar 9, 2015 · 7 comments
Closed

AMS Benchmark tests #832

joaomdmoura opened this issue Mar 9, 2015 · 7 comments

Comments

@joaomdmoura
Copy link
Member

AMS represents a crucial part at an application and it can impact performance (good or badly).
The goal is to make AMS an tool that not only helps you to bring convention over configuration to your JSON generation, but also give you the tools that might help your apps performance.

In order to do this would be great to have some benchmak test that help us to evaluate how much a feature / bug_fix / refactoring impact overall performance. It would be great to keep track of the difference between versions, and help to convince people to update their AMS.

I'm not so sure how would be the best way to do this, I'm thinking about how would be possible to add it to the workflow with our already existing tests. Before start something would be great to hear some thoughts about the idea, if it's valid or not, and how to implement it.

@joshsmith
Copy link
Contributor

I think it's a great idea, especially after seeing this last week: https://is-ember-fast-yet.firebaseapp.com/

I don't feel one way or another about the implementation of it, but I think in general the concept is a good one. 👍

@joaomdmoura
Copy link
Member Author

Great! @kurko also liked the concept. I'll put it in my queue 😄
btw #833 is exactly the kind of thing that would make a benchmark suite amazing

@joshsmith
Copy link
Contributor

That's a great example @joaomdmoura.

What are your thoughts about how to implement this?

@joaomdmoura
Copy link
Member Author

Right now I've 2 different implementation on my mind.

  1. Use a new file to keep history and Benchmark module (link). This implementation will take into account the code it self.
  2. Use and external service like Loader.io, that is freemium and simulate real requests.

I'm tending to the first option, but either way, I'm thinking about move this to a new OS project. A gem that helps you to built a benchmark test suite. Then add it as dependency to AMS.

What do you think about it @joshsmith ?

@joshsmith
Copy link
Contributor

I would prefer the first option, I think, (or something like it) since that seems closer to our code and doesn't rely on any external service.

Have you also seen https://github.com/rails/rails-perftest? Not sure if this is appropriate or not.

@joaomdmoura
Copy link
Member Author

Agreed. I didn't knew it, but seem great. I'll check it out to see if we can use it or at least have some ideas.

joaomdmoura added a commit to joaomdmoura/active_model_serializers that referenced this issue Apr 13, 2015
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to joaomdmoura/active_model_serializers that referenced this issue Apr 21, 2015
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to joaomdmoura/active_model_serializers that referenced this issue Apr 21, 2015
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to joaomdmoura/active_model_serializers that referenced this issue Apr 21, 2015
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to joaomdmoura/active_model_serializers that referenced this issue Apr 21, 2015
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to joaomdmoura/active_model_serializers that referenced this issue Apr 21, 2015
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to joaomdmoura/active_model_serializers that referenced this issue Apr 21, 2015
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to joaomdmoura/active_model_serializers that referenced this issue May 5, 2015
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to joaomdmoura/active_model_serializers that referenced this issue May 10, 2015
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to bf4/active_model_serializers that referenced this issue Dec 23, 2015
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to bf4/active_model_serializers that referenced this issue Dec 28, 2015
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to bf4/active_model_serializers that referenced this issue Jan 4, 2016
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
joaomdmoura added a commit to bf4/active_model_serializers that referenced this issue Jan 5, 2016
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
bf4 pushed a commit to bf4/active_model_serializers that referenced this issue Feb 12, 2016
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
bf4 pushed a commit to bf4/active_model_serializers that referenced this issue Feb 26, 2016
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
bf4 pushed a commit to bf4/active_model_serializers that referenced this issue Mar 9, 2016
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
bf4 pushed a commit to bf4/active_model_serializers that referenced this issue Mar 9, 2016
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
bf4 pushed a commit to bf4/active_model_serializers that referenced this issue Mar 9, 2016
Adding a benchmak test structure to help contributors to keep track
of how their PR will impact overall performance.

It enables developers to create test inside of tests/benchmark.

This implementation adds a rake task: ```rake benchmark``` that checkout
one commit before, run the test of  tests/benchmark, then mover back to
the last commit and run it again. By comparing the benchmark results between
both commits the contributor will notice if and how much  his contribution
will impact overall performance.
@remear
Copy link
Member

remear commented Mar 15, 2016

The benchmark foundation has been added. Benchmarking work will be ongoing and is currently being tracked over in #1575

@remear remear closed this as completed Mar 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants