I plan on implementing some client-side hashing (and perhaps encryption) for an application I am building. Using the Stanford Javascript Crypto Library on a desktop takes over a minute to do some of the calculations I’m asking the browser to do in Javascript.
I’m wondering if this is asking too much from mobile browsers like Silk, Mobile Safari, and the others. Apart from testing on most modern smart-phones – is there a general guideline of what is too much for them? Any ratio of how powerful they are to desktop browsers?
This really depends on your target market. I’ve recently bought a HTC One X and installed Mozilla Firefox, and the Chrome Beta…. I’ve tested them both with HTML Canvas based games and it performs surprisingly well.
#1 Benchmark using: http://v8.googlecode.com/svn/data/benchmarks/v7/run.html
Laptop: Dell XPS l502x with i7 2630m, 6 GB RAM. Browser: Google Chrome 18
HTC One X with Quad Core 1.5ghz Tegra 3, 1 GB RAM. Browser: Google Chrome (Mobile) 18
Conclusion 1.
This concludes the general JavaScript performance difference between a high end laptop and high end mobile device is approximately 7 to 8 fold.
#2 Benchmark using: http://bitwiseshiftleft.github.com/sjcl/browserTest/
Laptop: Dell XPS l502x with i7 2630m, 6 GB RAM. Browser: Google Chrome 18
HTC One X with Quad Core 1.5ghz Tegra 3, 1 GB RAM. Browser: Google Chrome (Mobile) 18
Conclusion 2.
This concludes that when using ‘Stanford JavaScript Crypto Library’ the performance difference between a high end laptop and high end mobile device is approximately 4 to 5 fold. Also The time in which these tests took on this mobile device are in my opinion acceptable wait times.