Main menu:

Site search

Categories

Archive

Archive for 'Uncategorized'

TraceMonkey@PLDI

Last fall, we submitted a paper on TraceMonkey to PLDI (officially: ACM SIGPLAN Conference on Programming Language Design and Implementation), one of the top conferences for programming language research. Our paper was accepted, and Andreas Gal will be presenting the paper on June 18 in Dublin, Ireland. We’re hosting a PDF copy on the blog. [...]

OSQ: the next 5 languages for the web

In the evening at the OSQ retreat, we had some informal discussions about new scripting language designs and languages for mobile devices. The starting points for these discussions were (a) that scripting language programmers will soon want to use parallelism, and (b) that mobile devices will have uniprocessor performance at least 12x slower than laptops [...]

OSQ: Dynamic language optimization

Random bits from the second half of yesterday’s OSQ events: Bill McCloskey gave a quick talk on his experience doing some optimizations to Python. (From a VM optimizer’s point of view, Python and JS are very similar.) He had previously used whole-program type inference to drive a translation to C, and in this way got [...]

Berkeley OSQ Retreat

I’m at the Berkeley OSQ (Open Source Quality project) Retreat in Santa Cruz right now representing Mozilla. It’s an annual event where professors and grad students present their latest research results and ideas. There’s a lot of good stuff here, so I’m just going to blog about a few things that seem particularly relevant to [...]

Google Summer of Code: Rodrigo Sol

A little while ago, Rodrigo Sol at the Federal University of Minas Gerais submitted a Google Summer of Code proposal to create a new register allocator for TraceMonkey. I’m pleased to announce his proposal was accepted! Rodrigo’s project idea is to implement Register Allocation By Puzzle Solving, a paper in PLDI 2008 by his advisor, [...]

TraceVis: performance visualization for TraceMonkey

I’ve been working on a visualization of TraceMonkey performance, with the goal of revealing what the JS VM is doing, and why it runs certain programs fast or slow, so we can figure out how to make the slow ones fast too. In this post, I want to show off the results and explain how [...]

SunSpider Statistics, Part II

In my last post, I laid out some questions I wanted to answer. I decided to tackle these questions empirically, by running SunSpider 100 times with –runs=10, for a total of 1000 test suite runs, and then see if SunSpider’s confidence intervals and tests come out as predicted. Empirical methods are nice because you can [...]

SunSpider Statistics, Part I: Questions

The TraceMonkey project uses SunSpider regularly to measure JavaScript performance. The problem is that the results are often hard to interpret. Is an 11 ms improvement a real speedup or just random? We all have our intuitions about how to use the numbers, but I wanted to try a little statistics on the problem. The [...]

Seven things you may not know about me

I’ve been tagged by bsmedberg: Rules Link back to your original tagger and list the rules in your post. Share seven facts about yourself. Tag some (seven?) people by leaving names and links to their blogs. Let them know they’ve been tagged. Seven Things I hail from the frozen tundra of Wisconsin, where the current [...]

A History of Insanity in the Age of x86

It’s been a long time since i’ve blogged–I’ve been pretty deep in coding mode. But bug 471822 has been fixed, and it’s time to celebrate with a post. Bug 471822 is a TraceMonkey performance regression on SunSpider of about 70 ms or so that Andreas Gal noticed recently. And it was worse than a simple [...]