Crash My Browser

(This won't actually crash your browser just yet, it will just display a warning, and then you get a list of tests, and then another warning...)

Why would anyone bother to make a site like this? What's the point?

It started as a joke with some friends, but there's a serious, practical aspect to it, too.

Browser developers can be commended for putting a lot of effort into making web browsers faster, more feature-rich, more extensible, and more reliable, but there are some architectural problems with the way browsers handle Javascript. Those problems have only gotten worse.

The various "tests" here aren't intended to demonstrate specific bugs in the browsers. The tests all share a common theme: they all demand ludicrous, crippling resources from the browsers. The browsers are happy to provide, until it brings the browser crashing down. Sometimes, the browser might even take the rest of the operating system with it.

There are a couple of things that are very overdue in many web browsers: tab, window, and process isolation, and reasonable resource constraints. A single misbehaving tab should not be able to render the entire browser unusable, and there's no reason for the browser to happily provide more than 1 gig of memory to any page that asks for it.

Javascript is a powerful language, and it's easy to learn. The great thing about that is that anyone can learn to build rich, interactive websites using Javascript -- and popular frameworks like jQuery make this easier all the time. The unfortunate thing about that is that it doesn't require website developers to know anything about garbage collection, heap management, circular references, memory leaks, recursive functions, or closures.

It's very easy for website developers to write code which can gradually degrade browser performance while the page is open in a tab. In some browsers -- like current versions of Firefox -- the degraded performance might even last after the tab has been closed.

The web browser's job is not just to display websites to users, it's also partly to act as a good steward and guardian for the user. Web browsers must protect their users not just from truly malicious sites, but also from sites which have been designed poorly and threaten to add to the users' technological headaches.

The tests here are intended to emulate real-world conditions and cases; they've just been "turned up" so that the problems they cause are immediately noticeable.