Smaller bars are better.
Update: The previous graphs came out unintentionally misleading as I tried to resize them to fit my blog. Corrected (thanks Hasan), click to see it full size.
I compared WebKit’s new SquirrelFish bytecode JavaScript interpreter against Tamarin, the JIT JavaScript engine currently in Flash 9 and in development for Firefox.
On the SunSpider JavaScript benchmark, SquirrelFish is at least 1.9 times faster than Tamarin with tracing turned on; 1.8 times faster than vanilla Tamarin, the same engine used in Flash 9. When you add type annotations to Tamarin (SquirrelFish doesn’t support them), Tamarin gets a little faster, but is still slower than SquirrelFish on these benchmarks.
Keep in mind, SquirrelFish’s reported times include source compilation, while Tamarin is executing pre-compiled bytecode outside the test.
Notes on my tests: Running SunSpider, tamarin-tracing, tamarin-central, and SquirrelFish all pulled from source on 2008-06-02. I ran the test on a 2.4 Ghz iMac. Raw numbers from the comparison runs are available here.
To reproduce these tests, build WebKit, build tamarin-tracing and tamarin-central from Mozilla.org, and install the Flex SDK for a bytecode compiler. Then,
DYLD_FRAMEWORK_PATH="~/jsbench/WebKit/WebKitBuild/Release"
ASC="~/jsbench/asc.jar"
GLOBALABC="~/jsbench/tamarin-tracing/core/builtin_full.abc"
function getTimer() { return new Date(); }
#!/bin/sh
~/jsbench/WebKit/WebKitBuild/Release/testkjs -f ~/jsbench/timer.js -f `echo $1 | sed s/abc/as/`
./runtests.py --avm ~/research/jsbench/jscore --avm2 ~/research/jsbench/tracing-avmshell
./runtests.py --avm ~/research/jsbench/jscore --avm2 ~/research/jsbench/central-avmshell
Technorati Tags: SquirrelFish, Tamarin, WebKit, Flash, ActionScript, JavaScript
]]>According to the SimpleDB team, SimpleDB is built on top of Erlang. One of the developers, Jim Larson and I worked together at Sendmail, and he was part of a team doing some amazing stuff with an Erlang message store way back in 2000.
While you don’t need to know Erlang to use SimpleDB, many people have visited here interested in its Erlang roots. If you are interested in learning Erlang, I can recommend Programming Erlang, written by Erlang’s creator - the best introduction you can find. I’ve associate-linked to it on Amazon; just for a little meta-fun.
I also wrote a very basic Python module for SimpleDB to handle the XML and REST stuff (too bad it’s not JSON, at least for now), which I’ll release as soon as I figure out how much of the NDA is now lifted. There are a few floating around, so it shouldn’t be too long before they appear publicly.
Technorati Tags: Amazon SimpleDB, SimpleDB, Amazon, Erlang, Databases
]]>… in fact we’re showing on the Mac platform, the PC, the PS3, and the 360, the same data running. We’re going to be demoing this at E3, as well as our QuakeCon in August and I expect actually to have another Mac related announcement to make at that time which we can’t quite go into right now…
What could that announcement be? All of id Software’s titles have been ported to OS X already … could this be a port to a new forthcoming Apple console? (might this be Apple TV?) Or perhaps an original mobile game title or port for the iPhone?
We shall see.
Technorati Tags: Games, id Software, John Carmack, iPhone, Mac, Apple TV, Apple
]]>As I wrote about earlier this month, and this year, this is how you do it. It’s standards based, it’s pretty, and it’s the future.
Apple announced their iPhone extensions, there’s lots of integration points to make web apps first class on iPhone. Here are a few things you can do:
All of the web developers on the planet just became iPhone developers. Ladies and gentlemen, here comes the Mobile Internet Revolution.
]]>For developers, the biggest thing about iPhone is that Apple has reinvented the mobile application platform. This isn’t mobile Flash, mobile Java, or even the mobile Web. It’s the real Web, the real deal.
The iPhone truly puts the Internet in your pocket. That’s huge. The Internet, the craziest, most amazing, important platform of our time is now on your phone. With a first class Web platform.
iPhone’s first 3rd party applications will be Internet services with web application or Dashboard user experiences. Apple’s will probably publish a few simple extensions; stuff to work with Multi-Touch high resolution, perhaps some offline support.
But remember, this is just the beginning:
Steve: What I’m saying is, I think the marriage of some really great client apps with some really great cloud services is incredibly powerful and right now, can be way more powerful than just having a browser on the client.
– Steve Jobs at D5
So until WWDC, you can find an iPhone SDK Developer Preview here.
</fanboy>
Update: I think people are also realizing what the implications of all this are. Mike Arrington @ TechCrunch put it very succinctly in that mobiles and desktops will stop living separate lives when iPhone (and its clones) arrives and changes the game completely.
Update #2: It’s official.
Technorati Tags: iPhone, Apple, Browsers, Platform, WWDC, Internet, Web, D5
]]>Today, my friend Rand Wacker revived a great post about browsers as the ultimate application platform. At a high level, I agree with him, but the reason why we’re not seeing more “multi-platform” applications is that right now, for many companies, the web browser application platform presents the best choice.
Desktop and mobile applications are very expensive to develop and are extremely difficult to build at an Internet pace on today’s platforms. Mobile frameworks like WebKit and desktop frameworks like Apollo and WPF are trying to correct this, but it’s not an easy problem to solve, and hasn’t been solved right yet.
In my career, I’ve had the pleasure to work on mobile apps, mobile browsers, mobile web apps, desktop web apps, desktop Windows + OS X apps, Flash widgets, RIA frameworks and RIAs at FilmLoop and Openwave. So based on those experiences, I present you with:
Now for a disclaimer. This isn’t the whole picture. It’s just one piece — the visual user experience. It seems to be the one that the hyped up platforms seems to be addressing first… whizzy graphics and video. Important things are being ignored: machine learning; data mining; decent search facilities; robust multi-directional sync (have you read about RSS-SSE and Unison?)
Written using TextMate. ;-)
Technorati Tags: Browsers, WPF, Apollo, Applications, Platform, iPhone, Graphics, Video
]]>Briefly, the FaceBook Platform extends the existing FaceBook API with:
I’ll post later why you might think of this as “Windows 1.0 with deep social network integration”, and all the dangers and excitement that goes with it, but for now… you can read all the fun details and try out some FBML here: (until the main Developers page is updated).
More coverage:
Facebook Launches Facebook Platform; They are the Anti-MySpace
Technorati Tags: FaceBook, FBML, APIs, Development, Mash-ups, Operating Systems
]]>Didn’t see it? See here: Digg.
Little easter eggs were mixed in that people found, namely:
WTF? Why? How?
Thanks for the great comments, I hope you had a good laugh and it wasn’t too annoying. ;-)
Technorati Tags: iPhone, Apple, April Fools
]]>Wow. I was surfing Scribd this morning for some code snippets and I happened upon this thing. It looks like a high level block diagram of the OS X that’s running in the iPhone. I’m not sure how much you can tell from this picture about what’s going on, though.
]]>So here’s the thing. Last year, Google open sourced the Skia vector graphics engine and placed the code up on Google Code under an Apache license. I heard about it through the grapevine (not from Mike) and downloaded a copy to take a peek. Shortly thereafter, the code disappeared.
So here’s the general dilemma I pose to our virtual community:
And remember, don’t be evil! :-)
[Update #1] It seems that not many people know what the Skia engine is capable of. Skia built a vector graphics renderer core very similar to the one that Openwave Mobile Phone Suite V7 uses. (Mike built both, and I worked for him at Openwave) Skia is capable of full Java2D or PostScript (group opacity, bezier curve paths and clipping, kickass type rendering, gradients, filters) on typical “feature phone” hardware (average clocked ARM9ish processor, decent memory bandwidth) with a ~300K footprint. It’s like OS X’s Core Graphics, without the GPU rendering.
[Update #2] Simeon Simeonov, Engadget and CrunchGear all have follow on stories.
[Update #3] An interesting twist / pickle emerges: When I looked through the source archive this morning, I found that the actual Apache license is not included with the source code. It was only published on the Google Code web site! Not only that, but no copyright information exists or even authorship is in the codebase. So what now? I definitely need to speak to a IP lawyer.
[Update #4] According to a few authoritative sources, source code with an Apache license cannot be revoked once published. Source code without an accompanying license isn’t as clear cut a case and is still being examined.
[Update #5] I’ve decided not to release the source code at present, not for legal issues, but as a favor. I’m confident that this source code situation will, however, be resolved at some point by Google. :-)
Technorati Tags: Google, Skia, vector graphics, open source, graphics, legal
]]>