Project Dory

From MozillaWiki
Jump to: navigation, search

Project Goals

  • Investigate the usage of current preferences:
    • Understand and document existing preferences (lifetime, type, whether they are still in use, etc.)
    • Clean up preferences (unused, incorrectly used, non-obvious).
  • Use preferences as performance tuning knobs and investigate the performance implications of these knobs.
    • Prioritize the preferences with their relevance to performance.
    • Tweak the preferences and run automated tests against the values to see their performance implications.

Participants

  • Kan-Ru Chen
  • Cervantes Yu
  • Will Wang
  • WeiCheng Pan
  • Shako Ho
  • Walter Chen
  • Askeing Yen

Roadmap

  • Find a systematic way to manage and prioritize default preference values.
    • Co-work with libpref redesign project on new persistence format of preferences.
    • Find performance related preferences during the process.
    • Get feedback from relevant teams.
      • Initially we may target JS related preferences.
    • Record the performance implications of preferences using the new persistence format.

Things to Consider

  • What's the new persistence format for preferences?
  • What data should a pref contain?
    • Internal name, a more descriptive name, description, default value, etc.
  • #include from smaller subsets in the final pref file.
    • Group prefs that are relevant (sharing the same prefix) in smaller files.
  • Standalone top branch indicates that the pref should be under some other branch.
    • There is only 1 pref beginning with "slider": slider.snapMultiplier
    • Move to browser.slider.snapMultiplier?
  • camelCase, underscore_names, or dashed-names?
  • Envisioning a front-end user interface that is more user-friendly than about:config?
    • Makes it easier for users to tweak or experiment with the browser.
  • Inline readonly prefs in code as constants?

Results

Preference Name Gist URL
network.buffer.cache.size https://gist.github.com/e1c026f9a1b3ac608d799ca831baaba5
network.http.spdy.chunk-size https://gist.github.com/2bb56fb52f27638cbfda68de51d1f1e8
javascript.options.baselinejit.threshold https://gist.github.com/62e92f64f78e1c45948ac85afd1c382d
javascript.options.ion.threshold https://gist.github.com/e2f53b135bbe064be437fd141dfd4859
network.predictor.preconnect-min-confidence https://gist.github.com/df6b9c09af1f7eef18850bb72662f878
layout.display-list.retain https://gist.github.com/d9984f22b614bd3407b1a62446420942
network.tcp.sendbuffer https://gist.github.com/dbdb944393c50a3d79aead7b75a5d5d0
network.http.speculative-parallel-limit https://gist.github.com/d1005bd6f30a598f20cafa9e96a78882
layers.tile-width https://gist.github.com/1d09625583ae233337eab13a3f2f8ce9
network.http.spdy.default-concurrent https://gist.github.com/1dec3d541b5d5acfba123d071ad361c7
dom.idle_period.throttled_length https://gist.github.com/0e1cae97020fbb00f0a9647c55ead208
layers.tile-height https://gist.github.com/161cd146a2cb416fc25732bdbd954b46
network.http.max-persistent-connections-per-server https://gist.github.com/0f749e50b60162a23d3bf1c33662478e
network.buffer.cache.count https://gist.github.com/2963f4729ff064706e520176f58b06b2

External Links