(trilema) diana_coman: ftr I have otherwise down even what the symlink was pointed at; it's not that the issue per se
(trilema) diana_coman: me neither but it's a ...test machine; so it gets all tested, what can I say
(trilema) diana_coman: no, it's not the symlink that caused the breakage; it's the botched removal i.e. it did more than remove the symlink
(trilema) diana_coman: that symlink was previosly made by me
(trilema) diana_coman: asciilifeform, no need and no use for that
(trilema) diana_coman: thanks!
(trilema) diana_coman: uhm, asciilifeform BingoBoingo I can't speak in pizarro?
(trilema) diana_coman: ftr the whole tarballs thing is ~100MB and the heaviest in there is the gcc
(trilema) diana_coman: quite; I suspect it would cleanup the set of scripts too as atm it's a bit hairy to follow everything (or at least so it seemed to me coming at it relatively from the outside)
(trilema) diana_coman: ave1, http://ossasepia.com/2019/03/04/gnat-compilation-notes/#selection-169.267-169.685 -> any idea?
(trilema) diana_coman: meanwhile the sock fell off the internets and the bike moved or something so almost none of the links in there work anymore
(trilema) diana_coman: I was curious re activity @ musl so I joined the channel: the topic is same as http://btcbase.org/log/2015-07-05#1188244
(trilema) diana_coman: at least that's what I saw so far
(trilema) diana_coman: it cites the title + a few words from the page linked
(trilema) diana_coman: in other lolz, #musl has a "feepbot"
(trilema) diana_coman: quite a bunch of issues on the arm it seems, yes
(trilema) diana_coman: re sjlj and zcx and apache - the current RK use would be the only iffy current situation re banning zcx
(trilema) diana_coman: in good news, it seems that the static-only ave1-gnat builds itself fine (with the tarballs ofc so ultimately still relying on the corpse but at least that's frozen and the whole thing is NOT relying anymore on a deployed adacore)
(trilema) diana_coman: http://btcbase.org/log/2019-02-17#1897733 -> even stronger on this given the recent experiment since I can't see *any* reason for indulging zcx
(trilema) diana_coman: http://btcbase.org/log/2019-02-19#1898005 -> checked and confirmed: the genesis.vpatch matches precisely the previous one; so at least it's consistent on the same machine with different versions of V
(trilema) diana_coman: well, at least that choice of only sjlj for certified profiles makes some sense since zcx is just not doing the full job as it were
(trilema) diana_coman: hence the zero-cost by not doing the job
(trilema) diana_coman: bvt, my understanding is that zcx said "this case is too complicated to even try to handle and why do you need it anyway, terrorist!"
(trilema) diana_coman: in truth, they do say "coding standard verification" but I suspect that means whether a piece of code follows whatever convention specified for that project, hm
(trilema) diana_coman: ah, not with the standard, ofc not; with whatever certificate x measures (as they say: traceability, formal verification, stack consumption)
(trilema) diana_coman: ah, hm, I thought there was some different version/moar features in the commercial version; anyway, I have to admit I did not really try to get it running as there was no ..need felt for it so far
(trilema) diana_coman: and yes, tools for certification this and that i.e. automated bureaucracy/compliance
(trilema) diana_coman: my impression was that their upsell was mostly on tools i.e. the IDE whatever-its-name-was
(trilema) diana_coman: last time I had to have any sort of idea what that meant, it was iirc having the stamp of higher-stamped stamp-stampers etc
(trilema) diana_coman: but I suspect it's more ~ "too much trouble and nobody needs that anyway"
(trilema) diana_coman: you'd think they would advertise that at least, if that were the case, no?
(trilema) diana_coman: why exactly interesting?
(trilema) diana_coman: but I suspect it's simply one of those "you should prefer" a la http://ossasepia.com/2018/07/14/cutting-mysql-into-musl-shape/#selection-47.98-47.160
(trilema) diana_coman: http://btcbase.org/log/2019-02-28#1899741 -> this is imo the most puzzling part of it all: how, just how is breaking the standard justified in those conditions
(trilema) diana_coman will be back in ~2 hours
(trilema) diana_coman: and yes, I have no idea why zcx really, I can't see any reason for it
(trilema) diana_coman: the difference was big only on the 2-cores intel but then again, what tasks there anyway
(trilema) diana_coman: I have on my conveyor first to complete and publish the full set of data zcx vs sjlj; after that I guess I'll publish the notes re building ave1's gnat too
(trilema) diana_coman: note that you'll get simply gnat with sjlj, no option to switch between zcx and sjlj i.e. --rts won't work
(trilema) diana_coman: the missing bit re compiling ave1's gnat with sjlj was found by ave1 : http://btcbase.org/log/2019-02-16#1897189
(trilema) diana_coman: asciilifeform, you cut open both before and after; http://btcbase.org/log/2019-02-16#1897220
(trilema) diana_coman: asciilifeform, I built it, yes; iirc you even cut open a bin compiled with it
(trilema) diana_coman: heh, sure it stops: article is ~3.5k words + ~50 links 5 layers deep or something
(trilema) diana_coman: !!v 7248C1AA2033BFBE213D7F51CA55F871CCDD25B5D14D2535BCB64A0A81D2874A
(trilema) diana_coman kept up with the logs but not with trilema.com
(trilema) diana_coman: thanks! it's good to be back
(trilema) diana_coman: eak your scripts, at worst make it download something else.
(trilema) diana_coman: http://btcbase.org/log/2019-02-18#1897858 -> ah, so broken links were only in the older versions? anyway: ave1 please do me a favour and point any fetch/download scripts to a mirror of the stuff on your own website, there is no way around this. For one thing I'd much rather download from a republican site and for the other as experience has already amply shown, any external site WILL move them, change them, drop them and it will at best br
(trilema) diana_coman considers eating treebark: ate it before, certainly better than eating glibc-barf
(trilema) diana_coman: I guess the main thing against it would be that part where can't kill
(trilema) diana_coman: I don't know about option c i.e. whether there is something lost by going with it
(trilema) diana_coman has no curiosity on the topic: all pain at its time, not earlier
(trilema) diana_coman: asciilifeform, no, but obv I will have to not try but do it
(trilema) diana_coman: asciilifeform, honestly, all I wanted was this game! lol
(trilema) diana_coman: to my mind option b has the benefit that it concentrates the effort in the right direction at least
(trilema) diana_coman remembers that eulora client is 99% NON-tmsr
(trilema) diana_coman: that's precisely why it was tolerated until now afaik: because all sorts not yet fully ported to anything tmsr
(trilema) diana_coman: and asciilifeform beat me to it
(trilema) diana_coman: it does seem precisely so, yes
(trilema) diana_coman: re glibc: until now I saw it as tolerated until full tmsr version (whatever that might be, i.e. owned glibc version or musl or whatever)
(trilema) diana_coman: mircea_popescu, I'm not aware of anything that actually does that reliably
(trilema) diana_coman: I also tend to remember asciilifeform had at some point a signed build; anyway, if it's still needed I can pack ave1's gnat, yes; possibly he'd need both the "static-only" (i.e. latest version) and some previous version
(trilema) diana_coman: hmm, now one wonders if the patch made it into gcc 4.9 or not
(trilema) diana_coman: bvt, interesting; is that gcc5-specific though?
(trilema) diana_coman: asciilifeform, thank you! and yes, I know it's not enough to know what it does exactly but it's still useful.
(trilema) diana_coman: I added a delay in there before the final check of tasks
(trilema) diana_coman: asciilifeform, here it is: ossasepia.com/available_resources/sjlj_testtasks.tar.gz
(trilema) diana_coman: i.e I want to see what did it do
(trilema) diana_coman: asciilifeform, they abort; we are sawing them open because I don't trust it anymore re "what does it actually do exactly"
(trilema) diana_coman: mircea_popescu yes + I must say I like the idea of "rip'em open after tea" - sounds great; but other than that: I'll try objdump too since after this gnat-adventure I'd rather have some way to look inside it
(trilema) diana_coman: asciilifeform, how did you vivisect that pair of binaries? I'd rather do it to see what came out since otherwise I have only this "oh, now it DOES kill tasks!"
(trilema) diana_coman: after all the struggle I'm still looking suspiciously at it, lol
(trilema) diana_coman: oh hey, apparently ave1's find was spot on!
(trilema) diana_coman: ave1, ah, thanks! I'll set it to false and try again then
(trilema) diana_coman: when I say "it built" above I mean specifically those versions: http://ave1.org/2018/building-gnat-on-musl-no-more-usrincludex86_64-linux-gnu/ and http://ave1.org/2018/building-gnat-on-musl-now-with-partial-and-parallel-build-support/ i.e. both static only and previous
(trilema) diana_coman: update re builds: it built fine with --enable-sjlj-exceptions in place, checked it in the log and yes, it's set; but the result still seems to be build ada code with zcx in fact (i.e. my test code with tasks is STILL hung waiting for them to abort) and if I specify --rts=sjlj to gprbuild it complains that there is no native compiler for ada and so can't do anything; ftr I compared the dirs of my adacore install and it has this specific dir
(trilema) diana_coman: rts-sjlj with its own adainclude/ and so on; so I am back to my previous obv that this flag per se is apparently not enough
(trilema) diana_coman: ave1, it was the link that downloaded the gcc src and stuff for adacore2016 ; after that first fail I just copied my own stuff into tarballs/ , packed properly and never really bothered with the rest i.e. it builds all offline now anyway
(trilema) diana_coman will bbl
(trilema) diana_coman: I've started it now with both flags, let's see
(trilema) diana_coman: aha; I remembered the pain from first time when yes, whole night
(trilema) diana_coman: that yes, I did and it is using
(trilema) diana_coman: full you mean? I didn't time it, more usual left it and came back to it done, but from scratch ~1hour , possibly a bit more than that (less than 2 though)
(trilema) diana_coman: but I suspect this is not the end of it because the bootstrap will want additional stuff that it probably doesn't yet have set to have etc
(trilema) diana_coman: GCC_CONFFLAGS="--enable-sjlj-exceptions"
(trilema) diana_coman: mk, so I'll add then: GCC_BOOTSTRAP_CONFFLAGS="--enable-sjlj-exceptions"
(trilema) diana_coman: oh joy
(trilema) diana_coman: darn, ofc there are TWO flags to set to the same thing i.e. one for bootstrapper and one for the resulting gnat
(trilema) diana_coman: for the bootstrapper you mean?
(trilema) diana_coman: that's the switch I gave it; let me check in the log too to make sure I didn't dream I actually saw it in there (but for that matter if it didn't, it wouldn't have barfed)
(trilema) diana_coman: if you mean re gnat
(trilema) diana_coman: oh hm, on the + it seems at least so far the trouble is indeed on arm only; on the big minus, it seems though that the switch I used is not enough in fact i.e. the result still does not have sjlj rts; so I still need to see what exactly it wants to actually build the sjlj rts too
(trilema) diana_coman: and yes, I am currently mainly interested in x64
(trilema) diana_coman: ofc it's still a bug; but one step forward in figuring out something of this is still useful
(trilema) diana_coman: makes sense, will try
(trilema) diana_coman: but obv during the build, it tries to build for all archs
(trilema) diana_coman: because no, the one installed on the machine and used for the scripts is adacore's
(trilema) diana_coman: hm, do you mean to say it's because/while it tries to build the one for arm?
(trilema) diana_coman looks
(trilema) diana_coman: asciilifeform, this was on smg machine; same machine that in same setup just without "--enable-sjlj" option builds the gnat perfectly fine
(trilema) diana_coman: uhm, and ave1's blog thinks I'm a spammer and won't let me comment...
(trilema) diana_coman: paging ave1 - do you have any idea re compiling GNAT with musl WITH sjlj? see thread above
(trilema) diana_coman: mircea_popescu, my current appreciation is of the sort (tower of shit inside tower of shit )^infinity
(trilema) diana_coman: http://btcbase.org/log/2019-02-15#1896926 -> this failed precisely in the same way; need to get to the bottom of it really because Adacore's gnat otherwise IS compiled with sjlj so wtf
(trilema) diana_coman will bbl
(trilema) diana_coman: for sanity I just checked by the way that the exact same machine DOES in fact build successfully GNAT with those same scripts without the sjlj added requirement
(trilema) diana_coman: at least to have some idea if the move to gcc that builds static only has to do with it
(trilema) diana_coman: anyways, I'll try presently ave1's previous version i.e. http://ave1.org/2018/building-gnat-on-musl-now-with-partial-and-parallel-build-support/
(trilema) diana_coman: exorted makeopts and then run the build-ada.sh in short
(trilema) diana_coman: hm, full replica might require I upload somewhere the tarballs too since at least 1 link was broken ; anyways, it's with http://ave1.org/2018/building-gnat-on-musl-now-always-static/ + taken out the download script for ada2016 because broken link + added GCC_CONFFLAGS="--enable-sjlj-exceptions" to extraconfig.sh ; set path to point to existing and working adacore 2016 gnat + put all tarballs in their place
(trilema) diana_coman: but I start suspecting the --enable-sjlj-exceptions + static only -> barf
(trilema) diana_coman: asciilifeform, certainly not moved during the build; it says 16:34 gmt now so doubt it's a problem
(trilema) diana_coman: socialists?
(trilema) diana_coman doesn't yet know wtf that is exactly - will go and dig
(trilema) diana_coman: fwiw yesterday I had in parallel this recompile task going too, but all sorts of stuff going with it so it's still ongoing (and apparently I'll have afterwards to write-it up as well, on top of the sjlj data )
(trilema) diana_coman: http://btcbase.org/log/2019-02-15#1896874 -> pending getting finally ave1's gnat recompiled with sjlj and then running it on smg test server, I'd say switching to sjlj + no handlers is pretty much the only currently available option anyway
(trilema) diana_coman: at any rate, I think it would make a far better item to send kids to investigate than many "projects"
(trilema) diana_coman: this eggogology sounds like a candidate euloran skill or something, lol
(trilema) diana_coman: ahahah, that garbage story is great
(trilema) diana_coman: I'm atm doing the inventory of ave1's versions of gnat scripts and apparently even 2018-05-29 relies on downloading stuff that meanwhile moved/vanished as they always do; moreover, I have the darned stuff , now need to figure out how to cut out the download and just point the script at local source, ugh
(trilema) diana_coman: hm, doesn't look that bad
(trilema) diana_coman: asciilifeform, the name of the tarball is correct; you'll have to change the name of the dir /put them separate
(trilema) diana_coman: asciilifeform, here are the latest aka proc calls with 3 handlers per proc: ossasepia.com/available_resources/bins_calls_sjlj_adacoregnat.tar.gz and ossasepia.com/available_resources/bins_calls_zcx_adacoregnat.tar.gz ; let me know if you want anything else
(trilema) diana_coman: or both?
(trilema) diana_coman: asciilifeform, any preference re "pair of bins" i.e. the procedure calls or the loops of yest?
(trilema) diana_coman: in other things, re http://btcbase.org/log/2019-02-11#1894896 -> this should now be fully sorted i.e. IP change for dianacoman.com propagated as far as I can see + redirection working fine for any link so please let me know if you still encounter trouble with any dead links; if you use only hosts (no DNS) then simply adding dianacoman.com on same IP as ossasepia should work seamlessly
(trilema) diana_coman: mircea_popescu and anyone else following along, here's the data from a set of runs with handlers from 0 to 3: http://p.bvulpes.com/pastes/9Cstd/?raw=true
(trilema) diana_coman: ah, that'd explain it, wouldn't it: by the time "programming" is direct translation of fuzzing into code, it'd possibly speed up, yes
(trilema) diana_coman: I still don't see the boo-boo of docs i.e ~"all programs should see a great improvement running zcx" or how was it
(trilema) diana_coman: sorry; I should know by now to not hurry up with data report even if it's just 2 runs
(trilema) diana_coman: all those tests are on Adacore's 2016 gnat, yes
(trilema) diana_coman: no, fat-fingered it, 0 instead of 9 i.e it was 0.93 not 0.03; sorry about that; still running atm the 1 handler with sjlj and then will move on to 2 and 3 handlers
(trilema) diana_coman goes to run and will be back with proper data
(trilema) diana_coman: hence I suspect I fat-fingered it because I don't remember popping out when I read in console
(trilema) diana_coman: and yes, then I'll do with 2 and 3 handlers too
(trilema) diana_coman: ugh, either I fat-fingered there or what; let me run that again ; (and possibly /me should really stop getting data *other* than in a nice plain table)
(trilema) diana_coman: you mean in that you don't actually gain anything but lose ability to abort asynchronously among other things?
(trilema) diana_coman: aaand this is it, docs apparently right: fully cleaned up (i.e. none of the serpent vars + init anymore either), max value 16777216, x 22368144; with NO handlers it's 0.9s no sjlj and 0.03 with sjlj; same but WITH 1 handler per proc turns into 1.06s without sjlj and 158.87s with sjlj
(trilema) diana_coman: with sjlj: Starting Calls run with 3 procs and Max value 16777216;Calls run X = 22368144 took 0.903548000 seconds.
(trilema) diana_coman: i.e. same as above with Max at 16.77mn (but real X at 22.36mn) without sjlj -> 0.9s
(trilema) diana_coman: Starting Calls run with 3 procs and Max value 16777216; Calls run X = 22368144 took 0.900212000 seconds.
(trilema) diana_coman: so X will be bigger than max generally because of the "calls 2 procs"
(trilema) diana_coman: mircea_popescu, just to make sure you get this straight: Max is one thing, the final X is another i.e. the final X really counts how many times procs got entered; the max value means procs stop calling others (but note that the x=x+1 is done before the check precisely because I wanted to know how many calls)
(trilema) diana_coman: ugh, I still have that 1 exception handler per proc and with sjlj it overflows ofc; let me re-run it wihtout any exception handlers in it first, both with and without sjlj
(trilema) diana_coman: I fixed the stack issue
(trilema) diana_coman: mircea_popescu, ^
(trilema) diana_coman: the value of X is final value and it changes a bit depending on the seed for MT
(trilema) diana_coman: right: Starting Calls run with 3 procs and Max value 16777216; Calls run X = 22368144 took 1.258959000 seconds.
(trilema) diana_coman: not on this one, I tried it
(trilema) diana_coman goes to dig in bash confs
(trilema) diana_coman: apparently I need to dig into this more
(trilema) diana_coman: uhm, I set ulimit -s 900000 ; it shows, confirmed at that with either ulimit -a or ulimit -s; set it from the linker option too; prog still overflows in the end; and if I try MORE than that from ulimit -s I get bash: ulimit: stack size: cannot modify limit: Operation not permitted
(trilema) diana_coman is waiting for it to finish now
(trilema) diana_coman: stacksize 8192kbytes
(trilema) diana_coman: uhm, it overflows the stack and either the linker switch I'm using is not working or it can't make it
(trilema) diana_coman goes to try
(trilema) diana_coman: <diana_coman> oh, no serpent in there ? it'll run VERY fast though i.e. 0.039s sort of thing -> darn, that's 0.0039
(trilema) diana_coman: confirmed: with max=65535, no serpent (i.e. empty calls only), I got 0.004, 0.009, 0.007, 0.005 (without sjlj)
(trilema) diana_coman goes to run it a few times without the serpent
(trilema) diana_coman: and you know, worse in the sense that you get 0.0039 on one run and 0.0095 on another
(trilema) diana_coman: oh, no serpent in there ? it'll run VERY fast though i.e. 0.039s sort of thing
(trilema) diana_coman: k, will tar up the whole dir
(trilema) diana_coman: right; as soon as mircea_popescu confirms the code is what he wanted, will do
(trilema) diana_coman: atm I still have to get to the bottom of the "ave1 gnat with sjlj"
(trilema) diana_coman: asciilifeform, yes, data set contains...data, lol; but will publish it all when full or at least when at some point to decide further or otherwise we keep going back and forth
(trilema) diana_coman: mircea_popescu, let me know if that's the sort of thing you had in mind or not
(trilema) diana_coman: ftr with exception handlers the main trouble is simply that the sjlj overflows the stack very quickly; so far not as much any clear difference in *speed* but certainly a difference in stack space used
(trilema) diana_coman: re http://btcbase.org/log/2019-02-14#1896383 -> http://p.bvulpes.com/pastes/o2h67/?raw=true (that's the version including a handler and obv, there are in fact 3 procedures A, B, C, with each calling the other two or one of the other two; MT is the Mersenne Twister Ada implementation I did for the UDP test)
(trilema) diana_coman: http://btcbase.org/log/2019-02-14#1896356 -> this finished: the signature still does not verify; trinque let me know if you want to see the result of this run too
(trilema) diana_coman: k, will add to list for today
(trilema) diana_coman: few cases I mean
(trilema) diana_coman: re more handlers: there are some cases where we would conceivably need to handle an exception though few
(trilema) diana_coman: will do the calling timing harness too
(trilema) diana_coman also adds kids reading over my shoulder and commenting, lol
(trilema) diana_coman: ahahha, yes
(trilema) diana_coman: well yes, but 1 default handler means slowdown of 1 single handler no matter how many exceptions; because slowdown if any, afaik is re number of handlers precisely, NOT exceptions
(trilema) diana_coman: well, if the resulting paths are mangled then it'd be broken somehow, no/
(trilema) diana_coman: ada's checks raise exceptions yes; not handled; I don't know if additional explicit handlers ADD or not
(trilema) diana_coman: being starter, I preferred not to force a choice there; but at any rate, if the previous node is basically broken as I gather that's certainly a problem
(trilema) diana_coman: re re-pressing to his node - note that that is re v-tools in fact; and I pressed the v-starter to node before that precisely because it essentially forks there i.e. there are 2 options
(trilema) diana_coman: hm; I don't know if it's exactly the same thing or not; perhaps it is
(trilema) diana_coman: regardless of whether exception is actually raised
(trilema) diana_coman: according to docs, the mere presence of a handler of exception slows the whole things down when lj
(trilema) diana_coman: no, not risen
(trilema) diana_coman: mircea_popescu, the thing there is: it's true we don't care about it if the server crashes but is it also true we don't care about an overall slowdown at all times because of each and any exception actually handled in the code?
(trilema) diana_coman: http://btcbase.org/log/2019-02-14#1896320 -> hm, trinque, do you suspect it's really just down to V version? I can easily re-run the thing with a V pressed to same node as yours to rule that out, if that's the case
(trilema) diana_coman: http://btcbase.org/log/2019-02-14#1896155 -> the point is that it's supposed to slow down the code *at all times* , not only /if it crashes; so no, I don't imagine anyone cares about *that* if the whole thing crashes
(trilema) diana_coman: no hurry, I'll get back to it tomorrow morning anyway
(trilema) diana_coman: it would have at most the path I suppose, if it's hardcoded somewhere
(trilema) diana_coman: well, that doesn't have the scripts too, does it?
(trilema) diana_coman: i.e. where/if the trouble is not somehow just on my machine (though I got it on 2 machines...)
(trilema) diana_coman: re paths I suppose a simple grep -r "libmpc" would show perhaps duplicates if nothing else?
(trilema) diana_coman: on hold atm since a. for sjlj on smg.test yes, need gnat rebuild b. for the rest it's unclear if it's worth to run or which ones so rather pending mircea_popescu feedback
(trilema) diana_coman: the output?
(trilema) diana_coman: asciilifeform, it's been a bit of a long day too, sorry; strictly speaking you are in fact right there: that line compares them yes,if only to stress that "ofc they are different"
(trilema) diana_coman: at least there are no more surprises of huge differences in timings; but I'd still test also with some exception handling since that's supposed to slow sjlj down
(trilema) diana_coman needs some sleep
(trilema) diana_coman: sorry, the ref to previous mess wasn't quite clear, you're right
(trilema) diana_coman: there was the earlier mess-up with the 2 datasets hence my current stress of the fact, that's all
(trilema) diana_coman: grrr, I did NOT compare between diff machines
(trilema) diana_coman: coming back to http://btcbase.org/log/2019-02-13#1895807 aka http://p.bvulpes.com/pastes/1esL2/?raw=true if it converges, it seems to be diff on diff machines+diff gnat; I might note also ftr that the times there on very short runs (i.e. a few loops) are not reliable ; other than that though, so far with this test there doesn't seem to be much penalty on having sjlj
(trilema) diana_coman: possibly, hm
(trilema) diana_coman: yes and moreover weirdly enough it DOES have the correct one too, but it comes only after the wrong/old one and so it fails 'cause it can't find that
(trilema) diana_coman: specifically, here's an example (with the path marked by me for clarity): build/build-bootstrap/gcc-4.9.adacore2016/build1/mpc/src/libmpc.la:dependency_libs=' OLD_PATH/lib/libgmp.la NEW_PATH_CORRECT/lib/libgmp.la'
(trilema) diana_coman: it seems to me that it's just a path/configure that remains /is carried over from where the gnat was built
(trilema) diana_coman: I guess until now I always built ave1's gnat on a machine that had adacore's gnat installed with all the paths to libs like that quite standard so possibly that's why it never failed
(trilema) diana_coman: since it seems it'll take a while until I can add to my data the numbers for sjlj on ave1's gnat as well, here's what I have so far: http://p.bvulpes.com/pastes/1esL2/?raw=true
(trilema) diana_coman: hence only now I ran into this puzzler
(trilema) diana_coman: or gnat itself? because gnat itself runs /ran perfectly fine, yes
(trilema) diana_coman: the script to rebuild ran?
(trilema) diana_coman: I'm trying to rebuild it because current build doesn't have sjlj
(trilema) diana_coman: t shows that it is looking for them in the wrong place and more specifically in the place where they were on the previous system where the working gnat was built! so hm, where and why does it store that path and how do I point it correctly?
(trilema) diana_coman: ave1 or anyone else more experienced in rebuilding ave1's gnat with a previous incarnation of same: I'm trying to build using the scripts in ada-musl-cross-2018-09-24.tgz on a machine that has as only existing and perfectly working !) gnat a previous ave1 gnat version; I ran as the readme says simply ./build-ada.sh absolute_path_to_dir but the whole thing fails because it doesn't find some libs such as libgmp.la; a closer look at the outpu
(trilema) diana_coman: aha, all benchmarking and data will be without any optimization
(trilema) diana_coman: bc exploring I went http://btcbase.org/log/2019-02-13#1895742 and I was getting confused too but anyways
(trilema) diana_coman: anyways, I'll compile the dataset and publish it in a bit
(trilema) diana_coman: at that specific shot I was exploring esp given the previous issue of "too long time"
(trilema) diana_coman: with no optimization (or -O0 iirc) it's ~8s; with -O3 it's 1.25s
(trilema) diana_coman: gprbuild accepts levels of optimization via -O flag
(trilema) diana_coman: Serpent has pragma Optimize(Time)
(trilema) diana_coman: mircea_popescu, I found the key misunderstanding there (in addition to comparing different machines and all that): the 1.25value is when serpent is fully optimised for time i.e. it goes from ~8s to 1.25 for full 22 loops 1..10, mod 4; sorry for the confusion there, I was still in exploration mode.
(trilema) diana_coman goes to write this down properly alreayd
(trilema) diana_coman: anyways, back to it: for one thing you were comparing there numbers from different machines and I get the impression you got the "4 runs" in the 2nd report to mean different loops while they were not (it was same thing, repeated)
(trilema) diana_coman: I got stuck here in traffic earlier too, hence my being late, sorry;
(trilema) diana_coman: mircea_popescu, I think it was a mis-communication really
(trilema) diana_coman wil bbl
(trilema) diana_coman: that much sounds good
(trilema) diana_coman will need to leave for about 1 hr in ~5min time but will read
(trilema) diana_coman: can't quite tell tbh
(trilema) diana_coman: 0.3 vs 2.8? ugh
(trilema) diana_coman: wait, what?
(trilema) diana_coman: and both of them are likely to be more due to measurement error
(trilema) diana_coman: because the clock thing is not very precise; on 4 runs of same thing I got: 1.25, 1.27, 1.29, 1.28
(trilema) diana_coman: from a to v? 22
(trilema) diana_coman: given that it's still not that long, I'd do at least an avg
(trilema) diana_coman: 1.259 s
(trilema) diana_coman will try
(trilema) diana_coman: trouble is that it might be too fast for the sort of timing precision we have
(trilema) diana_coman: on the slower machine too
(trilema) diana_coman: a to j aka 10 loops from 1 to 10 only and then with if mod 4 -> 0.000855 s (no long jmp)
(trilema) diana_coman: from 1 to 10; if mod 4; got it
(trilema) diana_coman: right
(trilema) diana_coman: ah, so if a mod 4 = 0 you mean
(trilema) diana_coman: uhm, 2
(trilema) diana_coman: ah; why 10 mod 4 and not ..hm, 6?
(trilema) diana_coman: see the timings above for 1-4 loops for some concrete idea