1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/security/nss/lib/freebl/mpi/doc/timing.txt Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,213 @@ 1.4 +MPI Library Timing Tests 1.5 + 1.6 +Hardware/OS 1.7 +(A) SGI O2 1 x MIPS R10000 250MHz IRIX 6.5.3 1.8 +(B) IBM RS/6000 43P-240 1 x PowerPC 603e 223MHz AIX 4.3 1.9 +(C) Dell GX1/L+ 1 x Pentium III 550MHz Linux 2.2.12-20 1.10 +(D) PowerBook G3 1 x PowerPC 750 266MHz LinuxPPC 2.2.6-15apmac 1.11 +(E) PowerBook G3 1 x PowerPC 750 266MHz MacOS 8.5.1 1.12 +(F) PowerBook G3 1 x PowerPC 750 400MHz MacOS 9.0.2 1.13 + 1.14 +Compiler 1.15 +(1) MIPSpro C 7.2.1 -O3 optimizations 1.16 +(2) GCC 2.95.1 -O3 optimizations 1.17 +(3) IBM AIX xlc -O3 optimizations (version unknown) 1.18 +(4) EGCS 2.91.66 -O3 optimizations 1.19 +(5) Metrowerks CodeWarrior 5.0 C, all optimizations 1.20 +(6) MIPSpro C 7.30 -O3 optimizations 1.21 +(7) same as (6), with optimized libmalloc.so 1.22 + 1.23 +Timings are given in seconds, computed using the C library's clock() 1.24 +function. The first column gives the hardware and compiler 1.25 +configuration used for the test. The second column indicates the 1.26 +number of tests that were aggregated to get the statistics for that 1.27 +size. These were compiled using 16 bit digits. 1.28 + 1.29 +Source data were generated randomly using a fixed seed, so they should 1.30 +be internally consistent, but may vary on different systems depending 1.31 +on the C library. Also, since the resolution of the timer accessed by 1.32 +clock() varies, there may be some variance in the precision of these 1.33 +measurements. 1.34 + 1.35 +Prime Generation (primegen) 1.36 + 1.37 +128 bits: 1.38 +A1 200 min=0.03, avg=0.19, max=0.72, sum=38.46 1.39 +A2 200 min=0.02, avg=0.16, max=0.62, sum=32.55 1.40 +B3 200 min=0.01, avg=0.07, max=0.22, sum=13.29 1.41 +C4 200 min=0.00, avg=0.03, max=0.20, sum=6.14 1.42 +D4 200 min=0.00, avg=0.05, max=0.33, sum=9.70 1.43 +A6 200 min=0.01, avg=0.09, max=0.36, sum=17.48 1.44 +A7 200 min=0.00, avg=0.05, max=0.24, sum=10.07 1.45 + 1.46 +192 bits: 1.47 +A1 200 min=0.05, avg=0.45, max=3.13, sum=89.96 1.48 +A2 200 min=0.04, avg=0.39, max=2.61, sum=77.55 1.49 +B3 200 min=0.02, avg=0.18, max=1.25, sum=36.97 1.50 +C4 200 min=0.01, avg=0.09, max=0.33, sum=18.24 1.51 +D4 200 min=0.02, avg=0.15, max=0.54, sum=29.63 1.52 +A6 200 min=0.02, avg=0.24, max=1.70, sum=47.84 1.53 +A7 200 min=0.01, avg=0.15, max=1.05, sum=30.88 1.54 + 1.55 +256 bits: 1.56 +A1 200 min=0.08, avg=0.92, max=6.13, sum=184.79 1.57 +A2 200 min=0.06, avg=0.76, max=5.03, sum=151.11 1.58 +B3 200 min=0.04, avg=0.41, max=2.68, sum=82.35 1.59 +C4 200 min=0.02, avg=0.19, max=0.69, sum=37.91 1.60 +D4 200 min=0.03, avg=0.31, max=1.15, sum=63.00 1.61 +A6 200 min=0.04, avg=0.48, max=3.13, sum=95.46 1.62 +A7 200 min=0.03, avg=0.37, max=2.36, sum=73.60 1.63 + 1.64 +320 bits: 1.65 +A1 200 min=0.11, avg=1.59, max=6.14, sum=318.81 1.66 +A2 200 min=0.09, avg=1.27, max=4.93, sum=254.03 1.67 +B3 200 min=0.07, avg=0.82, max=3.13, sum=163.80 1.68 +C4 200 min=0.04, avg=0.44, max=1.91, sum=87.59 1.69 +D4 200 min=0.06, avg=0.73, max=3.22, sum=146.73 1.70 +A6 200 min=0.07, avg=0.93, max=3.50, sum=185.01 1.71 +A7 200 min=0.05, avg=0.76, max=2.94, sum=151.78 1.72 + 1.73 +384 bits: 1.74 +A1 200 min=0.16, avg=2.69, max=11.41, sum=537.89 1.75 +A2 200 min=0.13, avg=2.15, max=9.03, sum=429.14 1.76 +B3 200 min=0.11, avg=1.54, max=6.49, sum=307.78 1.77 +C4 200 min=0.06, avg=0.81, max=4.84, sum=161.13 1.78 +D4 200 min=0.10, avg=1.38, max=8.31, sum=276.81 1.79 +A6 200 min=0.11, avg=1.73, max=7.36, sum=345.55 1.80 +A7 200 min=0.09, avg=1.46, max=6.12, sum=292.02 1.81 + 1.82 +448 bits: 1.83 +A1 200 min=0.23, avg=3.36, max=15.92, sum=672.63 1.84 +A2 200 min=0.17, avg=2.61, max=12.25, sum=522.86 1.85 +B3 200 min=0.16, avg=2.10, max=9.83, sum=420.86 1.86 +C4 200 min=0.09, avg=1.44, max=7.64, sum=288.36 1.87 +D4 200 min=0.16, avg=2.50, max=13.29, sum=500.17 1.88 +A6 200 min=0.15, avg=2.31, max=10.81, sum=461.58 1.89 +A7 200 min=0.14, avg=2.03, max=9.53, sum=405.16 1.90 + 1.91 +512 bits: 1.92 +A1 200 min=0.30, avg=6.12, max=22.18, sum=1223.35 1.93 +A2 200 min=0.25, avg=4.67, max=16.90, sum=933.18 1.94 +B3 200 min=0.23, avg=4.13, max=14.94, sum=825.45 1.95 +C4 200 min=0.13, avg=2.08, max=9.75, sum=415.22 1.96 +D4 200 min=0.24, avg=4.04, max=20.18, sum=808.11 1.97 +A6 200 min=0.22, avg=4.47, max=16.19, sum=893.83 1.98 +A7 200 min=0.20, avg=4.03, max=14.65, sum=806.02 1.99 + 1.100 +Modular Exponentation (metime) 1.101 + 1.102 +The following results are aggregated from 200 pseudo-randomly 1.103 +generated tests, based on a fixed seed. 1.104 + 1.105 + base, exponent, and modulus size (bits) 1.106 +P/C 128 192 256 320 384 448 512 640 768 896 1024 1.107 +------- ----------------------------------------------------------------- 1.108 +A1 0.015 0.027 0.047 0.069 0.098 0.133 0.176 0.294 0.458 0.680 1.040 1.109 +A2 0.013 0.024 0.037 0.053 0.077 0.102 0.133 0.214 0.326 0.476 0.668 1.110 +B3 0.005 0.011 0.021 0.036 0.056 0.084 0.121 0.222 0.370 0.573 0.840 1.111 +C4 0.002 0.006 0.011 0.020 0.032 0.048 0.069 0.129 0.223 0.344 0.507 1.112 +D4 0.004 0.010 0.019 0.034 0.056 0.085 0.123 0.232 0.390 0.609 0.899 1.113 +E5 0.007 0.015 0.031 0.055 0.088 0.133 0.183 0.342 0.574 0.893 1.317 1.114 +A6 0.008 0.016 0.038 0.042 0.064 0.093 0.133 0.239 0.393 0.604 0.880 1.115 +A7 0.005 0.011 0.020 0.036 0.056 0.083 0.121 0.223 0.374 0.583 0.855 1.116 + 1.117 +Multiplication and Squaring tests, (mulsqr) 1.118 + 1.119 +The following results are aggregated from 500000 pseudo-randomly 1.120 +generated tests, based on a per-run wall-clock seed. Times are given 1.121 +in seconds, except where indicated in microseconds (us). 1.122 + 1.123 +(A1) 1.124 + 1.125 +bits multiply square ad percent time/mult time/square 1.126 +64 9.33 9.15 > 1.9 18.7us 18.3us 1.127 +128 10.88 10.44 > 4.0 21.8us 20.9us 1.128 +192 13.30 11.89 > 10.6 26.7us 23.8us 1.129 +256 14.88 12.64 > 15.1 29.8us 25.3us 1.130 +320 18.64 15.01 > 19.5 37.3us 30.0us 1.131 +384 23.11 17.70 > 23.4 46.2us 35.4us 1.132 +448 28.28 20.88 > 26.2 56.6us 41.8us 1.133 +512 34.09 24.51 > 28.1 68.2us 49.0us 1.134 +640 47.86 33.25 > 30.5 95.7us 66.5us 1.135 +768 64.91 43.54 > 32.9 129.8us 87.1us 1.136 +896 84.49 55.48 > 34.3 169.0us 111.0us 1.137 +1024 107.25 69.21 > 35.5 214.5us 138.4us 1.138 +1536 227.97 141.91 > 37.8 456.0us 283.8us 1.139 +2048 394.05 242.15 > 38.5 788.1us 484.3us 1.140 + 1.141 +(A2) 1.142 + 1.143 +bits multiply square ad percent time/mult time/square 1.144 +64 7.87 7.95 < 1.0 15.7us 15.9us 1.145 +128 9.40 9.19 > 2.2 18.8us 18.4us 1.146 +192 11.15 10.59 > 5.0 22.3us 21.2us 1.147 +256 12.02 11.16 > 7.2 24.0us 22.3us 1.148 +320 14.62 13.43 > 8.1 29.2us 26.9us 1.149 +384 17.72 15.80 > 10.8 35.4us 31.6us 1.150 +448 21.24 18.51 > 12.9 42.5us 37.0us 1.151 +512 25.36 21.78 > 14.1 50.7us 43.6us 1.152 +640 34.57 29.00 > 16.1 69.1us 58.0us 1.153 +768 46.10 37.60 > 18.4 92.2us 75.2us 1.154 +896 58.94 47.72 > 19.0 117.9us 95.4us 1.155 +1024 73.76 59.12 > 19.8 147.5us 118.2us 1.156 +1536 152.00 118.80 > 21.8 304.0us 237.6us 1.157 +2048 259.41 199.57 > 23.1 518.8us 399.1us 1.158 + 1.159 +(B3) 1.160 + 1.161 +bits multiply square ad percent time/mult time/square 1.162 +64 2.60 2.47 > 5.0 5.20us 4.94us 1.163 +128 4.43 4.06 > 8.4 8.86us 8.12us 1.164 +192 7.03 6.10 > 13.2 14.1us 12.2us 1.165 +256 10.44 8.59 > 17.7 20.9us 17.2us 1.166 +320 14.44 11.64 > 19.4 28.9us 23.3us 1.167 +384 19.12 15.08 > 21.1 38.2us 30.2us 1.168 +448 24.55 19.09 > 22.2 49.1us 38.2us 1.169 +512 31.03 23.53 > 24.2 62.1us 47.1us 1.170 +640 45.05 33.80 > 25.0 90.1us 67.6us 1.171 +768 63.02 46.05 > 26.9 126.0us 92.1us 1.172 +896 83.74 60.29 > 28.0 167.5us 120.6us 1.173 +1024 106.73 76.65 > 28.2 213.5us 153.3us 1.174 +1536 228.94 160.98 > 29.7 457.9us 322.0us 1.175 +2048 398.08 275.93 > 30.7 796.2us 551.9us 1.176 + 1.177 +(C4) 1.178 + 1.179 +bits multiply square ad percent time/mult time/square 1.180 +64 1.34 1.28 > 4.5 2.68us 2.56us 1.181 +128 2.76 2.59 > 6.2 5.52us 5.18us 1.182 +192 4.52 4.16 > 8.0 9.04us 8.32us 1.183 +256 6.64 5.99 > 9.8 13.3us 12.0us 1.184 +320 9.20 8.13 > 11.6 18.4us 16.3us 1.185 +384 12.01 10.58 > 11.9 24.0us 21.2us 1.186 +448 15.24 13.33 > 12.5 30.5us 26.7us 1.187 +512 19.02 16.46 > 13.5 38.0us 32.9us 1.188 +640 27.56 23.54 > 14.6 55.1us 47.1us 1.189 +768 37.89 31.78 > 16.1 75.8us 63.6us 1.190 +896 49.24 41.42 > 15.9 98.5us 82.8us 1.191 +1024 62.59 52.18 > 16.6 125.2us 104.3us 1.192 +1536 131.66 107.72 > 18.2 263.3us 215.4us 1.193 +2048 226.45 182.95 > 19.2 453.0us 365.9us 1.194 + 1.195 +(A7) 1.196 + 1.197 +bits multiply square ad percent time/mult time/square 1.198 +64 1.74 1.71 > 1.7 3.48us 3.42us 1.199 +128 3.48 2.96 > 14.9 6.96us 5.92us 1.200 +192 5.74 4.60 > 19.9 11.5us 9.20us 1.201 +256 8.75 6.61 > 24.5 17.5us 13.2us 1.202 +320 12.5 8.99 > 28.1 25.0us 18.0us 1.203 +384 16.9 11.9 > 29.6 33.8us 23.8us 1.204 +448 22.2 15.2 > 31.7 44.4us 30.4us 1.205 +512 28.3 19.0 > 32.7 56.6us 38.0us 1.206 +640 42.4 28.0 > 34.0 84.8us 56.0us 1.207 +768 59.4 38.5 > 35.2 118.8us 77.0us 1.208 +896 79.5 51.2 > 35.6 159.0us 102.4us 1.209 +1024 102.6 65.5 > 36.2 205.2us 131.0us 1.210 +1536 224.3 140.6 > 37.3 448.6us 281.2us 1.211 +2048 393.4 244.3 > 37.9 786.8us 488.6us 1.212 + 1.213 +------------------------------------------------------------------ 1.214 + This Source Code Form is subject to the terms of the Mozilla Public 1.215 + # License, v. 2.0. If a copy of the MPL was not distributed with this 1.216 + # file, You can obtain one at http://mozilla.org/MPL/2.0/.