TPEPerformance: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Branch Dates: update branch dates)
 
(36 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.


== Working On ==
== Team Structure ==
* Memory
=== Members ===
** Nuwa
* Kan-Ru Chen (:kanru)
*** [https://bugzilla.mozilla.org/show_bug.cgi?id=922465 Bug 922465] - Automated tests for the Nuwa process.
* Thinker Lee (:thinker :sinker)
*** [https://bugzilla.mozilla.org/show_bug.cgi?id=930282 Bug 930282] - Enable the Nuwa process on B2G by defaut.
* Cervantes Yu (:cyu)
*** [https://bugzilla.mozilla.org/show_bug.cgi?id=938470 Bug 938470] - Investigate increasing usable memory on FxOS by delaying homescreen launch.
* Ting Yu Chou (:ting)
** swap out anonymous memory with static content of the b2g process
* Wei Cheng Pan (:wcpan)
*** https://wiki.mozilla.org/AnonymousPageCache
* Greg Weng (:gregweng)
*** [https://bugzilla.mozilla.org/show_bug.cgi?id=899493 Bug 899493] - Manually swap out anonymous memory of b2g
*** 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.
*** [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 ==
=== 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.
* [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.


= 128MB =
== Team Work ==
<bugzilla>
=== Dashboard ===
{
* [http://standu.ps/project/perf-tw Status Report]
"id": "944659,945166,945161,945152,945174,944224,945185,938470,943254,854795"
* [https://wiki.mozilla.org/TPEPerformance/Dashboard Team Dashboard]
}
* [[TPEPerformance/Ideas|Ideas]]
</bugzilla>
* [[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=2026-01-19 prefix=TPEPerformance/Meetings/ </createbox>

2014
2016
2017