19:00:37 #startmeeting 19:00:37 Meeting started Thu Jul 2 19:00:37 2020 UTC. The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:00:37 Useful Commands: #action #agreed #help #info #idea #link #topic. 19:00:42 hi 19:00:45 hi 19:00:45 hi 19:00:45 hi 19:00:48 Hi 19:00:56 #bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier jl2012 achow101 meshcollider jnewbery maaku fanquake promag provoostenator aj Chris_Stewart_5 dongcarl gwillen jamesob ken281221 ryanofsky gleb moneyball kvaciral ariard digi_james amiti fjahr 19:00:58 jeremyrubin lightlike emilengler jonatack hebasto jb55 elichai2 19:01:06 hi 19:01:15 hi 19:01:17 hi 19:01:19 hi 19:01:25 hi 19:01:28 hi 19:01:35 hi 19:01:59 hi 19:02:07 looks like there have been no proposed meeting topics this week in http://gnusha.org/bitcoin-core-dev/proposedmeetingtopics.txt 19:02:29 hi 19:02:54 hi 19:02:58 hi 19:02:59 Hi 19:03:43 any last minute topic proposals? 19:04:04 would like to discuss the various places we put documentation a bit, but perhaps after the meeting 19:04:47 ok yes that's a bit vague, either you want to prpose it as a meeting topic or not? 19:05:27 #topic High priority for review 19:05:28 sorry, I should be more clear, no, let's table that till after meeting 19:05:38 #19324 for hi prio 19:05:42 https://github.com/bitcoin/bitcoin/issues/19324 | wallet: Move BerkeleyBatch static functions to BerkeleyDatabase by achow101 · Pull Request #19324 · bitcoin/bitcoin · GitHub 19:05:52 https://github.com/bitcoin/bitcoin/projects/8 11 blockers, 1 bugfix, 3 chasing concept ACK pending 19:05:54 dongcarl: ok! 19:06:10 achow101: yup. I predicted that one :) 19:06:57 added 19:06:59 heh 19:07:43 #17919 please 19:07:45 https://github.com/bitcoin/bitcoin/issues/17919 | [DO NOT MERGE] depends: Allow building with system clang by dongcarl · Pull Request #17919 · bitcoin/bitcoin · GitHub 19:08:08 (the DO NOT MERGE is because of the last commit which is a demo, can be dropped easily) 19:08:20 DO NOT MERGE ;) 19:08:39 dongcarl: good to know! 19:09:04 added 19:09:05 #proposedmeetingtopic I'd like to see the nanobench stuff get finished 19:10:38 anything in high priority for review that is mergable or close to being mergable? 19:11:02 we've merged a few smaller ones this week 19:11:34 but looks like most are still busy in mid-review 19:12:22 I think #18191 is mergeable. 19:12:24 #18637 looks somewhat nearing readyness 19:12:24 https://github.com/bitcoin/bitcoin/issues/18191 | Change UpdateForDescendants to use Epochs by JeremyRubin · Pull Request #18191 · bitcoin/bitcoin · GitHub 19:12:27 https://github.com/bitcoin/bitcoin/issues/18637 | coins: allow cache resize after init by jamesob · Pull Request #18637 · bitcoin/bitcoin · GitHub 19:13:04 I'm +1 :) 19:14:04 jeremyrubin: ok will take a look after the meeting 19:14:29 jeremyrubin: I can't see how 18191 is mergeable. I'd expect more than one ACK for changes to the mempool 19:15:12 #topic Nanobench (jeremyrubin) 19:15:15 jnewbery: yes 19:15:53 seems a bit premature 19:16:42 fair 19:17:39 I had thought some of the other reviewers had correctness acked the code, but there is disagreement about benchmarking. I don't think it requires further benching at this time, as it's primarily a memory improvement and has some benches. But can always do more. 19:17:53 I also wonder what sdaftuar_ thinks about it now, initially he didn't think it'd be worth the increase of complexity 19:19:10 I'll try to review 18191 before next meeting, has been on my list for a while 19:19:28 ariard: thanks! 19:19:32 Can send you some more details privately 19:19:44 it's a non trivial memory improvement for reorgs 19:20:14 ok onto nanobench 19:20:21 I think it's in pretty good shape 19:20:55 MarcoFalke needs to run with frequency lock enabled? 19:20:55 jeremyrubin: can you link to prs? 19:20:58 Uhh 19:21:18 #18011 19:21:21 https://github.com/bitcoin/bitcoin/issues/18011 | Replace current benchmarking framework with nanobench by martinus · Pull Request #18011 · bitcoin/bitcoin · GitHub 19:22:51 I have no opinion on replacing the benchmark framework, will leave it to people more involved with benchmarking 19:23:49 I think we can just ship it and see what/if anything breaks. AFAIK it has been made output compatible with prior benching output format 19:24:01 the only concrete harm is that the relative numbers won't be comparable anymore 19:24:18 so this doesn't add any dependencies? 19:24:30 It adds a checked in header file 19:24:39 Which martinus, the comitter, is the maintainer of 19:24:45 yeah that's okay 19:25:09 So I'd just be happy to have someone who actively is adding benching features 19:25:27 It has some nice new bells and whistles around helping auto categorize big o 19:25:31 that's a point 19:25:37 jeremyrubin: why won't relative numbers be conparable? 19:26:03 It does a better job I think of auto detecting how many runs are required or something 19:26:07 so we do fewer runs 19:26:20 and there is less measurment-in-benchmark overhead I think? 19:26:23 ok, but the benchmark numbers should be the same? 19:26:31 or at least, closer to reality 19:26:42 "measure instructions, cycles, branches, instructions per cycle, branch misses" <- is this not done currently (w/o nanobench)? 19:26:48 Well the hot-loop code I think is faster? But the benches themselves won't change 19:26:55 No it is not dongcarl 19:27:07 So we get a bunch of new and cool outputs 19:27:31 But also a compatible output mode for tooling that can't be updated 19:27:34 current master just tests min/max/avg time of some fixed number of iterations of a test 19:27:46 adding outputs is great 19:27:56 that sounds like a worthy feature to me 19:28:13 does this still work on non-x86? 19:29:04 I added measuring instruction cycles at some point but this was also removed again 19:29:17 Not sure wumpus 19:29:39 I don't see anything in their CI for non-x86 19:29:53 jeremyrubin: I don't mind if it doesn't report all the numbers on non-x86, just that it compiles/works 19:30:13 that seems reasonable 19:30:58 I don' 19:31:15 *don't see anything explicitly incompatible except the turbo detection? 19:31:17 the PR currently doesn't pass travis, not that that says everything :) 19:31:23 Maybe I'm missing some syscall 19:31:59 well how does it count instructions? 19:32:15 because on ARM only privileged code can do that 19:32:29 s/instructions/clock ticks/ 19:32:32 Failures on Travis are build systme related 19:32:43 not inherent 19:32:53 https://travis-ci.org/github/bitcoin/bitcoin/builds/697933849 19:33:07 ok let's try to give it some.renewed review attention? 19:33:32 seems useful to me to make progress on (i think the current benchmark system is pretty stupid...) 19:33:38 the ARM failure is really srange, just some timeout on package download 19:33:47 restarting those jobs 19:33:49 classic Travis 19:34:01 dongcarl: yes :) 19:34:03 *90's sitcom noises* 19:34:41 martinus claims that it only does performance counters where available 19:34:44 I'm naive enough to think when ARM tests fails to think it's some real problem with non-x86 architectures 19:34:49 So my guess is it's auto detected 19:34:59 anyhow, yes, let's continue review on it 19:35:26 any other topics? 19:37:48 * wumpus wonders why #18011 is in mempool improvements 19:37:50 https://github.com/bitcoin/bitcoin/issues/18011 | Replace current benchmarking framework with nanobench by martinus · Pull Request #18011 · bitcoin/bitcoin · GitHub 19:38:14 let's add it to high prio for review as well at least 19:39:25 Should the "need conceptual review" tag be removed or no? 19:40:13 dongcarl: do you think so? 19:40:40 I haven't heard oppositions to the concept, just code kinks we might need to work out? 19:41:04 oh, you mean removing it from that particular PR, not in general, sorry, I agree :) 19:41:34 done 19:41:40 :) 19:42:06 #endmeeting