View Issue Details

IDProjectCategoryView StatusLast Update
0003267GNUnetutil librarypublic2014-01-10 17:05
ReporterBart Polot Assigned ToBart Polot  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionno change required 
Product VersionGit master 
Target Version0.10.1Fixed in VersionGit master 
Summary0003267: Scrypt is ridiculously slow on x86_64
DescriptionNSE proof of work generation on rapberry pi:
bart@skylab ~/tum/src/gnunet/src/util $ ./gnunet-scrypt -o tmp
Jan 09 05:34:10-287999 gnunet-scrypt-22443 INFO Proof of Work file: /mnt/dwl/tum/src/gnunet/src/util/tmp
Jan 09 05:34:10-292167 gnunet-scrypt-22443 INFO Private Key file: /home/bart/.local/share/gnunet//private_key.ecc
Jan 09 05:34:10-376559 gnunet-scrypt-22443 INFO Peer ID: LP3CQI1RHL55BI6HE211NNV9O0KCCEQPHI4G7EI18VC13CRT4DP0
Jan 09 05:34:10-379844 gnunet-scrypt-22443 INFO Bits: 22
Jan 09 05:34:10-454621 gnunet-scrypt-22443 INFO Current: 840 [7171 µs/proof]
Jan 09 05:34:10-525787 gnunet-scrypt-22443 INFO Current: 850 [6850 µs/proof]
Jan 09 05:34:10-598801 gnunet-scrypt-22443 INFO Current: 860 [6977 µs/proof]
Jan 09 05:34:10-671636 gnunet-scrypt-22443 INFO Current: 870 [7007 µs/proof]
Jan 09 05:34:10-742881 gnunet-scrypt-22443 INFO Current: 880 [6858 µs/proof]
Jan 09 05:34:10-815593 gnunet-scrypt-22443 INFO Current: 890 [6992 µs/proof]
Jan 09 05:34:10-888361 gnunet-scrypt-22443 INFO Current: 900 [7009 µs/proof]
Jan 09 05:34:10-961977 gnunet-scrypt-22443 INFO Current: 910 [7079 µs/proof]
Jan 09 05:34:11-032423 gnunet-scrypt-22443 INFO Current: 920 [6746 µs/proof]
Jan 09 05:34:11-105362 gnunet-scrypt-22443 INFO Current: 930 [7032 µs/proof]
Jan 09 05:34:11-178189 gnunet-scrypt-22443 INFO Current: 940 [7018 µs/proof]
Jan 09 05:34:11-249708 gnunet-scrypt-22443 INFO Current: 950 [6883 µs/proof]
Jan 09 05:34:11-322295 gnunet-scrypt-22443 INFO Current: 960 [6966 µs/proof]
Jan 09 05:34:11-398346 gnunet-scrypt-22443 INFO Current: 970 [7340 µs/proof]
Jan 09 05:34:11-477784 gnunet-scrypt-22443 INFO Current: 980 [7675 µs/proof]
Jan 09 05:34:11-548927 gnunet-scrypt-22443 INFO Current: 990 [6804 µs/proof]
Jan 09 05:34:11-621935 gnunet-scrypt-22443 INFO Current: 1000 [7028 µs/proof]
Jan 09 05:34:11-701867 gnunet-scrypt-22443 INFO Current: 1010 [7531 µs/proof]
Jan 09 05:34:11-785292 gnunet-scrypt-22443 INFO Current: 1020 [7498 µs/proof]
Jan 09 05:34:11-856135 gnunet-scrypt-22443 INFO Current: 1030 [6820 µs/proof]
Jan 09 05:34:11-929982 gnunet-scrypt-22443 INFO Current: 1040 [7083 µs/proof]
Jan 09 05:34:12-003212 gnunet-scrypt-22443 INFO Current: 1050 [7017 µs/proof]
Jan 09 05:34:12-073730 gnunet-scrypt-22443 INFO Current: 1060 [6777 µs/proof]
Jan 09 05:34:12-150973 gnunet-scrypt-22443 INFO Current: 1070 [7458 µs/proof]
Jan 09 05:34:12-224605 gnunet-scrypt-22443 INFO Current: 1080 [7059 µs/proof]
Jan 09 05:34:12-297535 gnunet-scrypt-22443 INFO Current: 1090 [7026 µs/proof]
Jan 09 05:34:12-370162 gnunet-scrypt-22443 INFO Current: 1100 [6985 µs/proof]
Jan 09 05:34:12-444999 gnunet-scrypt-22443 INFO Current: 1110 [7204 µs/proof]
Jan 09 05:34:12-518349 gnunet-scrypt-22443 INFO Current: 1120 [7036 µs/proof]
Jan 09 05:34:12-589511 gnunet-scrypt-22443 INFO Current: 1130 [6843 µs/proof]

NSE proof of work generation on laptop Core i5
[bart@voyager ~/tmpd/gnunet/src/util]$ ./gnunet-scrypt -o tmp
Jan 10 05:26:28-303207 gnunet-scrypt-1926 INFO Proof of Work file: /home/bart/tmpd/gnunet/src/util/tmp
Jan 10 05:26:28-303301 gnunet-scrypt-1926 INFO Private Key file: /home/bart/.local/share/gnunet//private_key.ecc
Jan 10 05:26:28-307149 gnunet-scrypt-1926 INFO Peer ID: VGR0QQ38VHA4CP1HHV93PA1LLBL4Q5AE4PHVLES4G64EGFLIB7H0
Jan 10 05:26:28-307182 gnunet-scrypt-1926 INFO Bits: 22
Jan 10 05:26:29-159114 gnunet-scrypt-1926 INFO Current: 150 [85189 µs/proof]
Jan 10 05:26:30-067105 gnunet-scrypt-1926 INFO Current: 160 [90794 µs/proof]
Jan 10 05:26:30-988549 gnunet-scrypt-1926 INFO Current: 170 [92138 µs/proof]
Jan 10 05:26:31-872945 gnunet-scrypt-1926 INFO Current: 180 [88434 µs/proof]
Jan 10 05:26:32-791034 gnunet-scrypt-1926 INFO Current: 190 [91802 µs/proof]
Jan 10 05:26:33-682890 gnunet-scrypt-1926 INFO Current: 200 [89180 µs/proof]
Jan 10 05:26:34-563715 gnunet-scrypt-1926 INFO Current: 210 [88077 µs/proof]
Jan 10 05:26:35-464568 gnunet-scrypt-1926 INFO Current: 220 [90080 µs/proof]
Jan 10 05:26:36-334728 gnunet-scrypt-1926 INFO Current: 230 [87010 µs/proof]
Jan 10 05:26:37-257102 gnunet-scrypt-1926 INFO Current: 240 [92232 µs/proof]
Jan 10 05:26:38-140082 gnunet-scrypt-1926 INFO Current: 250 [88292 µs/proof]
Jan 10 05:26:39-031990 gnunet-scrypt-1926 INFO Current: 260 [89185 µs/proof]
Jan 10 05:26:39-943899 gnunet-scrypt-1926 INFO Current: 270 [91186 µs/proof]
Jan 10 05:26:40-830661 gnunet-scrypt-1926 INFO Current: 280 [88671 µs/proof]
Jan 10 05:26:41-721889 gnunet-scrypt-1926 INFO Current: 290 [89117 µs/proof]
Jan 10 05:26:42-613370 gnunet-scrypt-1926 INFO Current: 300 [89142 µs/proof]
Jan 10 05:26:43-504300 gnunet-scrypt-1926 INFO Current: 310 [89087 µs/proof]
Jan 10 05:26:44-383254 gnunet-scrypt-1926 INFO Current: 320 [87890 µs/proof]
Jan 10 05:26:45-344020 gnunet-scrypt-1926 INFO Current: 330 [96070 µs/proof]
^CJan 10 05:26:46-229675 gnunet-scrypt-1926 INFO Current: 340 [88559 µs/proof]
Jan 10 05:26:47-113826 gnunet-scrypt-1926 INFO Current: 350 [88409 µs/proof]

NSE proof of work generation on desktop Xeon i7
[bart@saturn ~/g/src/util]$ ./gnunet-scrypt -o tmp
Jan 10 05:29:14-995948 gnunet-scrypt-21148 INFO Proof of Work file: /home/bart/svn/gnunet/src/util/tmp
Jan 10 05:29:14-996064 gnunet-scrypt-21148 INFO Private Key file: /home/bart/.local/share/gnunet//private_key.ecc
Jan 10 05:29:15-000114 gnunet-scrypt-21148 INFO Peer ID: ST7EQNF9AQG3O3UUDC2VLSU572KK5JLFP243EI858Q6V30ER49RG
Jan 10 05:29:15-000144 gnunet-scrypt-21148 INFO Timeout: 0 ms
Jan 10 05:29:15-633045 gnunet-scrypt-21148 INFO Current: 180 [63286 µs/proof]
Jan 10 05:29:16-267054 gnunet-scrypt-21148 INFO Current: 190 [63393 µs/proof]
Jan 10 05:29:16-898371 gnunet-scrypt-21148 INFO Current: 200 [63124 µs/proof]
Jan 10 05:29:17-531466 gnunet-scrypt-21148 INFO Current: 210 [63301 µs/proof]
Jan 10 05:29:18-164456 gnunet-scrypt-21148 INFO Current: 220 [63290 µs/proof]
Jan 10 05:29:18-794445 gnunet-scrypt-21148 INFO Current: 230 [62991 µs/proof]
Jan 10 05:29:19-426447 gnunet-scrypt-21148 INFO Current: 240 [63192 µs/proof]
Jan 10 05:29:20-055892 gnunet-scrypt-21148 INFO Current: 250 [62937 µs/proof]
Steps To Reproduce[bart@saturn ~/g/src/util]$ export GNUNET_FORCE_LOG=";;;;INFO"
[bart@saturn ~/g/src/util]$ ./gnunet-scrypt -o tmp
TagsNo tags attached.

Activities

Bart Polot

2014-01-10 05:36

manager   ~0007979

libgcrypt in git HEAD is to blame.

git co libgcrypt-1.6.0; make install

[bart@voyager ~/g/src/util]$ ./gnunet-scrypt -o tmp
Jan 10 05:33:48-012982 gnunet-scrypt-12533 INFO Proof of Work file: /home/bart/tum/gnunet-svn/gnunet/src/util/tmp
Jan 10 05:33:48-013090 gnunet-scrypt-12533 INFO Private Key file: /home/bart/.local/share/gnunet//private_key.ecc
Jan 10 05:33:48-016891 gnunet-scrypt-12533 INFO Peer ID: VGR0QQ38VHA4CP1HHV93PA1LLBL4Q5AE4PHVLES4G64EGFLIB7H0
Jan 10 05:33:48-016934 gnunet-scrypt-12533 INFO Bits: 22
Jan 10 05:33:48-039871 gnunet-scrypt-12533 INFO Current: 10 [2290 µs/proof]
Jan 10 05:33:48-062773 gnunet-scrypt-12533 INFO Current: 20 [2284 µs/proof]
Jan 10 05:33:48-085715 gnunet-scrypt-12533 INFO Current: 30 [2289 µs/proof]
Jan 10 05:33:48-108485 gnunet-scrypt-12533 INFO Current: 40 [2271 µs/proof]
Jan 10 05:33:48-131254 gnunet-scrypt-12533 INFO Current: 50 [2272 µs/proof]
Jan 10 05:33:48-154501 gnunet-scrypt-12533 INFO Current: 60 [2320 µs/proof]
Jan 10 05:33:48-177517 gnunet-scrypt-12533 INFO Current: 70 [2297 µs/proof]
Jan 10 05:33:48-200255 gnunet-scrypt-12533 INFO Current: 80 [2267 µs/proof]
Jan 10 05:33:48-223254 gnunet-scrypt-12533 INFO Current: 90 [2294 µs/proof]
Jan 10 05:33:48-245943 gnunet-scrypt-12533 INFO Current: 100 [2263 µs/proof]
Jan 10 05:33:48-269915 gnunet-scrypt-12533 INFO Current: 110 [2392 µs/proof]
Jan 10 05:33:48-293336 gnunet-scrypt-12533 INFO Current: 120 [2338 µs/proof]
Jan 10 05:33:48-316090 gnunet-scrypt-12533 INFO Current: 130 [2270 µs/proof]
Jan 10 05:33:48-338822 gnunet-scrypt-12533 INFO Current: 140 [2267 µs/proof]
Jan 10 05:33:48-362787 gnunet-scrypt-12533 INFO Current: 150 [2391 µs/proof]
Jan 10 05:33:48-387552 gnunet-scrypt-12533 INFO Current: 160 [2471 µs/proof]
Jan 10 05:33:48-415114 gnunet-scrypt-12533 INFO Current: 170 [2749 µs/proof]
Jan 10 05:33:48-438827 gnunet-scrypt-12533 INFO Current: 180 [2366 µs/proof]
Jan 10 05:33:48-461663 gnunet-scrypt-12533 INFO Current: 190 [2278 µs/proof]
Jan 10 05:33:48-485498 gnunet-scrypt-12533 INFO Current: 200 [2378 µs/proof]
Jan 10 05:33:48-509628 gnunet-scrypt-12533 INFO Current: 210 [2408 µs/proof]
Jan 10 05:33:48-532749 gnunet-scrypt-12533 INFO Current: 220 [2308 µs/proof]
Jan 10 05:33:48-555953 gnunet-scrypt-12533 INFO Current: 230 [2315 µs/proof]
Jan 10 05:33:48-578623 gnunet-scrypt-12533 INFO Current: 240 [2262 µs/proof]
Jan 10 05:33:48-601446 gnunet-scrypt-12533 INFO Current: 250 [2277 µs/proof]
Jan 10 05:33:48-624264 gnunet-scrypt-12533 INFO Current: 260 [2276 µs/proof]
Jan 10 05:33:48-647004 gnunet-scrypt-12533 INFO Current: 270 [2268 µs/proof]
Jan 10 05:33:48-669708 gnunet-scrypt-12533 INFO Current: 280 [2265 µs/proof]
Jan 10 05:33:48-693655 gnunet-scrypt-12533 INFO Current: 290 [2389 µs/proof]
Jan 10 05:33:48-716800 gnunet-scrypt-12533 INFO Current: 300 [2310 µs/proof]
Jan 10 05:33:48-739572 gnunet-scrypt-12533 INFO Current: 310 [2270 µs/proof]
Jan 10 05:33:48-762380 gnunet-scrypt-12533 INFO Current: 320 [2275 µs/proof]
Jan 10 05:33:48-785659 gnunet-scrypt-12533 INFO Current: 330 [2323 µs/proof]
Jan 10 05:33:48-808421 gnunet-scrypt-12533 INFO Current: 340 [2272 µs/proof]

50x performance degradation... ouch!

Issue History

Date Modified Username Field Change
2014-01-10 05:30 Bart Polot New Issue
2014-01-10 05:30 Bart Polot Status new => assigned
2014-01-10 05:30 Bart Polot Assigned To => Bart Polot
2014-01-10 05:36 Bart Polot Note Added: 0007979
2014-01-10 05:36 Bart Polot Status assigned => closed
2014-01-10 05:36 Bart Polot Resolution open => no change required
2014-01-10 05:36 Bart Polot Fixed in Version => Git master