Scratch performance – feel the speed!

The Scratch programming language, developed at MIT, has become the cornerstone of computing education at the primary level. Running the Scratch environment well was an early goal for Raspberry Pi. Since early 2013 we’ve been working with Tim Rowledge, Smalltalk hacker extraordinaire. Tim has been beavering away, improving the Scratch codebase and porting it to newer versions of the Squeak virtual machine. Ben Avison chipped in with ARM-optimised versions of Squeak’s graphics operations, and of course we did our bit by releasing two new generations of the Raspberry Pi hardware.

We thought you’d enjoy these two videos. The first shows Andrew Oliver’s Scratch implementation of Pacman running on an Intel Core i5 laptop with “standard” Scratch 1.4. (Yes, that Andrew Oliver. Thanks Andrew!) The second shows the same code running on a Raspberry Pi 3 with Tim’s optimised Scratch. The Raspberry Pi version is roughly twice as fast.

Pacman running on a Macbook i5 under MIT Scratch

A demonstration of how much slower standard Scratch can be than the optimised NuScratch that’s available for Raspberry Pi

PacMan running on Pi 3 under NuScratch

This is “PacMan running on Pi 3 under NuScratch” by raspberrypi on Vimeo, the home for high quality videos and the people who love them.

This is a great example of the sort of attention-to-detail work that we like to focus on, and that can make the difference between a mediocre user experience and the desktop-equivalent experience that we aspire to for Raspberry Pi 3. We think it’s as important to work as hard on improving and incrementing software as it is to do the same with the hardware it runs on. We’ve done similar work with Kodi and Epiphany, and you can expect a lot more of this from us over the next couple of years.