--- Day changed Tue Aug 21 2018 03:01 -!- HarryS3 [~HarryS@85.174.98.15] has joined #secp256k1 03:03 -!- HarryS3 [~HarryS@85.174.98.15] has quit [Remote host closed the connection] 04:12 -!- belcher_ [~belcher@unaffiliated/belcher] has joined #secp256k1 04:42 -!- deusexbeer [~deusexbee@095-129-172-241-dynamic-pool-adsl.wbt.ru] has quit [Quit: Konversation terminated!] 04:45 -!- deusexbeer [~deusexbee@095-129-172-241-dynamic-pool-adsl.wbt.ru] has joined #secp256k1 06:48 -!- jtimon [~quassel@213.28.134.37.dynamic.jazztel.es] has joined #secp256k1 06:50 < andytoshi> been trying to implement the "provide a block of memory" API for context creation and it's a bit hairy 06:50 < andytoshi> because both ecmult_gen and ecmult contexts use a pile of scratch memory during precomp, which they later free 06:51 < andytoshi> and this memory isn't needed, e.g. when cloning a context 06:51 < andytoshi> so i wonder whether cloning should take a different size (and the user would need to handle two size functions), or if it should just use the context-creation size (which would overallocate) 06:52 < andytoshi> alternately i could try to make clone still work by allocating memory, since why would anyone trying to avoid malloc() want to clone .. but that's hard because context_destroy() needs to know whether or not to call free() 08:37 <@gmaxwell> how much is that pile? should it be on the stack? 09:21 < andytoshi> for the ecmult_gen context it's just the memory used by batch gej->ge inversion which i can definitely do in place (well, by using the target ge x and y coordinates as scratch space) 09:21 < andytoshi> in the ecmult context it looks nontrivial, it's a ge, gej and fe element times WINDOW_SIZE 09:35 < andytoshi> which is 1<<14 i think 09:37 < andytoshi> it's specifically the memory allocated at the top of `secp256k1_ecmult_odd_multiples_table_storage_var` if you want to look at it 09:45 * nsh wonders idly if inplace arithmetic still necessarily results in speedups given pipelining and microarchitecture complexities) 09:45 < nsh> probably i guess idk 09:50 < andytoshi> nsh: it's about avoiding an extra malloc call, i expect it to be performance neutral 09:50 < andytoshi> for trezor integration i'd like the precomp to be possible using a minimally-sized preallocated slab of memory 09:56 <@gmaxwell> historically trezor didn't do validation. 10:03 < nsh> andytoshi, ah ty 11:32 -!- irc-5225225 [~irc-52252@118.32.241.214] has joined #secp256k1 11:36 < andytoshi> gmaxwell: it's plausible that i could get away with only a signing context. though i would also like to be able to do CA 11:36 -!- irc-5225225 [~irc-52252@118.32.241.214] has quit [Remote host closed the connection] 11:37 -!- Netsplit *.net <-> *.split quits: Taek42 11:38 -!- GAit [~GAit@101.ip-213-32-22.eu] has joined #secp256k1 11:38 -!- Taek [~quassel@2001:41d0:1:472e::] has joined #secp256k1 11:40 -!- GAit is now known as Guest70578 11:41 <@gmaxwell> so I think batch inv can be rearranged into a tree so that it needs log memory. 11:44 -!- nsh [~lol@wikipedia/nsh] has joined #secp256k1 11:48 -!- ensign [~ensign@2001:41d0:8:d711::1] has joined #secp256k1 11:49 < andytoshi> yeah, i'll bet so, similar to the dettman algo for bulletproofs 12:02 -!- belcher_ [~belcher@unaffiliated/belcher] has quit [Ping timeout: 265 seconds] 12:17 -!- belcher_ [~belcher@unaffiliated/belcher] has joined #secp256k1 12:39 -!- Netsplit *.net <-> *.split quits: meshcollider 12:46 -!- meshcollider [meshcollid@gateway/shell/elitebnc/x-wgvbdtbctoyeevjj] has joined #secp256k1 12:52 -!- AC`97_ [~AC`97_@121.130.32.237] has joined #secp256k1 12:54 -!- AC`97_ [~AC`97_@121.130.32.237] has quit [Remote host closed the connection] 13:56 -!- Guest93290 [~Boohbah@186-95-88-90.genericrev.cantv.net] has joined #secp256k1 13:59 -!- Guest93290 [~Boohbah@186-95-88-90.genericrev.cantv.net] has quit [Remote host closed the connection] 14:31 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has quit [Excess Flood] 14:40 -!- luke-jr [~luke-jr@unaffiliated/luke-jr] has joined #secp256k1 16:13 -!- belcher_ [~belcher@unaffiliated/belcher] has quit [Quit: Leaving] 17:34 -!- hpt [~hpt@71-12-80-97.dhcp.spbg.sc.charter.com] has joined #secp256k1 17:38 -!- hpt [~hpt@71-12-80-97.dhcp.spbg.sc.charter.com] has quit [Remote host closed the connection] 18:06 -!- jtimon [~quassel@213.28.134.37.dynamic.jazztel.es] has quit [Ping timeout: 260 seconds] 18:34 -!- deusexbeer [~deusexbee@095-129-172-241-dynamic-pool-adsl.wbt.ru] has quit [Quit: Konversation terminated!] 21:44 -!- tomek12 [~tomek@147.75.120.24] has joined #secp256k1 21:45 -!- tomek12 [~tomek@147.75.120.24] has quit [Remote host closed the connection] 22:24 -!- pendo324 [~pendo324@190.142.136.126] has joined #secp256k1 22:26 -!- pendo324 [~pendo324@190.142.136.126] has quit [Read error: Connection reset by peer]