Skip to content

Benchmark

Patrick Favre-Bulle edited this page Jul 19, 2018 · 31 revisions

Bcrypt Performance Micro Benchmark Comparison

The timing values are for a single bcrypt hash in milliseconds. Until cost 11, 250 rounds are calculated per implementation, from there on up the rounds are halved, beginning with cost 12 using 200, cost 14 50 rounds, etc.

PC/x86

Surface Pro 4

  • Hardware: i5-6300U, 8GB Ram
  • Software: Java 1.8.0_172 (Oracle Corporation), Windows 10 (10.0)
  • Tool-Version: 0.4.0
cost 6 cost 8 cost 9 cost 10 cost 11 cost 12 cost 14 cost 15
FavreBcrypt 7.08 ms 26.15 ms 51.47 ms 105.71 ms 275.55 ms 557.4 ms 1590.68 ms 3029.48 ms
JBcrypt 6.88 ms 28.24 ms 54.84 ms 106.8 ms 300.18 ms 389.31 ms 2038.58 ms 3246.88 ms
BC 6.38 ms 24.67 ms 49.58 ms 94.81 ms 283.87 ms 350.12 ms 1398.12 ms 2785.76 ms

Desktop i7-7700K

  • Hardware: i7-7700K, 24GB Ram
  • Software: Java 1.8.0_172 (Oracle Corporation), Windows 10 (10.0)
  • Tool-Version: 0.4.0 (250 rounds max)
cost 6 cost 8 cost 9 cost 10 cost 11 cost 12 cost 14 cost 15
FavreBcrypt 3.39 ms 13.57 ms 27.19 ms 55.08 ms 110.14 ms 217.71 ms 865.1 ms 1733.96 ms
JBcrypt 3.42 ms 13.8 ms 27.78 ms 56.31 ms 110.65 ms 221.6 ms 881.0 ms 1759.64 ms
BC 3.12 ms 12.51 ms 26.0 ms 50.59 ms 100.82 ms 203.43 ms 799.86 ms 1601.0 ms

Notebook Lenovo T460p

  • Hardware: i5-6440HQ, 32GB Ram
  • Software: Java 1.8.0_172 (Oracle Corporation), Windows 10 (10.0)
  • Tool-Version: 0.4.0 (250 rounds max)
cost 6 cost 8 cost 9 cost 10 cost 11 cost 12 cost 14 cost 15
FavreBcrypt 5.74 ms 21.56 ms 43.78 ms 78.54 ms 156.92 ms 311.9 ms 1250.94 ms 2529.56 ms
BC 5.13 ms 24.22 ms 37.14 ms 73.43 ms 147.87 ms 293.07 ms 1178.74 ms 2347.36 ms
JBcrypt 5.63 ms 48.62 ms 40.54 ms 80.44 ms 159.84 ms 320.58 ms 1288.32 ms 2563.68 ms

Android

Samsung Galaxy S8+

  • Hardware: SM-G955F, 64GB
  • Software: SDK 26, G955FXXU2CRF7, R16NW
  • Tool-Version: 0.4.0 (250 rounds max)
cost 6 cost 8 cost 9 cost 10 cost 11 cost 12 cost 14 cost 15
FavreBcrypt 8.04 ms 28.52 ms 55.72 ms 110.18 ms 219.75 ms 438.69 ms 1760.12 ms 3538.72 ms
JBcrypt 7.92 ms 29.43 ms 58.01 ms 115.51 ms 231.14 ms 462.24 ms 1856.24 ms 4037.4 ms
BC 10.06 ms 37.38 ms 76.74 ms 152.87 ms 300.66 ms 600.19 ms 2427.3 ms 4793.96 ms

Samsung Note 8

  • Hardware: SM-N950F
  • Software: SDK 25, N950FXXS3BRB2, NMF26X, Linux (4.4.13-12472670)
  • Tool-Version: 0.4.0 (250 rounds max)
cost 6 cost 8 cost 9 cost 10 cost 11 cost 12 cost 14 cost 15
FavreBcrypt 7.7 ms 28.67 ms 56.69 ms 112.75 ms 224.94 ms 449.4 ms 1796.44 ms 3594.04 ms
JBcrypt 7.71 ms 29.16 ms 57.78 ms 115.0 ms 229.52 ms 458.34 ms 1834.66 ms 3670.52 ms
BC 9.3 ms 35.57 ms 70.58 ms 140.66 ms 280.91 ms 560.98 ms 2245.72 ms 4504.68 ms

Pixel 2

  • Hardware: walleye
  • Software: Android P DP4, PP4.180612.004, Linux (4.4.116-g5ec1df259c0f)
  • Tool-Version: 0.4.0 (250 rounds max)
cost 6 cost 8 cost 9 cost 10 cost 11 cost 12 cost 14 cost 15
FavreBcrypt 10.64 ms 39.33 ms 77.4 ms 154.21 ms 306.48 ms 611.13 ms 2442.48 ms 4877.28 ms
JBcrypt 10.65 ms 39.7 ms 78.66 ms 156.1 ms 311.5 ms 621.34 ms 2481.62 ms 4963.88 ms
BC 14.65 ms 57.34 ms 114.48 ms 228.04 ms 454.45 ms 908.46 ms 3632.18 ms 7267.24 ms

Nexus 5X

  • Hardware: bullhead
  • Software: SDK 27, OPM2.171018.029, Linux (3.10.73-gd5f156e7af96)
  • Tool-Version: 0.4.0 (250 rounds max)
cost 6 cost 8 cost 9 cost 10 cost 11 cost 12 cost 14 cost 15
FavreBcrypt 31.03 ms 104.66 ms 77.34 ms 186.39 ms 810.8 ms 1617.83 ms 3860.78 ms 8216.64 ms
JBcrypt 28.02 ms 39.69 ms 149.22 ms 265.72 ms 841.09 ms 1175.68 ms 3763.7 ms 7939.96 ms
BC 50.06 ms 128.4 ms 202.93 ms 408.63 ms 1540.98 ms 3086.58 ms 6670.66 ms 13826.56 ms

Moto G5

  • Hardware: cedric
  • Software: SDK 24, NPPS25.137-72-4
  • Tool-Version: 0.4.0 (250 rounds max)
cost 6 cost 8 cost 9 cost 10 cost 11 cost 12 cost 14 cost 15
FavreBcrypt 36.47 ms 141.48 ms 282.14 ms 562.0 ms 1122.04 ms 2242.84 ms 8985.64 ms 17942.12 ms
JBcrypt 36.08 ms 142.58 ms 284.33 ms 567.27 ms 1133.36 ms 2265.74 ms 9096.0 ms 18125.28 ms
BC 56.6 ms 222.89 ms 444.54 ms 886.62 ms 1773.0 ms 3546.03 ms 14178.62 ms 28354.52 ms

Pixel 2 SDK 27 Emulator

  • Hardware: i7-7700K, 24GB Ram
  • Software: Android Emulator (HAXM), SDK 27, Java 1.8.0_172 (Oracle Corporation), Windows 10 (10.0)
  • Tool-Version: 0.4.0 (250 rounds max)
cost 6 cost 8 cost 9 cost 10 cost 11 cost 12 cost 14 cost 15
FavreBcrypt 6.56 ms 15.16 ms 30.41 ms 58.9 ms 120.32 ms 234.25 ms 941.22 ms 1805.56 ms
JBcrypt 3.86 ms 15.56 ms 30.02 ms 60.78 ms 122.66 ms 242.26 ms 961.44 ms 1830.48 ms
BC 4.64 ms 17.95 ms 36.48 ms 72.56 ms 146.56 ms 286.69 ms 1098.52 ms 2149.92 ms
Clone this wiki locally