TPEPerformance: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Branch Dates: update branch dates)
 
(67 intermediate revisions by 6 users not shown)
Line 1: Line 1:
This page is for tracking tasks of the performance team at Mozilla Taipei Office.
We use this page to track the work owned by Platform Stability & Performance team.


== Working On ==
== Team Structure ==
* Memory
=== Members ===
** Nuwa
* Kan-Ru Chen (:kanru)
*** Bug 890870 - Use a deterministic point to freeze of the Nuwa process
* Thinker Lee (:thinker :sinker)
*** Bug 928995 - Let PreallocatedProcessManager manage Nuwa process.
* Cervantes Yu (:cyu)
*** Bug 922465 - Automated tests for the Nuwa process.
* Ting Yu Chou (:ting)
*** Bug 930282 - Enable the Nuwa process on B2G by defaut.
* Wei Cheng Pan (:wcpan)
*** Bug 938470 - Investigate delaying homescreen launch from the Nuwa process.
* Greg Weng (:gregweng)
** swap out anonymous memory with static content of the b2g process
*** https://wiki.mozilla.org/AnonymousPageCache
*** https://bugzilla.mozilla.org/show_bug.cgi?id=899493
*** https://bugzilla.mozilla.org/show_bug.cgi?id=919901
** script-sources
*** In b2g and homescreen it consumes 4MB ~ 5MB totally.
*** In facebook and twitter it consumes ~1.3MB for each.
*** Need to investigate the benefits of disabling it under zRam.
** Misc
*** Bug 941792 - Make sure decommitting actually works on B2G
*** Bug 944224 - Considerable amounts of images as dataURLs
* IPC
** Linux/or POSIX aio instead of IO thread
*** https://bugzilla.mozilla.org/show_bug.cgi?id=915733
** shmem for big data chunks
* Media
** Unified buffering
* Launch time of Apps
** Preload JS code with Nuwa
** Precompile JS code with the baseline compiler
** Profiling
* Animations
** use caches for display lists to reduce overhead of nsIFrame::BuildDisplayList()
*** https://groups.google.com/d/msg/mozilla.dev.tech.layout/BL3BNQu4sSA/CMHWMEHp9x0J
*** https://bugzilla.mozilla.org/show_bug.cgi?id=908626
* Task Tracer
** https://bugzilla.mozilla.org/show_bug.cgi?id=908995
** https://groups.google.com/d/msg/mozilla.dev.b2g/dr3RrYUvP-w/Q51za7NvIWwJ
** Keep the tracks of tasks
** Record how tasks are post among threads & processes
** Remember when tasks are post, dispatched, completed
** Remember relation-ships among tasks
** Task IDs are <otid,sn> pairs (tid is the thread id)
*** otid is the thread id of origin site
** The track of a task is a list of <tid>:<otid>:<rtid>:dtime:stime:ftime
*** tid is the unique id of the runnable/task.  Every task has an unique id.
*** rtid is the thread id of running thread
*** dtime is the dispatched time
*** stime is the start time
*** ctime is the finished time
** Task type - names of handlers
** TODOs
*** data retrieving tool and protocol
**** https://bugzilla.mozilla.org/show_bug.cgi?id=916409
*** Integrate it with Cleopatra
**** https://bugzilla.mozilla.org/show_bug.cgi?id=916410
*** Mark event sources
* App session resuming
** like hibernate
** load an App from storage and restore to the states of last killed.
* XHR Batch Queue API
** https://wiki.mozilla.org/WebAPI/XHRBatch
** Submit a XHR to a queue on the device, the platform will handle the XHR until it is completed
** Notify the App while all XHR on the queue is completed
** The app can check its own queue
** The app can be killed, or being stopped by the user, while XHR is still running.
** The platform will wake up the app while the queue is completed an the app is not running.
* Stability Issues
** Bug 926734 - [Flatfish][Profiling]: When starting up Gecko profiling tool, system got hang.
** Bug 922548 - [Flatfish][Profiling]: Fails to analysis the parsed file for Gecko Profiling tool.


== Ideas ==
=== Domain Areas ===
* Track JSObjects that fallback to dictionary mode
* IPC / DOM::Content Processes
** Time spent(impaction) on objects of dictionary mode
* Performance
** For games
* Memory leak analysis
* command queue for SVG frames
* JavaScript Engine
* Compare loading time for loading from scratch and from dumped image.
* Layout / Gfx
* Establish a benchmark to measure memory usage. Refer to AWSY.
* Check how to share data among iframes/tabs from same sources.
** Ion/baseline codes, bytecode, script-source, type, shape, etc.


== Finished ==
== Team Work ==
* Memory
=== Dashboard ===
** Reduce CSP cache memory usage.
* [http://standu.ps/project/perf-tw Status Report]
*** {{bug|897741}} Don't put gigantic data URIs in the CSP cache. (8/20)
* [https://wiki.mozilla.org/TPEPerformance/Dashboard Team Dashboard]
* [[TPEPerformance/Ideas|Ideas]]
* [[TPEPerformance/Trash|Trash Can]]
 
==Trains Timetable==
===Release Schedule===
* [https://wiki.mozilla.org/RapidRelease/Calendar Release Calendar]
 
=== Branch Dates===
{| class="wikitable"
|-
!quarter ||merge date ||central ||aurora ||beta ||release date ||release || ESR
|-
|rowspan="2"|Q3
!2016-08-01
|Firefox 51||Firefox 50||Firefox 49
!2016-08-02
|Firefox 48
|Firefox 45.3
|-
!2016-09-12
|Firefox 52||Firefox 51||Firefox 50
!2016-09-13
|Firefox 49
|Firefox 45.4
|-
|rowspan="2"|Q4
!2016-11-07
|Firefox 53||Firefox 52||Firefox 51
!2016-11-08
|Firefox 50
|Firefox 45.5
|-
|
|
|
|
!2016-12-13
|Firefox 50.0.1
|Firefox 45.5.1
|-
|rowspan="2"|Q1
!2017-01-23
|Firefox 54||Firefox 53||Firefox 52
!2017-01-24
|Firefox 51
|Firefox 45.6
|-
!2017-03-06
|Firefox 55||Firefox 54||Firefox 53
!TBA
|Firefox 52
|Firefox 45.7; 52.0
|-
|}
 
<p>Note that the merge from beta to release happens ahead of time (usually on the Mon/Tue a week before the release date). [[Release_Management/TeamWiki|Release manager list]]</p>
 
=== Projects ===
* [[Electrolysis]]
* [[Platform/Uptime]]
* [[Hasal]]
* [[TaskTracer]]
* [[NuwaTemplateProcess|Nuwa Template Process]]
* [[MemoryProfiler|Memory Profiler]]
* [[TPEPerformance/128MB|128MB]]
* [[WebAPPGeneralLifeCycle|Web App General Life Cycle]]
* [[TPEPerformance/FxOS_Responsiveness|FxOS Responsiveness]]
 
== Meetings ==
{{:TPEPerformance/Meetings}}

Latest revision as of 10:10, 26 July 2016

We use this page to track the work owned by Platform Stability & Performance team.

Team Structure

Members

  • Kan-Ru Chen (:kanru)
  • Thinker Lee (:thinker :sinker)
  • Cervantes Yu (:cyu)
  • Ting Yu Chou (:ting)
  • Wei Cheng Pan (:wcpan)
  • Greg Weng (:gregweng)

Domain Areas

  • IPC / DOM::Content Processes
  • Performance
  • Memory leak analysis
  • JavaScript Engine
  • Layout / Gfx

Team Work

Dashboard

Trains Timetable

Release Schedule

Branch Dates

quarter merge date central aurora beta release date release ESR
Q3 2016-08-01 Firefox 51 Firefox 50 Firefox 49 2016-08-02 Firefox 48 Firefox 45.3
2016-09-12 Firefox 52 Firefox 51 Firefox 50 2016-09-13 Firefox 49 Firefox 45.4
Q4 2016-11-07 Firefox 53 Firefox 52 Firefox 51 2016-11-08 Firefox 50 Firefox 45.5
2016-12-13 Firefox 50.0.1 Firefox 45.5.1
Q1 2017-01-23 Firefox 54 Firefox 53 Firefox 52 2017-01-24 Firefox 51 Firefox 45.6
2017-03-06 Firefox 55 Firefox 54 Firefox 53 TBA Firefox 52 Firefox 45.7; 52.0

Note that the merge from beta to release happens ahead of time (usually on the Mon/Tue a week before the release date). Release manager list

Projects

Meetings

<createbox> align=right type=create preload=TPEPerformance/Meetings/0-0-0&action=submit default=2025-12-15 prefix=TPEPerformance/Meetings/ </createbox>

2014
2016
2017