< fanquake>
probably getting a bit heavy with the type annotations
< achow101>
you might want to look into type aliases
< fanquake>
I think I'll just leave these out for now. This is more a case of the type annotation being more confusing than just looking at the code
< fanquake>
Will take a look at aliases though
< sipa>
looks super readable compared to C++ types ;)
< gwillen>
you can also change more things to Any if you want to make it more concise (at the expense of precision), but I also find it fairly readable :-)
< wumpus>
fanquake: you'd expect a slight size increase from separate sections, just not that extreme as it is for that specific architecture/compiler combo
< wumpus>
fanquake: as for the type signatures you can assign names to parts, (like, = can be used as "typedef") this can make them more readable for complex ones
< sipa>
wumpus: did you see achow101's comment that it could be due to sqlite?
< wumpus>
also good for re-use
< wumpus>
sipa: there's definitely some of the increase due to sqlite, but that would be seen on all architectures and compilers
< sipa>
ah fair
< wumpus>
and would not have an effect on bitcoin-cli!
< sipa>
hopefully.
< wumpus>
the size increase I noticed stuffs the binary with zeroes, it would be easy to measure :)
< sipa>
ok
< sipa>
it's really bizarre to me that whole bunches of zeroes end up in the binary
< sipa>
is this really intended behavior you think?
< wumpus>
the "hello world" test I mentioned went from 8kB to 4MB, the rest is just zeroes
< wumpus>
no, I don't think it's intended behvior it was fixed in gcc 9
< wumpus>
they exagerrated the alignment
< sipa>
ah ok!
< wumpus>
another thing on the list of reasons to upgrade the compiler, but then again, newer gcc might have the memcmp issue so blindly upgrading isn't a good idea
< sipa>
looks like that will be fixed in the next 10.x release
< sipa>
so 10.3 i guess
< wumpus>
I noticed because I created a lxc environment with bionic, installed all the (ELF) cross compilers gitian does as well as the x86_64 one, then used a script that compiles the same source file for all architectures in parallel :-) The ppc64 binaries also stand out in size (with and without separate sections) but it's much less pronounced.
< wumpus>
(but also due to padding)
< wumpus>
not sure what the page size is of ppc64 it may be needed there
< wumpus>
64k. okay.
< bitcoin-git>
[bitcoin] practicalswift opened pull request #20452: Replace use of locale dependent atoi(…) with locale-independent std::from_chars(…) (C++17) (master...remove-atoi) https://github.com/bitcoin/bitcoin/pull/20452
< wumpus>
wait, C++ added a truly locale independent integer parser ? this is above any expectations for me
< wumpus>
bracing myself for any subtleties that come up for reasons to avoid std::from_chars anyhow
< wumpus>
it handles embedded \x00 as any other trailing garbage that's refreshing
< wumpus>
and out-of-range values for the provided result type return an error
< wumpus>
leading zeros are simply ignored, no octal or other unexpected base switching
< wumpus>
very good
< hebasto>
is it possible to observe different hashes for gitian macos builds on the same machine (made some builds in a row with the same hash)?
< hebasto>
^ yes, now I have different hashes.
< gwillen>
hebasto: hmm, obviously this is not how gitian is supposed to work
< gwillen>
I know very little about gitian but I know things about macs (regrettably), let me know if I can help
< hebasto>
gwillen: thanks. I was curious about testing #20436, #20440 and #20447