Necko/MobileCache/MicroBenchmarks: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 4: Line 4:


Each benchmark below is described and explained, and we also show output results from selected platforms. Note that results are provided as examples and information only; the benchmarks are meant for evaluating effect of code-changes, i.e. you run the benchmarks without and with your change and compare the results to evaluate the effect of your code.
Each benchmark below is described and explained, and we also show output results from selected platforms. Note that results are provided as examples and information only; the benchmarks are meant for evaluating effect of code-changes, i.e. you run the benchmarks without and with your change and compare the results to evaluate the effect of your code.
== Telemetry vs microbenchmarks ==
There has been some discussion about xpcshell-based microbenchmarks vs using telemetry to measure cache-performance. Although IMO these approaches are complementary, there '''may''' be a point to use telemetry-code to capture data from xpcshell-tests (as opposed to using JS Time-functions from the test itself). I've started a pro/con list for each approach - feel free to add and comment. '''Note that lab-experiments in both approaches will use synthetic test-patterns - the difference is in the way we capture data.'''
{| border="1" cellpadding="5" cellspacing="0" align="center"
|+'''Measure cache-performance using JS vs using telemetry-code'''
|-
!|
!| Time-function in JavaScript
!| Telemetry code compiled into the browser
|-
!| Pros
||
* Add and experiment with measurements without recompiling
||
* Avoid JS and thread-schedule jitter
* Better granularity than JS-functions (<i>???</i>)
* Verify changes using results from real users
|-
!| Cons
||
* Lab-tests only, no way to verify for real usage
||
* Increased code-size (<i>also in releases??</i>)
* Must have an idea up-front about timing-profile (histograms)
|-
|}


== test_timing_cache.js ==
== test_timing_cache.js ==
Line 285: Line 313:
  CacheHit            (disk-cache)        22626          101    224.02
  CacheHit            (disk-cache)        22626          101    224.02


=== Wanted tests ===
== Wanted tests ==
Unordered and informal list of tests we may also want to create
Unordered and informal list of tests we may also want to create


97

edits

Navigation menu