Attendees

  • Mike Hommey - Performance team, Firefox on Android performance
  • Michael Hope - Linaro Toolchain Tech Lead
  • Loïc Minier - Linaro Office of CTO
  • Michael Edwards - Boot 2 Gecko team
  • Zach Pfeffer - Linaro Android Tech Lead

Minutes

  • Mike's toolchain experience
    • LTO doesn't work
    • Tried PGO
    • -O2 and -O3 are slower than -Os
    • Only tried Linaro GCC 4.5, not 4.6 yet; tried upstream 4.7; got ICEs in various cases
  • Mike wrote Elfhack
    • Improve binaries to improve the way relocations are done
    • Faster to relocate and smaller binaries
  • Taras presented results of PGO and Elfhack at Plumbers for browser startup performance on generic linux
    • Kernel folks discussed implementing a compressed binary format
  • Another area of work is to reorder / refactor contents of binaries
  • On the Linaro side, about half of the toolchain team is working on GCC performance
    • Right now, looking at NEON and vectorizer to improve performance
    • Avoiding startup performance work for now; will be in scope later
    • Chosen Spec2k and EMBC as benchmarks, but Firefox is an interesting workload
    • Support PGO, but there might be issues; the benchmarks Linaro runs don't show a lot of benefits to PGO, but it makes sense that Firefox would show them
    • Also interested in looking at debugging tools and other langages like java and javascript
  • Are there performance differences in javascript engines depending on the compiler?
    • Yes, different versions of GCC or different flags change performance
  • Not only interested in CPU cycles consumed, but also number of cache misses etc. to make sure that battery life is not badly impacted
  • NDK planned for 11.10 Linaro release; Bernhard working on this
  • Hard-float?
    • OpenGL will likely remain soft-float for some time
    • Universal binaries?
      • Was discussed early on, but was too much work for the rewards (1 or 2y of engineering for the team); implemented ifunc instead
    • Maybe Mozilla could have universal binaries
  • -Os / -O3
    • Linaro seeing 70% of the performance in -O2 over -Os, so Mozilla's experience that -Os is better is interesting
    • Linaro trying to move people to -O3
    • Would like to see a -Om with custom flags; spec file would be an easier way to go though
  • How is Firefox benchmarked?
    • Mostly on Fedora 12 for linux; some Windows, OSX etc.
    • Tegra boards for Android, but scripts failing a lot
    • Regression tests for layout, rendering etc.
    • Running benchnmarks like V8 or SunSpider over time

    • Talos suite is an internal test to run gecko on top 500 alexa sites
  • Linaro does a lot of toolchain benchmarking on locked down environments; only changing the toolchain across changes
    • Would be interested in integrating Firefox and js engine benchmarks
  • Are the ELF issues specific to ARM?
    • Not specific to ARM but ARM has smaller caches and is hit pretty badly
  • Linaro has a 3-monthly development cycle, and is looking for a theme each cycle
    • PGO or LTO could be a theme for the next cycle
    • Would be interesting to see how the vectorizer and general NEON register pressure impacts performance and cache
  • Better way to select different routines at run time would be welcome (hwcaps a bit coarse grained); things which could help
    • Attributes can be used down to the function level
    • Multiple builds of the same function to output different flavors with different flags (e.g. NEON version of a dct function)
    • PGO
  • Working together?
    • Linaro working 3-monthly, planning at Linaro Connects; next one in Orlando end of October / early November
    • Taras and Michael Edwards working together there
    • Zach would like us to hack on the NDK together at this occasion
    • Linaro interested in exchanging about things which should be worked on in the future
    • Linaro members and management set goals; one way to influence more strongly is to join Linaro or send engineers
    • Mozilla and Linaro setting up high level discussions on this
  • What could Mozilla do for Linaro?
    • Benchmarks high on the radar
    • Good bug reports
    • Detailed specifications of new features
    • Will followup with more concrete things over email

OfficeofCTO/Mozilla/2011-09-13 (last modified 2011-09-14 12:09:49)