TPEPerformance: Difference between revisions

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


== 2014 Q2 Plans ==
== Team Structure ==
* IPC with Async IO
=== Members ===
* JS/GC/CC
* Kan-Ru Chen (:kanru)
** Compacting GC
* Thinker Lee (:thinker :sinker)
** the runtime XPCOMPtr information as complementary info. of the CC.
* Cervantes Yu (:cyu)
* session restore of WEB Apps
* Ting Yu Chou (:ting)
** to get better memory usage and be flexible
* Wei Cheng Pan (:wcpan)
* Necko
* Greg Weng (:gregweng)
** WEB cache
* Nuwa
** Fix the IPC issues of preload-slow-things at the Nuwa process.
*** waiting for quiescent moment of the b2g process.
* Tarako
** Priority manager


== Working On ==
=== Domain Areas ===
* Memory
* IPC / DOM::Content Processes
** Nuwa
* Performance
*** [[NuwaTemplateProcess]]
* Memory leak analysis
*** [https://bugzilla.mozilla.org/buglist.cgi?list_id=9540666&short_desc=Nuwa&resolution=---&resolution=FIXED&resolution=INVALID&resolution=WONTFIX&resolution=DUPLICATE&resolution=WORKSFORME&resolution=INCOMPLETE&resolution=SUPPORT&resolution=EXPIRED&resolution=MOVED&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&short_desc_type=allwordssubstr Bugs]
* JavaScript Engine
** script-sources
* Layout / Gfx
*** 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.
*** [https://bugzilla.mozilla.org/show_bug.cgi?id=944659 Bug 944659] - Considerable amounts of script-sources
** Misc
*** [https://bugzilla.mozilla.org/show_bug.cgi?id=941792 Bug 941792] - Make sure decommitting actually works on B2G
*** [https://bugzilla.mozilla.org/show_bug.cgi?id=944224 Bug 944224] - Considerable amounts of images as dataURLs
* IPC
** [https://bugzilla.mozilla.org/show_bug.cgi?id=915733 Bug 915733] - Linux/or POSIX aio instead of IO thread
** shmem for big data chunks
* 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
** TODOs
*** [https://bugzilla.mozilla.org/show_bug.cgi?id=916409 Bug 916409] - data retrieving tool and protocol
*** [https://bugzilla.mozilla.org/show_bug.cgi?id=916410 Bug 916410] - Integrate it with Cleopatra
*** Mark event sources
* 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
** [https://bugzilla.mozilla.org/show_bug.cgi?id=926734 Bug 926734] - [Flatfish][Profiling]: When starting up Gecko profiling tool, system got hang.
** [https://bugzilla.mozilla.org/show_bug.cgi?id=922548 Bug 922548] - [Flatfish][Profiling]: Fails to analysis the parsed file for Gecko Profiling tool.
** [https://bugzilla.mozilla.org/show_bug.cgi?id=940851 Bug 940851] - Gecko IPC hangs during boot on jb-gonk.
** [https://bugzilla.mozilla.org/show_bug.cgi?id=808080 Bug 808080] - IPC parent aborts due to too large allocation for infallible array in PContent::Msg_AsyncMessage.
** [https://bugzilla.mozilla.org/show_bug.cgi?id=807738 Bug 807738] - IPC parent aborts with malformed PHttpChannel::Msg_AsyncOpen.
** [https://bugzilla.mozilla.org/show_bug.cgi?id=781594 Bug 781594] - ABORT: not reached: ipc/ipdl/PLayers.cpp, line 4069.


== Ideas ==
== Team Work ==
* Track JSObjects that fallback to dictionary mode
=== Dashboard ===
** Time spent(impaction) on objects of dictionary mode
* [http://standu.ps/project/perf-tw Status Report]
** For games
* [https://wiki.mozilla.org/TPEPerformance/Dashboard Team Dashboard]
* command queue for SVG frames
* [[TPEPerformance/Ideas|Ideas]]
* Compare loading time for loading from scratch and from dumped image.
* [[TPEPerformance/Trash|Trash Can]]
* Establish a benchmark to measure memory usage. Refer to AWSY.
* [https://bugzilla.mozilla.org/show_bug.cgi?id=945166 Bug 945166] - Merge JS bytecode, jit code, type tree and shape tree of iframes of embedded YouTube videos.
** Ion/baseline codes, bytecode, script-source, type, shape, etc.
* [https://bugzilla.mozilla.org/show_bug.cgi?id=945161 Bug 945161] - Stop decode big image for the browser app for low end devices.
* [https://bugzilla.mozilla.org/show_bug.cgi?id=945152 Bug 945152] - Make memory of TypedArrays returned by XHR backing with the local file.
** Use-case tables of keyboard apps.
** Tim is in charged of the use-case.
* [https://bugzilla.mozilla.org/show_bug.cgi?id=945174 Bug 945174] - Evaluate zram performance and Bug 899493.
* [https://bugzilla.mozilla.org/show_bug.cgi?id=945185 Bug 945185] - Show only first N images in image uploader for low-end devices.
* [https://bugzilla.mozilla.org/show_bug.cgi?id=943254 Bug 943254] - [B2G][Browser] limit the memory consumption of the browser.
* [https://bugzilla.mozilla.org/show_bug.cgi?id=854795 Bug 854795] - decode and downsample images at the same time for memory savings
* App session resuming
** like hibernate
** load an App from storage and restore to the states of last killed.
* Media
** Unified buffering
* Evaluate the code generator for ARM in IonMonkey.
* Parallelize layout and rendering by screen frames. -- [[VersionedDOM]]
* Use object layout info (size of the object) to figure out what the object is a XPCOMPtr in.
** To be a complementary information for CC and GC.


= 128MB =
==Trains Timetable==
* Thrashing (GC <--> zRAM)
===Release Schedule===
** do experiments for proving
* [https://wiki.mozilla.org/RapidRelease/Calendar Release Calendar]
** Solutions
*** stop GC
*** GC before switching to background
**** stop GC for memory pressure of background process.
** Facts
*** memory pressure trigger GC, it brings pages from zRAM.
*** GC and memory minimize are called for switching to background.


<bugzilla>
=== Branch Dates===
{
{| class="wikitable"
"id": "944659,945166,945161,945152,945174,945185,854795,957509,951601,963477,962987,964599,951531,939056,938470,961348,959966,956215,960894,962444,962384"
|-
}
!quarter ||merge date ||central ||aurora ||beta ||release date ||release || ESR
</bugzilla>
|-
|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
|-
|}


== Trash ==
<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>
see https://wiki.mozilla.org/TPEPerformanceTrash
 
=== 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=2026-01-19 prefix=TPEPerformance/Meetings/ </createbox>

2014
2016
2017