测试环境

    电脑型号	戴尔 Inspiron 3543 笔记本电脑  (扫描时间:2020年03月04日)
    操作系统	Windows 8.1 Enterprise 64位 ( DirectX 11 )
    	
    处理器	英特尔 Core i5-5200U @ 2.20GHz 双核
    主板	戴尔 04XW3R ( 5th Generation Intel Core Premium SKU - 9CC3 笔记本芯片组 )
    内存	8 GB ( 金士顿 DDR3L 1600MHz )
    主硬盘	希捷 ST500LT012-1DG142 ( 500 GB / 5400 转/分 )
    显卡	Nvidia GeForce 820M ( 2 GB )
    显示器	友达 AUO40EC ( 15.5 英寸  )
    光驱	日立-LG DVD+-RW GU90N DVD刻录机
    声卡	瑞昱  @ 英特尔 High Definition Audio Controller
    网卡	博通 BCM43142 802.11b/g/n / 戴尔

Checksum alorithms

alorithmOS: Win8.1 x64 Compiler: VC++2013 64-bit buildOS: Win8.1 x64 Compiler: VC++2013 32-bit build
adler322000.00 MB/s, 2500.00 MB/s, 2500.00 MB/s, 2000.00 MB/s2000.00 MB/s, 2500.00 MB/s, 1666.67 MB/s, 2500.00 MB/s
crc32 357.14 MB/s, 333.33 MB/s, 344.83 MB/s, 344.83 MB/s 285.71 MB/s, 285.71 MB/s, 303.03 MB/s, 312.50 MB/s

HASH alorithms

alorithmOS: Win8.1 x64 Compiler: VC++2013 64-bit buildOS: Win8.1 x64 Compiler: VC++2013 32-bit build
md2 4.15 MB/s, 4.15 MB/s, 4.16 MB/s, 4.12 MB/s 4.08 MB/s, 4.07 MB/s, 4.01 MB/s, 4.05 MB/s
md4 476.19 MB/s, 526.32 MB/s, 500.00 MB/s, 526.32 MB/s 526.32 MB/s, 500.00 MB/s, 526.32 MB/s, 500.00 MB/s
md5 370.37 MB/s, 370.37 MB/s, 357.14 MB/s, 370.37 MB/s 344.83 MB/s, 322.58 MB/s, 344.83 MB/s, 344.83 MB/s
md6-224 133.33 MB/s, 129.87 MB/s, 125.00 MB/s, 126.58 MB/s 65.36 MB/s, 63.29 MB/s, 62.89 MB/s, 67.57 MB/s
md6-256 123.46 MB/s, 119.05 MB/s, 123.46 MB/s, 120.48 MB/s 61.35 MB/s, 60.24 MB/s, 61.73 MB/s, 60.24 MB/s
md6-384 95.24 MB/s, 95.24 MB/s, 92.59 MB/s, 91.74 MB/s 46.73 MB/s, 45.45 MB/s, 47.85 MB/s, 47.39 MB/s
md6-512 75.76 MB/s, 78.74 MB/s, 77.52 MB/s, 71.94 MB/s 39.22 MB/s, 37.88 MB/s, 37.45 MB/s, 38.61 MB/s
ed2k 500.00 MB/s, 500.00 MB/s, 526.32 MB/s, 454.55 MB/s 526.32 MB/s, 500.00 MB/s, 500.00 MB/s, 476.19 MB/s
sha1 357.14 MB/s, 370.37 MB/s, 357.14 MB/s, 333.33 MB/s 322.58 MB/s, 322.58 MB/s, 322.58 MB/s, 322.58 MB/s
sha224 151.52 MB/s, 153.85 MB/s, 147.06 MB/s, 136.99 MB/s 135.14 MB/s, 135.14 MB/s, 135.14 MB/s, 123.46 MB/s
sha256 151.52 MB/s, 156.25 MB/s, 156.25 MB/s, 149.25 MB/s 136.99 MB/s, 131.58 MB/s, 136.99 MB/s, 116.28 MB/s
sha384 250.00 MB/s, 250.00 MB/s, 250.00 MB/s, 238.10 MB/s 78.13 MB/s, 75.19 MB/s, 76.34 MB/s, 75.76 MB/s
sha512 232.56 MB/s, 250.00 MB/s, 256.41 MB/s, 250.00 MB/s 77.52 MB/s, 74.63 MB/s, 75.19 MB/s, 77.52 MB/s
sha3-224 52.91 MB/s, 53.19 MB/s, 54.35 MB/s, 52.91 MB/s 20.53 MB/s, 19.01 MB/s, 20.24 MB/s, 20.16 MB/s
sha3-256 50.76 MB/s, 49.75 MB/s, 51.55 MB/s, 45.25 MB/s 19.23 MB/s, 18.76 MB/s, 19.05 MB/s, 17.70 MB/s
sha3-384 39.06 MB/s, 38.02 MB/s, 39.37 MB/s, 37.74 MB/s 14.53 MB/s, 14.14 MB/s, 14.75 MB/s, 14.31 MB/s
sha3-512 27.62 MB/s, 26.60 MB/s, 27.47 MB/s, 26.11 MB/s 10.22 MB/s, 10.22 MB/s, 10.27 MB/s, 10.30 MB/s
tiger 384.62 MB/s, 370.37 MB/s, 384.62 MB/s, 400.00 MB/s 116.28 MB/s, 109.89 MB/s, 111.11 MB/s, 116.28 MB/s
whirlpool 66.67 MB/s, 64.94 MB/s, 63.69 MB/s, 62.89 MB/s 39.68 MB/s, 39.06 MB/s, 38.46 MB/s, 39.37 MB/s
ripemd128 232.56 MB/s, 243.90 MB/s, 243.90 MB/s, 227.27 MB/s 222.22 MB/s, 217.39 MB/s, 212.77 MB/s, 222.22 MB/s
ripemd160 151.52 MB/s, 158.73 MB/s, 158.73 MB/s, 156.25 MB/s 144.93 MB/s, 136.99 MB/s, 144.93 MB/s, 140.85 MB/s
ripemd256 277.78 MB/s, 270.27 MB/s, 277.78 MB/s, 285.71 MB/s 270.27 MB/s, 277.78 MB/s, 270.27 MB/s, 263.16 MB/s
ripemd320 175.44 MB/s, 169.49 MB/s, 175.44 MB/s, 169.49 MB/s 156.25 MB/s, 161.29 MB/s, 153.85 MB/s, 158.73 MB/s
sm3 133.33 MB/s, 135.14 MB/s, 129.87 MB/s, 131.58 MB/s 114.94 MB/s, 121.95 MB/s, 120.48 MB/s, 120.48 MB/s

HMAC alorithms

alorithmOS: Win8.1 x64 Compiler: VC++2013 64-bit buildOS: Win8.1 x64 Compiler: VC++2013 32-bit build
HMAC < md2 > 4.19 MB/s, 4.17 MB/s, 4.17 MB/s, 4.04 MB/s 4.07 MB/s, 4.05 MB/s, 4.07 MB/s, 4.08 MB/s
HMAC < md4 > 500.00 MB/s, 500.00 MB/s, 476.19 MB/s, 500.00 MB/s500.00 MB/s, 500.00 MB/s, 500.00 MB/s, 476.19 MB/s
HMAC < md5 > 384.62 MB/s, 344.83 MB/s, 370.37 MB/s, 357.14 MB/s357.14 MB/s, 322.58 MB/s, 344.83 MB/s, 333.33 MB/s
HMAC < md6-224 > 125.00 MB/s, 129.87 MB/s, 131.58 MB/s, 126.58 MB/s 64.94 MB/s, 64.94 MB/s, 66.23 MB/s, 66.23 MB/s
HMAC < md6-256 > 123.46 MB/s, 120.48 MB/s, 123.46 MB/s, 119.05 MB/s 62.11 MB/s, 60.98 MB/s, 59.52 MB/s, 61.73 MB/s
HMAC < md6-384 > 93.46 MB/s, 92.59 MB/s, 97.09 MB/s, 86.21 MB/s 46.30 MB/s, 48.08 MB/s, 47.62 MB/s, 47.17 MB/s
HMAC < md6-512 > 77.52 MB/s, 76.34 MB/s, 75.76 MB/s, 73.53 MB/s 38.76 MB/s, 37.45 MB/s, 38.91 MB/s, 38.46 MB/s
HMAC < ed2k > 526.32 MB/s, 526.32 MB/s, 526.32 MB/s, 500.00 MB/s500.00 MB/s, 500.00 MB/s, 476.19 MB/s, 500.00 MB/s
HMAC < sha1 > 357.14 MB/s, 370.37 MB/s, 370.37 MB/s, 344.83 MB/s333.33 MB/s, 333.33 MB/s, 322.58 MB/s, 333.33 MB/s
HMAC < sha224 > 156.25 MB/s, 151.52 MB/s, 158.73 MB/s, 140.85 MB/s133.33 MB/s, 133.33 MB/s, 136.99 MB/s, 135.14 MB/s
HMAC < sha256 > 149.25 MB/s, 158.73 MB/s, 153.85 MB/s, 113.64 MB/s131.58 MB/s, 133.33 MB/s, 128.21 MB/s, 133.33 MB/s
HMAC < sha384 > 256.41 MB/s, 243.90 MB/s, 250.00 MB/s, 227.27 MB/s 77.52 MB/s, 76.34 MB/s, 79.37 MB/s, 76.92 MB/s
HMAC < sha512 > 256.41 MB/s, 238.10 MB/s, 256.41 MB/s, 222.22 MB/s 78.74 MB/s, 76.92 MB/s, 76.34 MB/s, 75.19 MB/s
HMAC < sha3-224 > 54.35 MB/s, 52.91 MB/s, 54.95 MB/s, 53.76 MB/s 20.45 MB/s, 20.49 MB/s, 20.16 MB/s, 19.92 MB/s
HMAC < sha3-256 > 51.55 MB/s, 49.75 MB/s, 50.51 MB/s, 50.00 MB/s 19.19 MB/s, 19.05 MB/s, 19.01 MB/s, 18.80 MB/s
HMAC < sha3-384 > 39.06 MB/s, 38.61 MB/s, 38.31 MB/s, 38.91 MB/s 14.77 MB/s, 14.79 MB/s, 14.41 MB/s, 14.29 MB/s
HMAC < sha3-512 > 27.17 MB/s, 26.88 MB/s, 26.46 MB/s, 27.25 MB/s 10.21 MB/s, 10.10 MB/s, 9.68 MB/s, 10.19 MB/s
HMAC < tiger > 400.00 MB/s, 416.67 MB/s, 416.67 MB/s, 322.58 MB/s114.94 MB/s, 107.53 MB/s, 114.94 MB/s, 113.64 MB/s
HMAC < whirlpool > 64.94 MB/s, 64.10 MB/s, 64.94 MB/s, 57.80 MB/s 39.53 MB/s, 39.06 MB/s, 39.37 MB/s, 39.53 MB/s
HMAC < ripemd128 > 227.27 MB/s, 222.22 MB/s, 238.10 MB/s, 238.10 MB/s222.22 MB/s, 212.77 MB/s, 208.33 MB/s, 222.22 MB/s
HMAC < ripemd160 > 151.52 MB/s, 151.52 MB/s, 147.06 MB/s, 153.85 MB/s144.93 MB/s, 144.93 MB/s, 138.89 MB/s, 142.86 MB/s
HMAC < ripemd256 > 285.71 MB/s, 285.71 MB/s, 263.16 MB/s, 270.27 MB/s270.27 MB/s, 277.78 MB/s, 277.78 MB/s, 277.78 MB/s
HMAC < ripemd320 > 175.44 MB/s, 163.93 MB/s, 166.67 MB/s, 169.49 MB/s153.85 MB/s, 158.73 MB/s, 158.73 MB/s, 158.73 MB/s
HMAC < sm3 > 128.21 MB/s, 135.14 MB/s, 133.33 MB/s, 135.14 MB/s121.95 MB/s, 119.05 MB/s, 116.28 MB/s, 116.28 MB/s

Block cipher alorithms

alorithmkey bitsOS: Win8.1 x64 Compiler: VC++2013 64-bit buildOS: Win8.1 x64 Compiler: VC++2013 32-bit build
AES/ECB128188.68 MB/s, 185.19 MB/s, 192.31 MB/s, 178.57 MB/s111.11 MB/s, 108.70 MB/s, 107.53 MB/s, 108.70 MB/s
AES/CBC128166.67 MB/s, 140.85 MB/s, 161.29 MB/s, 158.73 MB/s106.38 MB/s, 106.38 MB/s, 91.74 MB/s, 106.38 MB/s
AES/CFB128142.86 MB/s, 119.05 MB/s, 138.89 MB/s, 140.85 MB/s 90.09 MB/s, 89.29 MB/s, 89.29 MB/s, 90.91 MB/s
AES/OFB128140.85 MB/s, 140.85 MB/s, 149.25 MB/s, 135.14 MB/s 89.29 MB/s, 98.04 MB/s, 97.09 MB/s, 87.72 MB/s
AES/CTR128147.06 MB/s, 144.93 MB/s, 147.06 MB/s, 144.93 MB/s 92.59 MB/s, 90.91 MB/s, 90.91 MB/s, 92.59 MB/s
AES/ECB192163.93 MB/s, 161.29 MB/s, 156.25 MB/s, 161.29 MB/s 97.09 MB/s, 98.04 MB/s, 96.15 MB/s, 91.74 MB/s
AES/CBC192144.93 MB/s, 144.93 MB/s, 151.52 MB/s, 142.86 MB/s 93.46 MB/s, 91.74 MB/s, 93.46 MB/s, 93.46 MB/s
AES/CFB192129.87 MB/s, 126.58 MB/s, 123.46 MB/s, 126.58 MB/s 78.74 MB/s, 80.00 MB/s, 80.65 MB/s, 80.00 MB/s
AES/OFB192123.46 MB/s, 131.58 MB/s, 131.58 MB/s, 126.58 MB/s 83.33 MB/s, 86.21 MB/s, 83.33 MB/s, 81.30 MB/s
AES/CTR192121.95 MB/s, 128.21 MB/s, 125.00 MB/s, 126.58 MB/s 80.65 MB/s, 81.30 MB/s, 81.30 MB/s, 81.97 MB/s
AES/ECB256144.93 MB/s, 138.89 MB/s, 144.93 MB/s, 138.89 MB/s 86.96 MB/s, 85.47 MB/s, 83.33 MB/s, 84.75 MB/s
AES/CBC256129.87 MB/s, 128.21 MB/s, 128.21 MB/s, 131.58 MB/s 80.00 MB/s, 78.13 MB/s, 80.65 MB/s, 78.13 MB/s
AES/CFB256116.28 MB/s, 116.28 MB/s, 111.11 MB/s, 116.28 MB/s 71.43 MB/s, 70.92 MB/s, 72.99 MB/s, 68.49 MB/s
AES/OFB256113.64 MB/s, 113.64 MB/s, 111.11 MB/s, 116.28 MB/s 76.92 MB/s, 77.52 MB/s, 75.76 MB/s, 74.07 MB/s
AES/CTR256114.94 MB/s, 117.65 MB/s, 114.94 MB/s, 116.28 MB/s 72.46 MB/s, 74.63 MB/s, 71.94 MB/s, 68.03 MB/s
DES/ECB6460.24 MB/s, 61.73 MB/s, 60.98 MB/s, 60.24 MB/s55.25 MB/s, 57.47 MB/s, 52.63 MB/s, 57.14 MB/s
DES/CBC6454.95 MB/s, 54.05 MB/s, 56.18 MB/s, 55.56 MB/s52.63 MB/s, 52.91 MB/s, 51.02 MB/s, 51.02 MB/s
DES/CFB6452.36 MB/s, 54.35 MB/s, 54.35 MB/s, 54.05 MB/s51.02 MB/s, 50.76 MB/s, 50.25 MB/s, 49.75 MB/s
DES/OFB6456.18 MB/s, 56.50 MB/s, 56.18 MB/s, 56.18 MB/s51.02 MB/s, 50.00 MB/s, 50.00 MB/s, 51.55 MB/s
DES/CTR6455.25 MB/s, 47.85 MB/s, 55.56 MB/s, 51.55 MB/s49.26 MB/s, 50.25 MB/s, 48.78 MB/s, 47.85 MB/s
3DES/ECB12823.53 MB/s, 22.99 MB/s, 23.58 MB/s, 23.53 MB/s22.88 MB/s, 22.62 MB/s, 22.17 MB/s 23.15 MB/s
3DES/CBC12822.78 MB/s, 23.04 MB/s, 22.42 MB/s, 21.88 MB/s22.42 MB/s, 21.98 MB/s, 22.08 MB/s 22.17 MB/s
3DES/CFB12821.79 MB/s, 22.32 MB/s, 22.57 MB/s, 22.68 MB/s21.51 MB/s, 21.28 MB/s, 21.23 MB/s 20.62 MB/s
3DES/OFB12822.57 MB/s, 22.62 MB/s, 22.47 MB/s, 22.42 MB/s21.83 MB/s, 21.41 MB/s, 21.51 MB/s 21.65 MB/s
3DES/CTR12822.27 MB/s, 22.68 MB/s, 22.42 MB/s, 22.73 MB/s21.32 MB/s, 21.10 MB/s, 21.37 MB/s 20.70 MB/s
3DES/ECB19223.53 MB/s, 23.58 MB/s, 23.64 MB/s, 23.53 MB/s22.94 MB/s, 22.99 MB/s, 22.68 MB/s 21.83 MB/s
3DES/CBC19222.78 MB/s, 22.47 MB/s, 22.73 MB/s, 22.57 MB/s21.74 MB/s, 22.03 MB/s, 21.88 MB/s 22.22 MB/s
3DES/CFB19222.27 MB/s, 22.32 MB/s, 22.22 MB/s, 22.32 MB/s21.05 MB/s, 21.55 MB/s, 21.65 MB/s 20.45 MB/s
3DES/OFB19222.12 MB/s, 22.37 MB/s, 22.52 MB/s, 21.65 MB/s21.37 MB/s, 21.98 MB/s, 21.98 MB/s 21.69 MB/s
3DES/CTR19222.37 MB/s, 22.42 MB/s, 22.27 MB/s, 22.37 MB/s21.69 MB/s, 21.23 MB/s, 21.10 MB/s 21.55 MB/s
SM4/ECB12845.45 MB/s, 44.25 MB/s, 45.05 MB/s, 43.86 MB/s37.59 MB/s, 38.17 MB/s, 38.91 MB/s, 38.02 MB/s
SM4/CBC12842.19 MB/s, 43.29 MB/s, 42.19 MB/s, 42.92 MB/s38.02 MB/s, 37.45 MB/s, 37.17 MB/s, 37.31 MB/s
SM4/CFB12842.19 MB/s, 41.67 MB/s, 42.02 MB/s, 42.92 MB/s36.23 MB/s, 35.71 MB/s, 36.10 MB/s, 35.21 MB/s
SM4/OFB12840.49 MB/s, 40.49 MB/s, 40.82 MB/s, 39.37 MB/s36.36 MB/s, 36.50 MB/s, 37.31 MB/s, 37.31 MB/s
SM4/CTR12839.68 MB/s, 40.49 MB/s, 40.98 MB/s, 40.32 MB/s35.71 MB/s, 35.09 MB/s, 35.21 MB/s, 35.21 MB/s
Blowfish/ECB25681.30 MB/s, 80.65 MB/s, 80.65 MB/s, 80.65 MB/s68.97 MB/s, 71.43 MB/s, 69.93 MB/s, 68.03 MB/s
Blowfish/CBC25668.03 MB/s, 69.44 MB/s, 69.93 MB/s, 63.69 MB/s62.89 MB/s, 63.29 MB/s, 63.69 MB/s, 62.50 MB/s
Blowfish/CFB25667.11 MB/s, 68.03 MB/s, 68.97 MB/s, 70.92 MB/s61.73 MB/s, 60.61 MB/s, 62.89 MB/s, 60.24 MB/s
Blowfish/OFB25670.92 MB/s, 68.97 MB/s, 69.44 MB/s, 68.97 MB/s62.11 MB/s, 64.10 MB/s, 62.89 MB/s, 62.11 MB/s
Blowfish/CTR25670.42 MB/s, 70.42 MB/s, 68.97 MB/s, 68.49 MB/s62.50 MB/s, 63.29 MB/s, 60.24 MB/s, 58.48 MB/s
Blowfish/ECB44878.74 MB/s, 82.64 MB/s, 81.97 MB/s, 83.33 MB/s69.93 MB/s, 70.92 MB/s, 70.42 MB/s, 68.97 MB/s
Blowfish/CBC44868.49 MB/s, 67.57 MB/s, 68.49 MB/s, 67.57 MB/s64.94 MB/s, 62.50 MB/s, 61.35 MB/s, 63.29 MB/s
Blowfish/CFB44870.42 MB/s, 70.42 MB/s, 68.97 MB/s, 68.97 MB/s61.73 MB/s, 60.98 MB/s, 60.24 MB/s, 62.11 MB/s
Blowfish/OFB44868.49 MB/s, 67.11 MB/s, 68.97 MB/s, 70.42 MB/s63.29 MB/s, 63.69 MB/s, 62.89 MB/s, 63.29 MB/s
Blowfish/CTR44868.97 MB/s, 71.43 MB/s, 68.97 MB/s, 68.97 MB/s59.52 MB/s, 62.50 MB/s, 62.11 MB/s, 62.11 MB/s
Twofish/ECB128128.21 MB/s, 125.00 MB/s, 133.33 MB/s, 131.58 MB/s108.70 MB/s, 108.70 MB/s, 103.09 MB/s103.09 MB/s
Twofish/CBC128116.28 MB/s, 113.64 MB/s, 114.94 MB/s, 121.95 MB/s103.09 MB/s, 103.09 MB/s, 98.04 MB/s102.04 MB/s
Twofish/CFB128106.38 MB/s, 108.70 MB/s, 108.70 MB/s, 104.17 MB/s 81.30 MB/s, 82.64 MB/s, 81.30 MB/s 81.30 MB/s
Twofish/OFB128106.38 MB/s, 111.11 MB/s, 111.11 MB/s, 108.70 MB/s 90.09 MB/s, 89.29 MB/s, 90.91 MB/s 85.47 MB/s
Twofish/CTR128104.17 MB/s, 108.70 MB/s, 104.17 MB/s, 105.26 MB/s 86.96 MB/s, 87.72 MB/s, 88.50 MB/s 85.47 MB/s
Twofish/ECB256131.58 MB/s, 125.00 MB/s, 128.21 MB/s, 128.21 MB/s107.53 MB/s, 106.38 MB/s, 104.17 MB/s104.17 MB/s
Twofish/CBC256121.95 MB/s, 120.48 MB/s, 121.95 MB/s, 119.05 MB/s 97.09 MB/s, 101.01 MB/s, 102.04 MB/s 97.09 MB/s
Twofish/CFB256108.70 MB/s, 111.11 MB/s, 112.36 MB/s, 109.89 MB/s 83.33 MB/s, 81.97 MB/s, 84.75 MB/s 81.97 MB/s
Twofish/OFB256106.38 MB/s, 108.70 MB/s, 106.38 MB/s, 108.70 MB/s 90.91 MB/s, 85.47 MB/s, 89.29 MB/s 83.33 MB/s
Twofish/CTR256109.89 MB/s, 107.53 MB/s, 107.53 MB/s, 107.53 MB/s 90.09 MB/s, 86.21 MB/s, 84.75 MB/s 85.47 MB/s
3Way/ECB 96 50.76 MB/s, 49.75 MB/s, 51.55 MB/s, 45.87 MB/s 45.87 MB/s, 44.84 MB/s, 46.30 MB/s 46.30 MB/s
3Way/CBC 96 47.85 MB/s, 47.39 MB/s, 47.85 MB/s, 45.87 MB/s 42.92 MB/s, 42.74 MB/s, 42.55 MB/s 41.49 MB/s
3Way/CFB 96 40.65 MB/s, 42.37 MB/s, 41.84 MB/s, 40.65 MB/s 31.85 MB/s, 32.89 MB/s, 32.47 MB/s 31.06 MB/s
3Way/OFB 96 43.48 MB/s, 44.05 MB/s, 43.48 MB/s, 42.92 MB/s 32.68 MB/s, 32.89 MB/s, 32.57 MB/s 32.26 MB/s
3Way/CTR 96 39.84 MB/s, 40.65 MB/s, 41.49 MB/s, 40.82 MB/s 32.05 MB/s, 32.05 MB/s, 31.85 MB/s 31.85 MB/s
Camellia/ECB128 82.64 MB/s, 84.03 MB/s, 84.03 MB/s, 87.72 MB/s64.52 MB/s, 64.52 MB/s, 63.29 MB/s, 61.73 MB/s
Camellia/CBC128 66.23 MB/s, 81.30 MB/s, 81.30 MB/s, 80.65 MB/s60.61 MB/s, 60.24 MB/s, 62.11 MB/s, 58.82 MB/s
Camellia/CFB128 71.43 MB/s, 77.52 MB/s, 77.52 MB/s, 74.07 MB/s56.50 MB/s, 56.18 MB/s, 56.82 MB/s, 56.50 MB/s
Camellia/OFB128 70.42 MB/s, 77.52 MB/s, 77.52 MB/s, 74.07 MB/s55.87 MB/s, 57.47 MB/s, 54.64 MB/s, 54.35 MB/s
Camellia/CTR128 69.93 MB/s, 75.76 MB/s, 75.76 MB/s, 76.92 MB/s55.25 MB/s, 57.80 MB/s, 54.95 MB/s, 55.56 MB/s
Camellia/ECB256 52.36 MB/s, 64.52 MB/s, 64.52 MB/s, 65.79 MB/s48.31 MB/s, 51.02 MB/s, 47.39 MB/s, 47.85 MB/s
Camellia/CBC256 60.61 MB/s, 62.11 MB/s, 62.11 MB/s, 63.29 MB/s48.31 MB/s, 48.54 MB/s, 49.26 MB/s, 44.05 MB/s
Camellia/CFB256 59.52 MB/s, 59.52 MB/s, 59.52 MB/s, 59.88 MB/s46.08 MB/s, 45.05 MB/s, 45.45 MB/s, 44.25 MB/s
Camellia/OFB256 51.28 MB/s, 59.52 MB/s, 59.52 MB/s, 59.17 MB/s44.64 MB/s, 45.87 MB/s, 45.05 MB/s, 44.64 MB/s
Camellia/CTR256 57.47 MB/s, 58.82 MB/s, 58.82 MB/s, 57.80 MB/s43.67 MB/s, 44.05 MB/s, 45.05 MB/s, 44.05 MB/s
Tea/ECB 128 54.64 MB/s, 56.50 MB/s, 55.56 MB/s, 51.28 MB/s45.45 MB/s, 45.87 MB/s, 45.45 MB/s, 45.87 MB/s
Tea/CBC 128 53.19 MB/s, 50.76 MB/s, 52.63 MB/s, 50.00 MB/s43.48 MB/s, 42.37 MB/s, 43.10 MB/s, 35.21 MB/s
Tea/CFB 128 51.28 MB/s, 50.76 MB/s, 51.02 MB/s, 51.02 MB/s42.19 MB/s, 40.98 MB/s, 41.49 MB/s, 40.16 MB/s
Tea/OFB 128 50.25 MB/s, 51.55 MB/s, 51.81 MB/s, 51.28 MB/s42.37 MB/s, 42.37 MB/s, 42.55 MB/s, 42.19 MB/s
Tea/CTR 128 48.08 MB/s, 50.00 MB/s, 49.75 MB/s, 35.34 MB/s42.02 MB/s, 40.82 MB/s, 42.19 MB/s, 41.67 MB/s
XTea/ECB 128 57.14 MB/s, 57.14 MB/s, 58.82 MB/s, 35.71 MB/s52.08 MB/s, 52.63 MB/s, 52.36 MB/s, 51.02 MB/s
XTea/CBC 128 53.19 MB/s, 50.76 MB/s, 51.81 MB/s, 35.46 MB/s49.02 MB/s, 49.02 MB/s, 49.26 MB/s, 47.62 MB/s
XTea/CFB 128 48.31 MB/s, 48.31 MB/s, 48.54 MB/s, 48.08 MB/s46.51 MB/s, 46.08 MB/s, 47.39 MB/s, 46.30 MB/s
XTea/OFB 128 52.36 MB/s, 53.76 MB/s, 53.48 MB/s, 53.19 MB/s46.73 MB/s, 45.66 MB/s, 45.45 MB/s, 44.05 MB/s
XTea/CTR 128 52.63 MB/s, 52.91 MB/s, 51.81 MB/s, 48.78 MB/s44.64 MB/s, 46.30 MB/s, 45.25 MB/s, 45.05 MB/s
SEED/ECB 128 57.47 MB/s, 57.47 MB/s, 57.80 MB/s, 54.35 MB/s60.98 MB/s, 60.98 MB/s, 59.17 MB/s, 59.88 MB/s
SEED/CBC 128 55.56 MB/s, 53.76 MB/s, 54.35 MB/s, 54.64 MB/s57.80 MB/s, 58.14 MB/s, 57.80 MB/s, 57.47 MB/s
SEED/CFB 128 52.63 MB/s, 52.36 MB/s, 51.02 MB/s, 50.51 MB/s51.55 MB/s, 52.36 MB/s, 52.63 MB/s, 51.81 MB/s
SEED/OFB 128 53.76 MB/s, 52.08 MB/s, 53.76 MB/s, 54.05 MB/s53.76 MB/s, 53.48 MB/s, 52.36 MB/s, 52.08 MB/s
SEED/CTR 128 50.76 MB/s, 51.28 MB/s, 50.25 MB/s, 50.51 MB/s50.51 MB/s, 50.51 MB/s, 51.55 MB/s, 50.25 MB/s
IDEA/ECB 128 73.53 MB/s, 71.43 MB/s, 69.93 MB/s, 71.43 MB/s46.08 MB/s, 48.54 MB/s, 47.62 MB/s, 47.17 MB/s
IDEA/CBC 128 61.73 MB/s, 62.11 MB/s, 64.10 MB/s, 61.73 MB/s44.25 MB/s, 44.84 MB/s, 43.29 MB/s, 43.29 MB/s
IDEA/CFB 128 63.69 MB/s, 63.29 MB/s, 63.29 MB/s, 62.50 MB/s41.32 MB/s, 42.55 MB/s, 40.98 MB/s, 40.65 MB/s
IDEA/OFB 128 60.98 MB/s, 62.11 MB/s, 60.24 MB/s, 62.11 MB/s40.32 MB/s, 39.84 MB/s, 40.16 MB/s, 40.16 MB/s
IDEA/CTR 128 63.29 MB/s, 63.29 MB/s, 61.73 MB/s, 63.69 MB/s41.49 MB/s, 42.19 MB/s, 42.92 MB/s, 42.37 MB/s
RC2/ECB8 32.79 MB/s, 33.44 MB/s, 33.11 MB/s, 32.89 MB/s23.92 MB/s, 23.87 MB/s, 24.33 MB/s, 23.20 MB/s
RC2/CBC8 30.86 MB/s, 31.75 MB/s, 31.35 MB/s, 31.55 MB/s22.99 MB/s, 22.78 MB/s, 22.83 MB/s, 22.88 MB/s
RC2/CFB8 31.45 MB/s, 32.15 MB/s, 31.65 MB/s, 31.85 MB/s21.88 MB/s, 22.62 MB/s, 22.62 MB/s, 22.22 MB/s
RC2/OFB8 32.36 MB/s, 32.36 MB/s, 32.15 MB/s, 31.25 MB/s23.20 MB/s, 22.27 MB/s, 22.57 MB/s, 22.42 MB/s
RC2/CTR8 31.35 MB/s, 31.15 MB/s, 31.95 MB/s, 30.58 MB/s22.37 MB/s, 21.83 MB/s, 22.62 MB/s, 21.88 MB/s
RC2/ECB102433.33 MB/s, 33.67 MB/s, 33.78 MB/s, 33.11 MB/s23.81 MB/s, 24.04 MB/s, 24.45 MB/s, 24.15 MB/s
RC2/CBC102431.25 MB/s, 30.77 MB/s, 31.25 MB/s, 30.40 MB/s23.31 MB/s, 22.78 MB/s, 22.94 MB/s, 22.52 MB/s
RC2/CFB102431.75 MB/s, 31.85 MB/s, 31.45 MB/s, 30.40 MB/s22.52 MB/s, 22.37 MB/s, 22.94 MB/s, 22.03 MB/s
RC2/OFB102432.15 MB/s, 32.05 MB/s, 32.47 MB/s, 31.85 MB/s22.57 MB/s, 22.88 MB/s, 22.88 MB/s, 22.52 MB/s
RC2/CTR102431.65 MB/s, 31.35 MB/s, 31.55 MB/s, 31.55 MB/s22.03 MB/s, 21.93 MB/s, 22.27 MB/s, 21.55 MB/s
RC5/ECB128222.22 MB/s, 227.27 MB/s, 238.10 MB/s, 238.10 MB/s175.44 MB/s, 175.44 MB/s, 169.49 MB/s, 172.41 MB/s
RC5/CBC128161.29 MB/s, 166.67 MB/s, 161.29 MB/s, 163.93 MB/s142.86 MB/s, 140.85 MB/s, 138.89 MB/s, 135.14 MB/s
RC5/CFB128149.25 MB/s, 158.73 MB/s, 153.85 MB/s, 158.73 MB/s120.48 MB/s, 119.05 MB/s, 120.48 MB/s, 120.48 MB/s
RC5/OFB128166.67 MB/s, 169.49 MB/s, 169.49 MB/s, 172.41 MB/s125.00 MB/s, 125.00 MB/s, 126.58 MB/s, 128.21 MB/s
RC5/CTR128161.29 MB/s, 156.25 MB/s, 161.29 MB/s, 153.85 MB/s107.53 MB/s, 108.70 MB/s, 108.70 MB/s, 111.11 MB/s
RC6/ECB128185.19 MB/s, 178.57 MB/s, 188.68 MB/s, 185.19 MB/s128.21 MB/s, 128.21 MB/s, 129.87 MB/s, 126.58 MB/s
RC6/CBC128169.49 MB/s, 166.67 MB/s, 163.93 MB/s, 166.67 MB/s112.36 MB/s, 114.94 MB/s, 114.94 MB/s, 116.28 MB/s
RC6/CFB128144.93 MB/s, 142.86 MB/s, 138.89 MB/s, 140.85 MB/s 99.01 MB/s, 97.09 MB/s, 98.04 MB/s, 96.15 MB/s
RC6/OFB128147.06 MB/s, 149.25 MB/s, 144.93 MB/s, 149.25 MB/s101.01 MB/s, 101.01 MB/s, 100.00 MB/s, 100.00 MB/s
RC6/CTR128123.46 MB/s, 128.21 MB/s, 126.58 MB/s, 123.46 MB/s 95.24 MB/s, 94.34 MB/s, 94.34 MB/s, 94.34 MB/s
CAST-128/ECB 40113.64 MB/s, 107.53 MB/s, 111.11 MB/s, 113.64 MB/s 96.15 MB/s, 96.15 MB/s, 95.24 MB/s, 94.34 MB/s
CAST-128/CBC 40 91.74 MB/s, 94.34 MB/s, 89.29 MB/s, 93.46 MB/s 82.64 MB/s, 85.47 MB/s, 82.64 MB/s, 84.03 MB/s
CAST-128/CFB 40 95.24 MB/s, 91.74 MB/s, 92.59 MB/s, 95.24 MB/s 80.00 MB/s, 77.52 MB/s, 80.00 MB/s, 79.37 MB/s
CAST-128/OFB 40 90.09 MB/s, 91.74 MB/s, 90.09 MB/s, 92.59 MB/s 81.30 MB/s, 77.52 MB/s, 82.64 MB/s, 79.37 MB/s
CAST-128/CTR 40 86.96 MB/s, 88.50 MB/s, 88.50 MB/s, 89.29 MB/s 75.19 MB/s, 75.76 MB/s, 75.19 MB/s, 75.19 MB/s
CAST-256/ECB128 80.00 MB/s, 81.30 MB/s, 72.46 MB/s, 80.00 MB/s 73.53 MB/s, 74.07 MB/s, 73.53 MB/s, 73.53 MB/s
CAST-256/CBC128 76.92 MB/s, 75.76 MB/s, 71.94 MB/s, 76.92 MB/s 69.44 MB/s, 68.49 MB/s, 71.43 MB/s, 70.92 MB/s
CAST-256/CFB128 68.97 MB/s, 68.97 MB/s, 69.44 MB/s, 68.49 MB/s 61.73 MB/s, 63.29 MB/s, 63.29 MB/s, 62.89 MB/s
CAST-256/OFB128 68.97 MB/s, 68.49 MB/s, 68.97 MB/s, 67.11 MB/s 66.23 MB/s, 66.67 MB/s, 65.36 MB/s, 66.67 MB/s
CAST-256/CTR128 71.94 MB/s, 71.94 MB/s, 71.94 MB/s, 65.36 MB/s 65.79 MB/s, 64.52 MB/s, 64.94 MB/s, 64.52 MB/s
CAST-256/ECB128 80.00 MB/s, 80.65 MB/s, 79.37 MB/s, 79.37 MB/s 74.07 MB/s, 73.53 MB/s, 72.99 MB/s, 74.07 MB/s
CAST-256/CBC128 75.19 MB/s, 76.92 MB/s, 69.44 MB/s, 74.63 MB/s 70.92 MB/s, 69.44 MB/s, 71.94 MB/s, 70.92 MB/s
CAST-256/CFB128 68.97 MB/s, 68.97 MB/s, 61.73 MB/s, 69.44 MB/s 62.89 MB/s, 63.69 MB/s, 63.29 MB/s, 62.89 MB/s
CAST-256/OFB128 69.44 MB/s, 69.44 MB/s, 68.97 MB/s, 69.44 MB/s 65.79 MB/s, 62.89 MB/s, 66.67 MB/s, 65.79 MB/s
CAST-256/CTR128 67.57 MB/s, 71.94 MB/s, 69.44 MB/s, 70.92 MB/s 65.36 MB/s, 64.52 MB/s, 64.52 MB/s, 64.94 MB/s
MARS/ECB128116.28 MB/s, 119.05 MB/s,117.65 MB/s, 119.05 MB/s84.75 MB/s, 86.21 MB/s, 87.72 MB/s, 22.08 MB/s
MARS/CBC128111.11 MB/s, 109.89 MB/s, 93.46 MB/s, 113.64 MB/s82.64 MB/s, 80.00 MB/s, 80.65 MB/s, 20.92 MB/s
MARS/CFB128101.01 MB/s, 98.04 MB/s, 86.21 MB/s, 101.01 MB/s73.53 MB/s, 74.07 MB/s, 74.07 MB/s, 21.14 MB/s
MARS/OFB128103.09 MB/s, 102.04 MB/s, 99.01 MB/s, 101.01 MB/s75.76 MB/s, 76.34 MB/s, 75.19 MB/s, 20.58 MB/s
MARS/CTR128 99.01 MB/s, 100.00 MB/s,101.01 MB/s, 100.00 MB/s73.53 MB/s, 75.76 MB/s, 75.19 MB/s, 20.70 MB/s
MARS/ECB448120.48 MB/s, 114.94 MB/s,117.65 MB/s, 120.48 MB/s84.75 MB/s, 87.72 MB/s, 86.21 MB/s, 22.17 MB/s
MARS/CBC448112.36 MB/s, 109.89 MB/s,107.53 MB/s, 113.64 MB/s82.64 MB/s, 77.52 MB/s, 81.97 MB/s, 21.60 MB/s
MARS/CFB448101.01 MB/s, 98.04 MB/s,100.00 MB/s, 101.01 MB/s72.99 MB/s, 73.53 MB/s, 73.53 MB/s, 21.32 MB/s
MARS/OFB448103.09 MB/s, 102.04 MB/s,102.04 MB/s, 102.04 MB/s76.92 MB/s, 75.76 MB/s, 75.76 MB/s, 20.75 MB/s
MARS/CTR448 98.04 MB/s, 92.59 MB/s, 97.09 MB/s, 101.01 MB/s74.63 MB/s, 73.53 MB/s, 73.53 MB/s, 21.14 MB/s
Safer-k64/ECB 64 129.87 MB/s, 126.58 MB/s, 133.33 MB/s, 135.14 MB/s53.19 MB/s, 52.91 MB/s, 52.63 MB/s, 53.19 MB/s
Safer-k64/CBC 64 107.53 MB/s, 108.70 MB/s, 108.70 MB/s, 113.64 MB/s49.50 MB/s, 49.02 MB/s, 49.50 MB/s, 49.75 MB/s
Safer-k64/CFB 64 96.15 MB/s, 98.04 MB/s, 96.15 MB/s, 100.00 MB/s50.25 MB/s, 49.75 MB/s, 49.02 MB/s, 48.08 MB/s
Safer-k64/OFB 64 104.17 MB/s, 105.26 MB/s, 107.53 MB/s, 105.26 MB/s50.76 MB/s, 51.28 MB/s, 51.02 MB/s, 49.75 MB/s
Safer-k64/CTR 64 93.46 MB/s, 96.15 MB/s, 75.76 MB/s, 97.09 MB/s46.08 MB/s, 46.95 MB/s, 46.73 MB/s, 45.87 MB/s
Safer-k128/ECB128 84.75 MB/s, 85.47 MB/s, 81.97 MB/s, 87.72 MB/s33.78 MB/s, 33.22 MB/s, 33.56 MB/s, 33.78 MB/s
Safer-k128/CBC128 75.19 MB/s, 76.92 MB/s, 76.92 MB/s, 74.63 MB/s32.47 MB/s, 32.15 MB/s, 32.36 MB/s, 32.05 MB/s
Safer-k128/CFB128 70.42 MB/s, 69.93 MB/s, 71.94 MB/s, 65.36 MB/s33.22 MB/s, 33.33 MB/s, 33.11 MB/s, 32.79 MB/s
Safer-k128/OFB128 71.43 MB/s, 72.99 MB/s, 72.46 MB/s, 72.99 MB/s33.67 MB/s, 33.67 MB/s, 33.78 MB/s, 32.79 MB/s
Safer-k128/CTR128 67.57 MB/s, 68.03 MB/s, 67.57 MB/s, 69.93 MB/s31.35 MB/s, 31.25 MB/s, 30.96 MB/s, 30.58 MB/s
Serpent/ECB8 57.47 MB/s, 56.18 MB/s, 56.82 MB/s, 56.50 MB/s45.66 MB/s, 45.87 MB/s. 46.08 MB/s, 46.73 MB/s
Serpent/CBC8 54.05 MB/s, 52.91 MB/s, 54.95 MB/s, 54.95 MB/s44.84 MB/s, 45.45 MB/s. 45.05 MB/s, 44.84 MB/s
Serpent/CFB8 50.76 MB/s, 51.28 MB/s, 50.51 MB/s, 50.00 MB/s42.55 MB/s, 42.37 MB/s. 42.19 MB/s, 41.84 MB/s
Serpent/OFB8 52.36 MB/s, 50.76 MB/s, 51.55 MB/s, 52.63 MB/s40.32 MB/s, 42.55 MB/s. 42.55 MB/s, 43.67 MB/s
Serpent/CTR8 50.76 MB/s, 52.36 MB/s, 52.36 MB/s, 52.91 MB/s42.19 MB/s, 41.67 MB/s. 42.19 MB/s, 42.02 MB/s
Serpent/ECB2048 56.82 MB/s, 56.50 MB/s, 55.87 MB/s, 56.50 MB/s45.45 MB/s, 46.95 MB/s. 46.30 MB/s, 46.51 MB/s
Serpent/CBC2048 54.05 MB/s, 53.76 MB/s, 52.63 MB/s, 54.35 MB/s44.84 MB/s, 44.84 MB/s. 44.64 MB/s, 44.64 MB/s
Serpent/CFB2048 50.76 MB/s, 51.02 MB/s, 50.25 MB/s, 50.51 MB/s41.84 MB/s, 42.02 MB/s. 41.84 MB/s, 42.19 MB/s
Serpent/OFB2048 51.81 MB/s, 51.28 MB/s, 50.51 MB/s, 52.36 MB/s43.10 MB/s, 42.55 MB/s. 42.55 MB/s, 43.48 MB/s
Serpent/CTR2048 52.36 MB/s, 51.28 MB/s, 46.51 MB/s, 52.91 MB/s42.19 MB/s, 42.55 MB/s. 42.55 MB/s 42.19 MB/s

Stream cipher alorithms

alorithmOS: Win8.1 x64 Compiler: VC++2013 64-bit buildOS: Win8.1 x64 Compiler: VC++2013 32-bit build
Arc4 312.50 MB/s, 294.12 MB/s, 294.12 MB/s, 322.58 MB/s256.41 MB/s, 285.71 MB/s, 270.27 MB/s, 277.78 MB/s
salsa20 277.78 MB/s, 277.78 MB/s, 277.78 MB/s, 277.78 MB/s208.33 MB/s, 222.22 MB/s, 208.33 MB/s, 204.08 MB/s
xsalsa20 263.16 MB/s, 285.71 MB/s, 277.78 MB/s, 277.78 MB/s208.33 MB/s, 222.22 MB/s, 204.08 MB/s, 212.77 MB/s


#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "rsa.h"

#if defined _WIN64
#pragma comment(lib, "mbedTLS_2.2.0_64bit_vc2013_mt.lib")
#else
#pragma comment(lib, "mbedTLS_2.2.0_32bit_vc2013_mt.lib")
#endif

inline __int64 GetCurrentTimestampMs()
{
    double v = 0.0f;
    LARGE_INTEGER PerformanceCount = { 0 };
    LARGE_INTEGER Frequency = { 0 };
    if (QueryPerformanceCounter(&PerformanceCount) && QueryPerformanceFrequency(&Frequency))
        v = (double)(PerformanceCount.QuadPart) * 1000.0f / (double)(Frequency.QuadPart);
    return (__int64)v;
}

int _rsa_rand(void *rng_state, unsigned char *output, size_t len )
{
    if( rng_state != NULL )
        rng_state  = NULL;
    
    for(int i = 0; i < len; ++i )
        output[i] = rand();

    return( 0 );
}

int _tmain(int argc, _TCHAR* argv[])
{
	srand( (unsigned)time( NULL ) );

	__int64 result[10];

	for (int i = 0; i < 10; i++)
	{
		mbedtls_rsa_context ctx;
		mbedtls_rsa_init(&ctx, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_NONE);
		__int64 d1 = GetCurrentTimestampMs();
		mbedtls_rsa_gen_key(&ctx, &_rsa_rand, NULL, 4096, 0x10001L);
		__int64 d2 = GetCurrentTimestampMs();
		result[i] = d2 - d1;
		mbedtls_rsa_free(&ctx);
	}

	__int64 sum = 0;
	for (int i = 0; i < 10; i++)
	{
		sum += result[i];
		printf("[%02d] %I64d\r\n", i, result[i]);
	}

	printf("average: %I64d\r\n", sum / 10);	

    return 0;
}

[32 bit]

[00] 22086
[01] 49062
[02] 3343
[03] 31910
[04] 2524
[05] 8368
[06] 8333
[07] 9890
[08] 3255
[09] 2687
average: 14145

[64 bit]

[00] 4910
[01] 4062
[02] 6632
[03] 7013
[04] 3077
[05] 5557
[06] 3344
[07] 4671
[08] 7079
[09] 2189
average: 4853

=============================================

#include "stdAfx.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h> // strlen
#include <openssl/rsa.h>

#pragma comment(lib, "libeay32.lib")
#pragma comment(lib, "ssleay32.lib")

inline __int64 GetCurrentTimestampMs()
{
    double v = 0.0f;
    LARGE_INTEGER PerformanceCount = { 0 };
    LARGE_INTEGER Frequency = { 0 };
    if (QueryPerformanceCounter(&PerformanceCount) && QueryPerformanceFrequency(&Frequency))
        v = (double)(PerformanceCount.QuadPart) * 1000.0f / (double)(Frequency.QuadPart);
    return (__int64)v;
}

int main()
{
	__int64 result[10];

	for (int i = 0; i < 10; i++)
	{
		__int64 d1 = GetCurrentTimestampMs();
		RSA* r = RSA_generate_key(4096, 0x10001L, NULL, NULL);   
		__int64 d2 = GetCurrentTimestampMs();
		RSA_free(r);
		result[i] = d2 - d1;
	}

	__int64 sum = 0;
	for (int i = 0; i < 10; i++)
	{
		sum += result[i];
		printf("[%02d] %I64d\r\n", i, result[i]);
	}

	printf("average: %I64d\r\n", sum / 10);

    return 0;
}

[32 bit]

[00] 14085
[01] 29560
[02] 17980
[03] 17399
[04] 41647
[05] 19354
[06] 12510
[07] 3699
[08] 12845
[09] 22521
average: 19160

===========================================================

#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h> // strlen
#include "rng.h"
#include "rsa.h"
#include "osrng.h"
using namespace CryptoPP;

#if defined _WIN64
#pragma comment(lib, "cryptopp820_64bit_vc2013_mtd.lib")
#else
#pragma comment(lib, "cryptopp820_32bit_vc2013_mtd.lib")
#endif

inline __int64 GetCurrentTimestampMs()
{
    double v = 0.0f;
    LARGE_INTEGER PerformanceCount = { 0 };
    LARGE_INTEGER Frequency = { 0 };
    if (QueryPerformanceCounter(&PerformanceCount) && QueryPerformanceFrequency(&Frequency))
        v = (double)(PerformanceCount.QuadPart) * 1000.0f / (double)(Frequency.QuadPart);
    return (__int64)v;
}

int _tmain(int argc, _TCHAR* argv[])
{
	__int64 result[10];

	for (int i = 0; i < 10; i++)
	{
		__int64 d1 = GetCurrentTimestampMs();
		AutoSeededRandomPool rng;
		InvertibleRSAFunction keys;
		keys.GenerateRandomWithKeySize(rng, 4096);
		__int64 d2 = GetCurrentTimestampMs();
		result[i] = d2 - d1;
	}

	__int64 sum = 0;
	for (int i = 0; i < 10; i++)
	{
		sum += result[i];
		printf("[%02d] %I64d\r\n", i, result[i]);
	}

	printf("average: %I64d\r\n", sum / 10);
	return 0;
}

[32 bit]

[00] 930
[01] 4920
[02] 1702
[03] 795
[04] 699
[05] 1552
[06] 2021
[07] 1608
[08] 812
[09] 2182
average: 1722


[64 bit]

[00] 1516
[01] 665
[02] 1117
[03] 212
[04] 582
[05] 1274
[06] 1664
[07] 2307
[08] 1335
[09] 2724
average: 1339

Copyright © 2019 Zhang Luduo.

All rights reserved.