BusyBeaver and the state of near-native code in browsers

Curious how cryptography performs in asm.js vs. Google Native Client? Check it out for yourself: In Firefox, try BusyBeaver in JavaScript . In Chrome, try BusyBeaver in Google Native Client . A description of my path to these examples follows. I was impressed recently with what I read about Google Native Client , which is embedded in Chrome, and Firefox's asm.js and Emscripten . I was further impressed by how I can play Prince of Persia in my browser, and it works via DOSBox inside JavaScript, and it's actually perfectly playable, aside from key lag. :-) I've recently been working on BusyBeaver , a new password hashing, key derivation, and proof of work function. Existing commonly used password hashing approaches suffer from extreme brute forcing susceptibility on hardware as widely available as an AMD GPU. BusyBeaver is my attempt to improve upon PBKDF2 and scrypt in its resistance to optimization via execution on a GPU, FPGA, or most anything other than the i