globalizejs / globalizejs/globalize

Performance tests

Open
#397 1 comment 0 reactions 0 assignees View on GitHub
help wanted new feature
Dominant language
JavaScript
Stars
4.8k
Forks
585
PR merge metrics
No merged PRs in 30d

Description

**Goal**

Test the performance impact of fixes/changes. So, we ensure our performance is continuously improved; In other words, we're interested in comparing how fixes or changes affect the systemic performance of the library.

**General Ideas**
- We need to compare the performance before and after a change. Therefore, we need a metric describing how fast Globalize performs what it's supposed to.
- We're interested in the systemic performance of the library. Therefore, performance tests `performance/*` should use the built files `dist/*` (and public methods `Globalize.*`), analogous to the functional tests `test/functional/*`.
- Keep it simple. The performance tests are about generating the performance metrics (benchmark). A second and different problem is about comparing two different results. For this one, consider something analogous to https://github.com/rwaldron/grunt-compare-size.

**Workload**
- We need to define that. It should reflect what Globalize applications look like.
- Vyacheslav Egorov [talks about shitty workloads](https://www.youtube.com/watch?v=65-RbBwZQdU) you should avoid.

**References**
- [How do you performance test JavaScript code?](http://stackoverflow.com/questions/111368/how-do-you-performance-test-javascript-code/24149815#24149815)
- https://github.com/jquery/sizzle/tree/master/speed
- https://github.com/rwaldron/grunt-compare-size
- http://benchmarkjs.com/
- https://www.youtube.com/watch?v=65-RbBwZQdU

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.