log☇︎
14700+ entries in 0.001s
asciilifeform: mircea_popescu: dun suppose you have the text lying around?
asciilifeform: neato ( tho could've sworn nao that we had it in log... )
asciilifeform: ty mircea_popescu , plox to post if/when find
asciilifeform: somehow enemy gotta feed you errything other than those 3/4..
asciilifeform: mircea_popescu: the operative diff is, 3/4 is lower bound. i.e. there aint a composite where 3/4 of the integers aint proper witness.
asciilifeform quite interested in conceptual diddles on m-r in light of phuctor
asciilifeform: then can say 'enemy who fed you a magic p, and then 32 selected witnesses, can lead you off cliff'
asciilifeform: esp. if it runs in human time
asciilifeform: mircea_popescu: that'd entirely fit the bill, if you find it
asciilifeform: cuz this one is 'geological'
asciilifeform: q is whether there is a better algo
asciilifeform: rinse, repeat
asciilifeform: i.e. throw p*q in m-r , with random witness, and see if correctly outputs 'composite'
asciilifeform: mircea_popescu: takes same time as to find m-r false witness for anyffing else
asciilifeform: ( troof-teller i.e. correctly triggers m-r's 'this is composite' litmus )
asciilifeform: usually much moar
asciilifeform: *at least 3/4
asciilifeform: in m-r, for prime p, 3/4 of the integers are troof-tellers for p
asciilifeform: ( it's fermat that chokes on'em )
asciilifeform: carmichaels dun have much to do with m-r
asciilifeform: i recall digging for this, and instead finding conjecture that no canhaz
asciilifeform: nah i'd be satisfied with 'here's n, and here's 32 unequal m-r liars for n'
asciilifeform: mircea_popescu: if you recall where, plz link
asciilifeform: mircea_popescu: interestingly, iirc even to bake 32 liars (having control of the witnesses, presupposes) that 1) all diff 2) work for some n -- is open problem atm
asciilifeform: ( high in comparison with the naked 4**-x that is )
asciilifeform: or rad event in yer irons, also fairly high prob regardless of how you baked rng
asciilifeform: obv
asciilifeform: i.e. if you run somehow 1 per sec, will eat a coupla dozen moon-size asteroids prior to getting misfire..
asciilifeform: 4**(-32) ~= 5.4210e-20 , probability of fatal misfire for 32 rounds of m-r
asciilifeform: ( for n00bz -- prime gen parallelizes, obv., over as many cpu as you have. but ffa per se does not use threads, tho it can be run inside threads with no added headache )
asciilifeform: ( same params, i.e. pronounced prime if passes m-r with 32 rng-shat witnesses )
asciilifeform: in other noose, 100 shots of that 2048bit-prime baker : http://p.bvulpes.com/pastes/DjaVe/?raw=true ; min=13, max=299, avg=61, median=47 (seconds) .
asciilifeform bbl,tea
asciilifeform: ( troo from ch14b and up )
asciilifeform: fwiw 'speed of ffa' for applications involving modexp ( rsa keygen & enc/dec ) hinges ~entirely on speed of the multiplier unit in $iron .
asciilifeform: i expect that as moar folx eat ffa, we will have moar empirical figs to compare.
asciilifeform: ftr rk is effectively 2x, as measured, slower than this gauge box , on ffa.
asciilifeform deliberately uses oldest opteron in the torture room as 'standard ffa gauge' , if wasn't obv.
asciilifeform: ( the latter not used for any of the published tests, but to simply gauge the effect of 'modern' x86isms . fwiw does have constant-time mul etc )
asciilifeform: i also built at various points on a heathen i7 (2.8G) and there runs ~2x faster across the board, ftr
asciilifeform: ( mine, used as ref for all ffa figs, is opteron 2393SE @ 3.1G )
asciilifeform: that's substantially faster box than mine ftr
asciilifeform: diana_coman: no rush, we'll find out how compares on given $iron when you get around to 18 .
asciilifeform: aanyways i expect that when diana_coman gets to eating ch18, we can compare properly .
asciilifeform: ( in asciilifeform's demo, proggy halts when candidate passes 32 rnds )
asciilifeform: tho unless i misread, that ^ figure included 16 iterations thereof, rather than 1
asciilifeform: ( also had 'an average of 9.78 seconds per M-R run' , on again i dun presently know which irons )
asciilifeform: 'A relatively short test run obtained 40 random primes of 2048 bits each in 13274 seconds in total (3.7 hours) meaning on average 331.85 seconds per prime (~6 minutes).'
asciilifeform: diana_coman back in the day posted old-style mpi timings but i do not know on what irons so cannot readily compare .
asciilifeform: ( when 1st started ffa, was quite ready to live with 'keygen takes hour+' ftr )
asciilifeform: tbh i cannot however think of when or where i would say 'ugh, 10min is too long for baking a 4096b key'..
asciilifeform: ( naturally at no point will the algo complete faster than the time eaten by the given # of m-r rounds specified )
asciilifeform: to reduce the # of sad candidates that m-r ends up eating
asciilifeform: for thread-completeness, will add that it is possible to speed up the algo by giving not only 1 'primorial up to width' but it and then whichever number of product(n+1th-prime ... n+i-th prime) that yet again fit in the width, and so forth, for any desired # of small primes, for the initial sieve
asciilifeform: ( so i expect will be ~7 min. or so per 4096b key, on iron of this horse )
asciilifeform: granted for actual key will want also random e , and will reject some p,q,e triples based on the obvious rule
asciilifeform: ~16 - ~70 range.
asciilifeform: grr, earlier typo, not ~1s fastest of course, but 16 , lol
asciilifeform: mircea_popescu: ssh iirc uses ellipticisms by default, so whole own category of joak
asciilifeform: prolly on acct of http://www.loper-os.org/?p=2906 -ism
asciilifeform: mircea_popescu: funnily enuff, koch takes approx same time, and that's with him not using rng witnesses at all iirc...
asciilifeform: it's ~= the figure i predicted on napkin, but nao has experimental confirm.
asciilifeform: on current ffa ( i.e. no asmisms )
asciilifeform: the carryaway is that ( with operating fg ) it'll take <2min to bake a 4096bit key .
asciilifeform: example is to illustrate style, i did not particularly doubt that it'd work as described .
asciilifeform: if the q returned a null, not problem, lol
asciilifeform: mircea_popescu, diana_coman , et al ^ plox to comment .
asciilifeform: grr, timings didn't make it in; range from <1 to 70sec
asciilifeform: ^ 6 shots .
asciilifeform: http://p.bvulpes.com/pastes/eCTfy/?raw=true http://p.bvulpes.com/pastes/gmIsx/?raw=true http://p.bvulpes.com/pastes/3184T/?raw=true .
asciilifeform: http://p.bvulpes.com/pastes/4yRiK/?raw=true http://p.bvulpes.com/pastes/5NJ3N/?raw=true http://p.bvulpes.com/pastes/0jyWs/?raw=true .
asciilifeform: will post coupla moar outs momentarily.
asciilifeform: on avg. takes 1 - 50 (worst so far) sec. on the 'standard' test box.
asciilifeform: in other noose ! http://p.bvulpes.com/pastes/6rnvA/?raw=true << prelim. smoke test of ch18 example 2048b prime gen. http://p.bvulpes.com/pastes/USsFD/?raw=true << sample output with timing. all the primes pass on e.g. wolfram's , if anyone has a favourite 3rdparty litmus, plox to try also when ch18 posted.
asciilifeform: gotta wonder re the thought process. door clearly marked 'If you don't know where you are, you shouldn't be here.' eh . ☟︎
asciilifeform: grangerstranger: http://btcbase.org/log/2019-03-27#1905120 . very specific q. got answer ? ☝︎
asciilifeform: so entirely generic string .
asciilifeform: mircea_popescu: afaik 'granger' is today an agricultural gear supplier in usa . ( named after 19th c union thing of some variety )
asciilifeform: any given piece of peh tape cannot refer to anything that lies to the right of it, ergo 1 walk suffices
asciilifeform: it oughta be , after study, entirely obvious from single eyeball walk why each 1 does what it does
asciilifeform: but imho 1st it oughta become 'second nature' for the n00b , to read the examples with naked eye
asciilifeform: at some pt i'ma publish the emacs majormode for editing pehs. it is ~much~ easier with colours etc
asciilifeform: Mocky: most battlefield pehtapes , i expect, will be ~much~ easier to read than these ( e.g. will include comments, an' meaningful names ) . these, are simply micro demos that fit in log line
asciilifeform: aanyway
asciilifeform: !A @aa@.7:[a].1-",_; @bb@.5:[b]!.1-",_; .3:[c]!.1-",_
asciilifeform: !A @aa@.7:[a].1-",_; @bb@[b].5:!.1-",_; .3:[c]!.1-",_
asciilifeform: ffa_calc.adb : 1665 loc .
asciilifeform: that's pretty much it.
asciilifeform: ^ the Right Thing.
asciilifeform: !A @aa@[a]; LC @bb@[b]@aa!; RC @aa!
asciilifeform: !A @aa@[a]; LC @bb@[b]@aa!; RC @bb!
asciilifeform: !A @aa@[a].7:.1-",_; @bb@[b].5:!.1-",_; .3:[c]!.1-",_
asciilifeform: err
asciilifeform: !A @aa@[a].7:!.1-",_; @bb@[b].5:!.1-",_; .3:[c]!.1-",_
asciilifeform: !A @foo@.3R*; .3!!!#
asciilifeform: i'ma leave the bot alive nao , for if anyone wants to play.
asciilifeform: ^ does Right Thing .
asciilifeform: !A @foo@[foo]([;]); ! QY
asciilifeform: !A @foo@;; ! QY
asciilifeform: ^ final draft of ch18.