Meego Wiki
Views

ARM/N900/Performance

From MeeGo wiki
< ARM | N900
Revision as of 07:50, 9 June 2011 by Lamikr (Talk | contribs)
Jump to: navigation, search

Contents

DE Performance page

Problems

  • Startup time of applications
  • Startup time of the device
  • Right after the homescreen has loaded, after the first boot, device is unusable for a while
  • Memory use
  • Slow I/O performance 2-20x slower than Maemo5 on N900
  • UI scrolling freezes for 1-2s from time to time

Benchmark results

  • Results from Q/A http://wiki.meego.com/ARM/N900/QA/Performance
  • Different class SD card benchmarking
    • SDcard benchmarking 060611.jpg
    • Used image 05-30.1 acceptance image
    • With class 10 card image worked really unstable. Measurements were got after several tries.
    • Current class10 measurements are not comparable but give somekind of direction
  • SunSpider (JavaScript performance
    • 6.1s with GPE MiniBrowser (image DE.2011-05-30 acceptance)
    • 6.8s with Fennec (image DE.2011-05-30 acceptance)
    • These are actually pretty good results. Indicates that raw CPU perfomance is ok.
  • widgetsgallery -timedemo -log-fps
Page name                    StaticPageBenchmark (0)  PanningBenchmark (0)  RotationBenchmark (90)  StaticPageBenchmark (90)  PanningBenchmark (90)  RotationBenchmark (0)  
ApplicationMenu                 48fps | 2988ms                 n/a | n/a             25fps |  557ms          53fps | 2984ms                   n/a | n/a             29fps |  578ms      
DisplayModes                    55fps | 2989ms           54fps |  421ms        40fps |  574ms          53fps | 2983ms                   n/a | n/a             47fps |  546ms      
ToolBar                         51fps | 2972ms           41fps |  503ms        34fps |  602ms          55fps | 2998ms            46fps |  298ms         20fps |  250ms      
CustomNavigationBar             53fps | 2989ms                 n/a | n/a             46fps |  579ms          54fps | 2980ms                   n/a | n/a             52fps |  572ms      
Label                           50fps | 3157ms           45fps |   87ms               n/a | n/a              54fps | 2989ms                   n/a | n/a             40fps |  573ms      
Image                           55fps | 2996ms           55fps |  379ms               n/a | n/a              52fps | 2989ms            54fps |  129ms          7fps |  139ms       
ProgressBar                     49fps | 2981ms                 n/a | n/a             34fps |  644ms          54fps | 2973ms                   n/a | n/a             36fps |  627ms      
Spinner                         52fps | 2989ms                 n/a | n/a                    n/a | n/a              53fps | 2989ms                   n/a | n/a             27fps |  436ms       
PushButton                      48fps | 2982ms           45fps | 3427ms        28fps |  671ms          47fps | 2985ms            44fps | 4521ms                n/a | n/a          
IconButton                      52fps | 2991ms                 n/a | n/a             35fps |  674ms          54fps | 2989ms                   n/a | n/a             38fps |  621ms      
Switch                          54fps | 2989ms                 n/a | n/a             31fps |  694ms          54fps | 2991ms                   n/a | n/a             28fps |  657ms      
Checkbox                        52fps | 2989ms                 n/a | n/a             30fps |  780ms          54fps | 2997ms                   n/a | n/a             38fps |  649ms      
ButtonGroup                     53fps | 3005ms           27fps |  323ms               n/a | n/a              50fps | 2988ms            52fps |  491ms                n/a | n/a          
SingleSelectionDialogsPage      56fps | 2998ms           46fps |  345ms               n/a | n/a              53fps | 3004ms                   n/a | n/a             42fps |  654ms      
QueryDialogsPage                50fps | 2997ms                 n/a | n/a             35fps |  696ms          53fps | 2987ms                   n/a | n/a             36fps |  655ms      
SheetsPage                      54fps | 2988ms           59fps |  151ms               n/a | n/a              55fps | 2982ms                   n/a | n/a             40fps |  666ms      
BannersPage                     51fps | 2996ms                 n/a | n/a             37fps |  740ms          54fps | 3000ms                   n/a | n/a             38fps |  671ms      
NotificationsPage               54fps | 2994ms                 n/a | n/a             35fps |  733ms          55fps | 3000ms                   n/a | n/a             39fps |  678ms      
List                            54fps | 2989ms           53fps |20539ms         2fps |  485ms          56fps | 2973ms            51fps |19630ms                n/a | n/a          
Grid                            16fps | 2961ms           48fps | 2777ms        16fps | 1016ms          42fps | 3147ms            48fps | 3252ms                n/a | n/a          
ObjectMenu                      44fps | 2988ms           52fps |  248ms               n/a | n/a              54fps | 2991ms            55fps |  181ms                n/a | n/a          
ComboBox                        52fps | 2946ms                 n/a | n/a             25fps |  856ms          53fps | 2984ms                   n/a | n/a             30fps |  784ms      
ContentItems                    55fps | 2987ms           39fps | 4197ms               n/a | n/a              54fps | 2988ms            29fps | 3483ms          7fps |  407ms      
SpeechBubble                    52fps | 2986ms           47fps | 3842ms               n/a | n/a              51fps | 2989ms            29fps | 3906ms                n/a | n/a          
TextEntry                       54fps | 2988ms           43fps | 3209ms               n/a | n/a              52fps | 2988ms            35fps | 2541ms                n/a | n/a          
TextEntryNavigation             53fps | 2989ms                 n/a | n/a             18fps |  912ms          50fps | 2982ms                   n/a | n/a             22fps |  794ms      
TextEntryAttributeExtension     54fps | 2988ms           41fps |  192ms               n/a | n/a              53fps | 2988ms                   n/a | n/a             19fps |  860ms      
Slider                          54fps | 2997ms           37fps |  404ms               n/a | n/a              53fps | 2989ms                   n/a | n/a             18fps |  865ms      
InputFeedback                   52fps | 2988ms           55fps |   90ms        19fps |  902ms          40fps | 2988ms            43fps |   69ms                n/a | n/a          
Information Display             53fps | 3001ms           26fps |  188ms        24fps |  930ms          54fps | 2999ms                   n/a | n/a             28fps |  857ms      
Take a screenshot               49fps | 3217ms                 n/a | n/a             23fps | 1028ms          55fps | 2978ms                   n/a | n/a             26fps |  893ms
    • Conclusion: Graphis performance seems to be ok
  • processes eating more than 2000kb of memory (2010-06-08)
    • (ps -e -orss=,args= | sort -b -k1,1n | pr -TW100)
 2016 /usr/sbin/ofonod
 2228 /usr/sbin/connmand -W nl80211,wext
 2400 uxlaunch
 2616 /sbin/mce -d
 2624 /usr/libexec/upowerd
 2952 /usr/sbin/dsme -p /usr/lib/dsme/libstartup.so
 3084 /usr/libexec/mission-control-5
 3440 /usr/bin/meego-volume-control
 3616 /usr/sbin/sensord -c=/etc/sensorfw/sensord-rx_51.conf -d --log-target=4 --log-file-path=/var/l
 3900 /usr/bin/timed
 3984 /usr/lib/tumbler-1/tumblerd
 4084 /usr/bin/pulseaudio --start -n --file=/etc/pulse/arm_nokia_rx_51_board.pa
 4564 /usr/sbin/ohmd
 7172 /usr/libexec/tracker-miner-fs
 7460 /usr/bin/applifed
12384 /usr/bin/applauncherd.bin                                                   
14160 /usr/libexec/tracker-store
14524 /usr/bin/messageserver
16568 /usr/bin/Xorg :0 -dpi 120 -nolisten tcp -noreset -auth /home/meego/.Xauthority -nocursor vt2
20108 /usr/bin/mthemedaemon
21676 /usr/bin/mcompositor
26820 /usr/bin/meego-im-uiserver -remote-theme
27344 booster-m
27852 /usr/bin/mdecorator -software -remote-theme
32620 /usr/bin/sysuid -remote-theme
33172 /usr/bin/meegotouchhome -remote-theme
38544 /usr/bin/dialer -prestart

  • Conclusion: meego-volume-control went down from 26000 kb to 3440 thanks for the qml ripout
  • Can we reduce the mem usage of processes like sysuid, mdecorator, mthemedaemon
  • Is booster-m really improving our performance as it takes itself a lot of from our memory that we do not have any extra without swapping?
    • by removing the applauncherd (process starting booster-m) and tracker-store and delaying the dialer ui (40000 kb) launch by 30 second, bootup time will improved from 72 second to 59.

Improvement ideas

  • optimizing MTF packages, there might be some configuration options, etc.?
  • ramzswap trial
  • CGROUPS optimization, most likely still not done
  • eMMC performance investigation, maemo is 2-20x faster? see bug #18295
  • last resort type of thing: taking NAND to use as swap (and destroying maemo installation)
  • adjust stack sizes
  • lower GLES ParamBuffer size
  • Remove unused applifed processes.
  • Merge meego-volume-control to systemui
  • cache some often used data in NAND and symlink there
  • tracker configuration
  • tracker to preindex filesystem to improve first boot. see bug #18759
  • test overclock with known testing (from qa-tools guys perhaps)
  • real microsdhc tests based on class speed rating
    • actually answer specific questions about how write/read speed effect perf
      • app startup times
      • general usage
      • media write times
      • cataloguing media
  • Swap on memory card (probably will not help if the os is on the card also, otherwise might)
  • Reduce the list of autostarted apps.

TODO list

  • Profile startup of simple MTF, QML, and Qt apps
  • Profile memory use of simple MTF, QML, and Qt apps
  • Investigate configuration options for MTF
  • Investigate configuration options for Qt
  • Investigate configuration options for QML
  • Update MTF (libmeegotouch, mcompositor, home, system ui, etc. ) to get latest optimizations from upstream
  • Update Qt

Issues being worked on

Tools

Personal tools