Running the following in the WebKit console (in Chrome or Safari) takes ~200ms. Running the same code with numbers smaller than 50855, you get what appears to be an approximately linear O(n) running time. (For example, with 1e4 you get ~40ms.)
However, change that to 50856 — just an increment by 1 — and there's a huge jump in the running time (to ~600ms on my 13-inch Al MBP, more like ~2s on an old Debian machine). Thereafter, running time appears to be exponential O(2n): doubling from 50856 to 1e5 yields ~2s on the Mac, which is about a 3.2-fold increase from ~600ms, and doubling again to 2e6 yields a ~10-fold increase. (Note that 3.22 ≈ 10.)
In the Opera Dragonfly and in the Firebug consoles, the running time is pretty clearly quadratic O(n2), as expected (since this splices n times where each splice involves shifting n items in the array).
...what is WebKit doing?
var start = +new Date, a = [];
for(var i = 0; i < 50855; i++)
a[i] = i;
for(var i = 0; i < a.length; i++)
a.splice(i--, 1);
+new Date - start
If you don't feel like using the console: http://jsfiddle.net/CVgSt/ Same behavior, though in WebKit the constant factors are a few times smaller than in the console.