Tamarin:WeeklyUpdates: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 14: Line 14:
== Attendees ==
== Attendees ==


* Steven
* Edwin
* Edwin
* Graydon
* Graydon
Line 20: Line 19:
* Tom
* Tom
* Moh
* Moh
* Shengnan
* Marsha
* Marsha
* Scott
* Brent
* Erik
* Rick
* Jeff
== Action Items ==
* '''ACTION:''' moh will look at GCbench test and suggest some optimizations.
* '''ACTION:''' tom will see if he can find additional GC/memset tests to recommend to moh and post to test directory.  maybe GCheap?
* '''ACTION:''' graydon will investigate Google "Summer of Code" agenda


== Updates ==
== Updates ==
'''Moh (Vtune)'''
'''Moh (Vtune)'''
* code now works fine despite short period of being broken
* hot loops investigation:
* uploaded installation and configuration guide on wiki
** testsinglebyte function in stringobject.cpp creates a loop that is causing slow-down
* is there an area of performance where we'd like Moh's team to focus? 
** shingha has submitted patch for this, which needs to be approved.  looks like performance has improved by 50% already.
** edwin: interpreter
* rick asks: what are you seeing with memset?
** ACTION: Moh will look into some hot loops (not readu30) and provide additional information
** moh can have intel look at places where memset appears to be used a lot.
*** is this loop related to double-byte characters not being processed efficiently? Steven would need more details to confirm.
** per tom, flash player zeroes memory during initialization.  if we can improve zeroing time, it improves pause times.
 
** '''ACTION:''' moh will look at GCbench test and suggest some optimizations.
'''Marsha'''
** '''ACTION:''' tom will see if he can find additional GC/memset tests to recommend to moh and post to test directory. maybe GCheap?
* there are other performance tools available. could other tools be useful?
** moh saw "fastzero" in tamarin-tracing but hasn't had a chance to investigate yet.
** we're most interested in tuning the interpreter and the generated code.
** great places for memory clearing optimizations:
** speed is a bigger issue than memory footprint for the interpreter
*** GCheap when zeroing a block
** what are the upper bounds of footprint? we are targeting:
*** GC alloc when zeroing a non-RC object
*** memory: 128K RAM
** freeitem in GCalloc.cpp: RC objects need to be zeroed manually.  non-RC objects are zeroed automatically by memset.  
*** code: 100K
** GCheap also includes some memset.
 
* moh asks: on tamarin-central, testsinglebyte slow-down does not appear.  why?
'''Edwin (Tamarin-tracing)'''
** UTF-8 is used in tamarin-tracing, which causes VM to search variable-length strings.
* Steven is continuing to work on bugs
* Edwin is working on tracetree algorithm, which uses interpreter.cpp
'''Jeff'''
* There has been a lot of work on the spec, which is part of why there hasn't been a lot of development recently.
* still working on ECMAScript 4 spec.
 
* chris peyer is automating the spidermonkey test running ESC on tamarin-central.
** 96% pass rate initially, so looking good!
** lars is fixing the biggest bugs
** eval references would have to be removed to run in AS3, so we're not doing that.
** chris will post automated tests to buildbot when done.
'''Tom'''
* noticed that some mozilla folks are participating in google's "summer of code" -- would be cool to get some tamarin stuff on the agenda.
* '''ACTION:''' graydon will investigate
'''Graydon'''
'''Graydon'''
* posted updates to mini-tracing patch
* further investigation of mini-tracing
** still slightly crashy but can run about half of the sunspider cases now -- getting better!
** running acceptance tests and will post patch this afternoon if all goes well
* ACTION: Edwin will add an updated tracetree patch to bugzilla later this week (txt patch is fine)
** mini-tracing is about 1.5 times faster than doing nothing at all.  superwords is a little slower than mini-tracing but a little faster than doing nothing at all.
* Steven suggests rebuilding with superwords turned off; this might inprove things.
** need to define how much code is needed to generate how much speed-up.  is it worth it?
 
** would be great to have more diverse benchmarks, as it's hard to tell what's noise when performance results are so close.
'''Jennifer'''
*** flex apps? 
* one of the program managers from the flash player team (me or Scott Unterberg) will start attending these meetings
*** a version of flash that loads tamarin-tracing dynamically?
* let us know how we can help!
*** if we can get ESC running, we can find testing content from the internet (gmail, etc)
*** these are all a lot of work.
*** run ESC on tamarin-tracing -- easier than the aforementioned ideas. 
*** JSbench tests
*** set loop threshold higher





Revision as of 22:12, 18 March 2008

These updates concern Tamarin and related projects only.

Meeting Details

  • 2:00pm Pacific Time (21:00 UTC) on Tuesdays
    • (5PM Eastern US, 11PM Oslo, 6AM (Wed) Seoul, 7AM (Wed) Melbourne)
  • Location: Tel: 866 705 2554 (us), 913 227 1201 (int’l)
    • Passcode: 9140087
  • Duration: 60 minutes
  • join irc.mozilla.org #tamarin for attendence taking and questions

11th March 2008

Attendees

  • Edwin
  • Graydon
  • Jennifer
  • Tom
  • Moh
  • Shengnan
  • Marsha
  • Scott
  • Brent
  • Erik
  • Rick
  • Jeff


Action Items

  • ACTION: moh will look at GCbench test and suggest some optimizations.
  • ACTION: tom will see if he can find additional GC/memset tests to recommend to moh and post to test directory. maybe GCheap?
  • ACTION: graydon will investigate Google "Summer of Code" agenda

Updates

Moh (Vtune)

  • hot loops investigation:
    • testsinglebyte function in stringobject.cpp creates a loop that is causing slow-down
    • shingha has submitted patch for this, which needs to be approved. looks like performance has improved by 50% already.
  • rick asks: what are you seeing with memset?
    • moh can have intel look at places where memset appears to be used a lot.
    • per tom, flash player zeroes memory during initialization. if we can improve zeroing time, it improves pause times.
    • ACTION: moh will look at GCbench test and suggest some optimizations.
    • ACTION: tom will see if he can find additional GC/memset tests to recommend to moh and post to test directory. maybe GCheap?
    • moh saw "fastzero" in tamarin-tracing but hasn't had a chance to investigate yet.
    • great places for memory clearing optimizations:
      • GCheap when zeroing a block
      • GC alloc when zeroing a non-RC object
    • freeitem in GCalloc.cpp: RC objects need to be zeroed manually. non-RC objects are zeroed automatically by memset.
    • GCheap also includes some memset.
  • moh asks: on tamarin-central, testsinglebyte slow-down does not appear. why?
    • UTF-8 is used in tamarin-tracing, which causes VM to search variable-length strings.

Jeff

  • still working on ECMAScript 4 spec.
  • chris peyer is automating the spidermonkey test running ESC on tamarin-central.
    • 96% pass rate initially, so looking good!
    • lars is fixing the biggest bugs
    • eval references would have to be removed to run in AS3, so we're not doing that.
    • chris will post automated tests to buildbot when done.

Tom

  • noticed that some mozilla folks are participating in google's "summer of code" -- would be cool to get some tamarin stuff on the agenda.
  • ACTION: graydon will investigate

Graydon

  • further investigation of mini-tracing
    • running acceptance tests and will post patch this afternoon if all goes well
    • mini-tracing is about 1.5 times faster than doing nothing at all. superwords is a little slower than mini-tracing but a little faster than doing nothing at all.
    • need to define how much code is needed to generate how much speed-up. is it worth it?
    • would be great to have more diverse benchmarks, as it's hard to tell what's noise when performance results are so close.
      • flex apps?
      • a version of flash that loads tamarin-tracing dynamically?
      • if we can get ESC running, we can find testing content from the internet (gmail, etc)
      • these are all a lot of work.
      • run ESC on tamarin-tracing -- easier than the aforementioned ideas.
      • JSbench tests
      • set loop threshold higher


Older meetings