59 entries in 0.408s
a111: 2017-09-13 <apeloyee> would O(N^2) modular multiplication be too slow?
phf: the way btcbase does it is first pairs all patches by name (following our convention, but next by subst distance), processes those and what's left over is brute forced. algo though was implemented back when naming convention was in flux, so in practice it's o(n), but in reality it could approach o(n^2) if patch bucket is full of shit
a111: Logged on 2016-01-18 15:58 ascii_butugychag: the O(N^2) instrinsic runtime of unknown-patch-bag+unknown-sig-bag is something i realized from the start
mircea_popescu: ;; It's simple to determine which vpatches have parents;;; just scan linearly. Performance is O(n^2). << this hurt me painfully.
a111: Logged on 2017-10-07 21:09 apeloyee: asciilifeform: turns out a simple, ffa-suitable O(N^2) algorithm exists for GCD. This is adapted from GMP docs with one extra operation in the loop:
http://p.bvulpes.com/pastes/oupUJ/?raw=true . Note: the code as posted is likely wrong, but I'm sure the idea can be made to work.
apeloyee: asciilifeform: turns out a simple, ffa-suitable O(N^2) algorithm exists for GCD. This is adapted from GMP docs with one extra operation in the loop:
http://p.bvulpes.com/pastes/oupUJ/?raw=true . Note: the code as posted is likely wrong, but I'm sure the idea can be made to work.
☟︎ apeloyee: would O(N^2) modular multiplication be too slow?
ben_vulpes: the naive o(n^2) calculation is to say "there is a signature for this patch" and not giving a shit about which signature, provided it corresponds to a key in .wot .
ben_vulpes: and yes, this implies an o(n^2) worst case process in (or (map 'boolean (lambda (sig) (verify 'some_patch.vpatch' sig)))
a111: Logged on 2016-01-18 15:35 ascii_butugychag: jurov: theoretically you can avoid using the name prior to .sig, but then you have to check ALL seals agains ALL patches ALWAYS and this is O(N^2)
assbot: Logged on 03-02-2016 21:04:13; ascii_butugychag: phf: O(N^2)
assbot: Logged on 03-02-2016 21:04:13; ascii_butugychag: phf: O(N^2)
ascii_butugychag: the O(N^2) instrinsic runtime of unknown-patch-bag+unknown-sig-bag is something i realized from the start
☟︎ ascii_butugychag: if you want the filenames to be garbage, you will have O(N^2) evaluation.
jurov: to not need O(N^2) sig verificaiton
ascii_butugychag: jurov: theoretically you can avoid using the name prior to .sig, but then you have to check ALL seals agains ALL patches ALWAYS and this is O(N^2)
☟︎ ascii_field: to be fair, the first time i wrote it, it sucked donkey cock (wrote gcd in python, it was dog-slow and O(n^2) )