Identity/AttachedServices/Key Stretching Performance Tests: Difference between revisions

convert to secs/op
No edit summary
(convert to secs/op)
Line 2: Line 2:
|+ Test Results (in seconds per operation)
|+ Test Results (in seconds per operation)
|-
|-
! Browser / Test !! Firefox 23 Desktop !! Google Chrome 28 !! Firefox Android Beta 24 !! Firefox OS !! Android WebView !! Android + OpenSSL
! Browser / Test !! Firefox 23 Desktop (MBP) !! Google Chrome 28 (MBP) !! Firefox Android Beta 24 (Nexus4) !! Firefox OS (Keon) !! Android WebView (Nexus4) !! Android + OpenSSL
|-
|-
! [1] 20k PBKDF2-SHA256
! [1] 20k PBKDF2-SHA256
Line 16: Line 16:
|-
|-
! [4] 20kPBKDF + emscripten(scrypt(64k,8,1)) + 20kPBKDF
! [4] 20kPBKDF + emscripten(scrypt(64k,8,1)) + 20kPBKDF
| 0.28 ops/sec ±26.77% (6 runs sampled) || 0.31 ops/sec ±1.46% (6 runs sampled) || 0.05 ops/sec ±25.20% (5 runs sampled) || <span style='font-size:43px'>&#9760;</span>  || 0.03 ops/sec ±2.86% (5 runs sampled)  || --
| 3.6s (0.28 ops/sec ±26.77%, 6 runs sampled) || 3.2s (0.31 ops/sec ±1.46%, 6 runs sampled) || 20s (0.05 ops/sec ±25.20%, 5 runs sampled) || <span style='font-size:43px'>&#9760;</span>  || 33s (0.03 ops/sec ±2.86%, 5 runs sampled)  || --
|-
|-
|}
|}
Line 35: Line 35:
* "ops/sec" stands for operations per second. That is how many times a test is projected to execute in a second.
* "ops/sec" stands for operations per second. That is how many times a test is projected to execute in a second.
* A test is repeatedly executed until it reaches the minimum time needed to get a percentage uncertainty for the measurement of less than or equal to 1%. The number of iterations will vary depending on the resolution of the environment’s timer and how many times a test can execute in the minimum run time. We collect completed test runs for 5 seconds (configurable), or at least 5 runs (also configurable), and then perform statistical analysis on the sample. So, a test may be repeated 100,000 times in 50 ms (the minimum run time for most environments), and then repeated 100 times more (5 seconds). A larger sample size (in this example, 100), leads to a smaller margin of error.
* A test is repeatedly executed until it reaches the minimum time needed to get a percentage uncertainty for the measurement of less than or equal to 1%. The number of iterations will vary depending on the resolution of the environment’s timer and how many times a test can execute in the minimum run time. We collect completed test runs for 5 seconds (configurable), or at least 5 runs (also configurable), and then perform statistical analysis on the sample. So, a test may be repeated 100,000 times in 50 ms (the minimum run time for most environments), and then repeated 100 times more (5 seconds). A larger sample size (in this example, 100), leads to a smaller margin of error.
* benchmark.js returns ops/sec, rounded to hundredths. This number was inverted to obtain secs/op, losing precision in the process.


'''Hardware Used'''
'''Hardware Used'''
Confirmed users
471

edits