Hide Idle (>14 d.) Chans


← 2019-02-13 | 2019-02-15 →
mircea_popescu: "fetish for futility", that has quite the ring to it.
mircea_popescu: anyway, this trinque - mod6 exchange's gonna be a thing for the ages.
BingoBoingo: mod6 seems to be in an uncomfortable place resembling where I was exactly a year ago except the people around him speak his mom's tongue. I hope he can pupate in *spite* of that
BingoBoingo: But where mod6 adds friction, zero'ing drives. I like that
a111: Logged on 2019-02-14 03:22 mod6: I'm not sure that I get your meaning.
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
a111: Logged on 2019-02-14 02:01 mircea_popescu: http://btcbase.org/log/2019-02-13#1895868 << we don't so much care, seeing how we don't intend to have exceptions but exceptionally. if the thing crashes ever, your problems will be in excess of 99, but none of them that "it took one half milisecond extra for burning relic to make it back to earth"
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
a111: Logged on 2019-02-14 04:05 trinque: mod6: the curious thing is that you have full paths in just *part* of your genesis.vpatch, in the same exact way diana_coman did
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?
feedbot: http://trilema.com/2019/so-what-is-the-man-saying/ << Trilema -- So what is the man saying ?
mircea_popescu: trinque let me know how close i got.
mircea_popescu: diana_coman do you mean risen exceptions ?
mircea_popescu: and yes, i would say it's worth re-pressing to his node and seeing if that fixes it. if it does, we'll have some 'splainin' to do.
diana_coman: no, not risen
diana_coman: according to docs, the mere presence of a handler of exception slows the whole things down when lj
mircea_popescu: but this is already checked, no ? all sorts of exceptions are in fact handled by your for loops code, that were not risen
diana_coman: regardless of whether exception is actually raised
mircea_popescu: this is specifically what we were checking, whether this is true or not.
diana_coman: hm; I don't know if it's exactly the same thing or not; perhaps it is
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
mircea_popescu: but i mean, your code would have handled exceptions if they arose, yes ? if a for looped out of bounds, or whatever. isn't it so ?
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
mircea_popescu: i can't even figure how it'd be broken, but yes.
diana_coman: ada's checks raise exceptions yes; not handled; I don't know if additional explicit handlers ADD or not
mircea_popescu: but there is no such thing as a TRULY unhandled exception. either it hoses the box or else it goes to the default handler.
diana_coman: well, if the resulting paths are mangled then it'd be broken somehow, no/
mircea_popescu: yes, but it doesn't seem to.
mircea_popescu: i can't believe we manage to have crosstalk with just two people talking.
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
diana_coman: ahahha, yes
diana_coman also adds kids reading over my shoulder and commenting, lol
mircea_popescu: diana_coman but nobody's ever adding MORE handlers. so if this is so, it still is moot.
mircea_popescu is more than welcoming criticism / commentary from experts ; as far as my lights see, we have in fact checked that documented penalty and found it missing in practice.
mircea_popescu: diana_coman : btw, here's my current model for the calling timing harness : write three procedures, A B C. have each of these 1. increment a global counter, X ; 2. check if X is over a max value ; 3. if it is not, have each call either one or the other of the other two randomly ; 4. if X is over max value, have them simply return.
mircea_popescu: set max value to say 65536 (this should result in <mb stack load, i am guessing ?) and let it run.
mircea_popescu: IF indeed there's a significant difference between call and loop re that cost, this'll bring it out.
mircea_popescu: (honestly i never heard of a program that properly used 64k stack frames ; seems if truly one needs such depths, one's welcome to fucking rewrite something, recursion be damned.)
diana_coman: will do the calling timing harness too
mircea_popescu: "random" doesn't need to be strong, just enough to fuck the optimiser. mt_rand or anything works really.
diana_coman: re more handlers: there are some cases where we would conceivably need to handle an exception though few
diana_coman: few cases I mean
mircea_popescu: not like it's verboten, write in some handlers, why the hell not.
diana_coman: k, will add to list for today
mircea_popescu: ima add sleep to my list for today.
asciilifeform: http://btcbase.org/log/2019-02-14#1896364 << possibly pertinent detail : on modern irons, long jmp within page seems to take same time as short. so the toy tester may not reveal diff.
a111: Logged on 2019-02-14 07:49 diana_coman: according to docs, the mere presence of a handler of exception slows the whole things down when lj
mircea_popescu: asciilifeform why do you think all the serpenting happens in the same page ?
asciilifeform: mircea_popescu: depending on your irons, page can be 4MB
asciilifeform: proggy is small.
mircea_popescu: are you talking about the loop thing or the calls thing ?
asciilifeform: 'perf' tool will show, incidentally, whether this effect is in play
mircea_popescu: but the calls thing can be made any arbitrary size with a switch. you want it 16777216 rather than 65536 is the idea ?
asciilifeform: what you'd want is to make the ~distance~ crossed by the call, >pagesize
mircea_popescu: if you use up 16mn stack frames, they'll be multi-page like it or not.
asciilifeform: can do this using stack, but will have to adjust the linux max, iirc it is ordinarily 2MB cap
mircea_popescu: re the loops, i don't see the point in bothering with this there. we were checking loops, not the whole call mechanism, there.
asciilifeform: no that makes sense
mircea_popescu: asciilifeform but if i don't adjust the linux max for eulora, why the fuck would i care to do so for this test ?
asciilifeform: is it clear what meant by 'distance' ?
mircea_popescu: you are saying that the delta between the address of the jump instruction and the address of the instruction it jumps to must be at least arbitrary number = page size.
mircea_popescu: but this can be factually insured in the model proggy for call testing, by making the DEPTH larger than the page size.
asciilifeform: btw , to go with http://trilema.com/2019/so-what-is-the-man-saying , really oughta disasm a zcx variant and longjmp side by side and see what actually changes. ( when diana_coman comes back with working bins, i'ma set this up , for thread-co)
asciilifeform: mpleteness
mircea_popescu: because there's no way in hell anyone can store 5mn procedure calls in 4mb ram.
asciilifeform brb,teatime
mircea_popescu: to continue the http://btcbase.org/log/2019-02-10#1894616 discussion / produce a benchmark for the republic's development : taking mining efficiency at 20 GH/joule (slightly above the antiminer s9) 40 exahash would be ~2 Gjoules.
a111: Logged on 2019-02-10 15:40 mircea_popescu: in other news, bitcoin difficulty looks like it's finally come out of the crazy and into economic coupling, check it out, past six months it's been evidently kept in place by fiat exchange rates.
mircea_popescu: at this same time, world energy consumption (instantaneous) is about 10-20 terajoules (on the basis of primary energy generation/consumption for 2015 standing at 170/110 PWh) ;
mircea_popescu: consequently bitcoin is merely using 0.02 to 0.01% of world energy generation, less than the 50%+1 it's supposed to use by a margin of say 5000.
mircea_popescu: ie, bitcoin is 0.02% complete. yet something tells me the next ten years are going to see a lot more completion than the first ten.
mircea_popescu: (the situation is actually better than that, seeing how most of those PWh are low quality energy in the shape of low temperature heat.)
asciilifeform: mircea_popescu: recall your hypothesis re 'folx will heat house with miner' ?
mircea_popescu: certainly.
mircea_popescu: but this doesn't equal "folks will mine on own farts"
asciilifeform: was thinking, pc is substantially easier to get hold of than miner (of any description), but somehow not so many folx heat house with'em ( part of this to do with the difficulty of usefully reselling cpu cycles ; but even asciilifeform , who eats plenty by lonesome , only covers perhaps 40% of heat for house via exhaust from the torture room fans )
asciilifeform: somehow the 'house + dc' co
asciilifeform: mbo is uncommon
mircea_popescu: computers aren't nearly as important as bitcoin.
asciilifeform: i suspect that 'heat house' aint happening, no matter what level of 'important'. obsolete miners even nao aint worth the cost of transport , floor space, or fan dusting / noise isolation, even to use as heater. whereas 'current' iron is ~unobtainable to commoner on acct of being a strategic good. and can't picture how this would change as 'important' goes up.
asciilifeform: i.e. this will go approx same as the jp dream of 'home reactor'
mircea_popescu: it's certainly happening, to the degree electric heating is happening currently.
asciilifeform: resistance heater mostly happens in argentinas
mircea_popescu: for as long as there's such a thing as a http://trilema.com/2016/cargo-cults-a-case-study/#selection-91.0-99.80 still left plugged in somewhere, a miner'd make better use of those watts.
asciilifeform: ( it never wins on cost, in climate where heat pumping worx (avg. >0c) it is used, otherwise fossils win)
mircea_popescu: asciilifeform yes, but then again argentinas are usually the dumping grounds. most "old" phones ended up in africa.
mircea_popescu: they ~will~ plug them in.
asciilifeform: i can actually picture orcs heating with old miners, if they had the two neurons to rub together and get a boat loaded with'em
mircea_popescu: the garbage boats come unasked.
asciilifeform: wonder, who will be the hero to repackage the old asics as radiator with fins ( do you know anyone who wants equiv. of running shop vac at all times in bedroom ? that's what the extant asictrons resemble )
mircea_popescu: anyway, there's a whole selection of current-ish miners available to consumer.
asciilifeform: this is where i confess that i did not follow the subj actively in recent yr or 2, last time i tried to buy miner was some time during kako's reign
mircea_popescu: whole http://btcbase.org/log/2018-12-01#1877555 thing all over again : tank targetting and alf playing happened on the exact same board.
a111: Logged on 2018-12-01 21:23 asciilifeform: so, to extend lemma, atari ~because~ cheap ic, and not other way ?
mircea_popescu: because of how ic works, it's cheaper to let consumers have the professional product than to make another special one for them.
asciilifeform: that was a uniquely sovok phenomenon tho -- these folx were so poor that they could not afford konsoomer & mil separate lines
mircea_popescu: asciilifeform nobody can ever be as rich as all that.
asciilifeform: http://btcbase.org/log/2018-06-20#1827422 << for illustration. sovok eeproms, sumthing like half a ~gram~ of au in ea.
a111: Logged on 2018-06-20 00:06 asciilifeform: su mil-grade logic tends to look like http://skupkadetaley.ru/data/image/catalog/k573rf4.jpg << ceramic, gold, direct copy of usa mil/orbit grade
asciilifeform: and same ones used in nuke and in bk0010 schoolboy comp.
asciilifeform: funnily enuff, they're still gettable despite 30 yrs of 'biznis' melting'em down for au.
mircea_popescu: yes ; and if they found out a way to do without the au, they'd have taken it out of... both.
asciilifeform: incidentally this sort of thing remains in play for modern ic, and is why old irons become scarce, at some pt becomes worth moar as au ore than to transport/run
mircea_popescu: this is the fundamental point of ye above linked car article : if "luxury brands" come up with ~substantail improvements~, they're next year in the "mass market" cars.
asciilifeform: nobody's found yet a way to make'em with 0 au.
mircea_popescu: because wtf, you're not gonna put the better item in the mn-line, keep it for the 100s line ?
mircea_popescu: so yes, bitcoin miners are strategic items, much like atari targetting systems. nevertheless -- perfectly available to consumer.
asciilifeform: asciilifeform's proposition is that difficulty climb at some pt puts the older units into the zone where they're worth moar as au
asciilifeform: ( i'ma take mircea_popescu's word for 'they are available to konsoomer' , evidently currently worth slightly moar as chump bait than as ore )
BingoBoingo: <asciilifeform> resistance heater mostly happens in argentinas << Even Uruguay does heatpumps and bottled LPG
asciilifeform: BingoBoingo: it happens where sovok bldg manager refuses to switch on the central steam till december etc.
asciilifeform: i used to live in 1, erry flat had buncha resistance heaters, fuses regularly blew .
BingoBoingo: asciilifeform: There are 50s to 70's buildings here like that, but central heat even then is fairly rare. Past few decades climate control doctrine in Uruguay is based around a standard sized air conditioner. An apartment may have 1-3 of these, a house may have a double digit numer of these.
asciilifeform: electric resistance heat is -ev insanity on pretty much 100% of planet, moar or less 100% of the time -- heat pump (if >0C) or gas (if <0C and there's ~any~ gas to be had , at just about any historical price) wins by fat margin
BingoBoingo: Even in commercial construction... Recall the co-work roof
BingoBoingo: Now there are a handful of buildings with size appropriate climate control here like the WTC towers, but they are the exceptions
BingoBoingo: But the issue down here is not "a heatpump", but this one specific size of heatpump that's the only option they know.
asciilifeform: BingoBoingo: as i understand , BingoBoingostan is theoretically idea heatpump country
asciilifeform: i.e. scarcely ever <0C
asciilifeform: that the orcs dun realize this, and continue to build blocks of flats with no heat and where each orc sets up propane burner in his deathtrap, is entirely separate puzzler
mircea_popescu: certainly stupid idea, it takes 3 watts of steam (the "low quality low temperature heat" from above) to make 1 watt of electricity. why the fuck would you turn around and make low temperature heat out of that ?!
mircea_popescu: http://btcbase.org/log/2019-02-14#1896462 << this not taking anyone's word, it is being an offensive, raging asshole.
a111: Logged on 2019-02-14 16:54 asciilifeform: ( i'ma take mircea_popescu's word for 'they are available to konsoomer' , evidently currently worth slightly moar as chump bait than as ore )
mircea_popescu: what fucking chump bait are you the fuck on about in your own solipsist hell entirely lost to any reason ?
asciilifeform: what instead should i call miner that eats 500 $ / mo of current to produce bitcent ?
mircea_popescu: the bitcoin miner you alf could buy today is slightly, but not much, worse than the bitcoin miner the strategic mining op could buy today ; and it is slightly better (but not much) than the average miner the average strategic op has currently deployed and running.
mircea_popescu: yes, it's true most of those for-profit mining ops are located in places with cheaper electricity than yours. HOWEVER, this is not a discussion of ~the miner~ but of expensive government you ~opt to support~.
mircea_popescu: fucking move, if you don't like paying 5 cents for electro-watt and a further 10 cents so mammie mc nigger fatass can afford lube and happy meals every time you burn a watt.
asciilifeform: let's stipulate that this is true (i.e. that what's sold to konsoomer currently is only coupla notches obsolete.) i thought that orig 'heat house' hypothesis was re arbitrary degree of obsolescence.
mircea_popescu: no. the original hypothesis was that the same exact item you alf could buy, ie, slightly worse than the best and slightly better than average deployment, will be inserted into eg ceramic tiles, and allow for applications where people don't so much give a fuck.
mircea_popescu: because i WILL heat my bathroom floor so my whores can suck my cock barefoot rather than live in frigid 80s sovoklands.
mircea_popescu: and i don't care what it costs
mircea_popescu: but i don't care what it costs in the sense i will have it done, not in the sense that i will have it done in the most expensive way possible. if there's bitcoin mining tiles and simple tiles available, i am buying the former.
asciilifeform: if actually 'don't care what costs', why not yet paid to have boatload of 5yo asics actually baked into tiles and installed in castle mircea_popescustein ?
asciilifeform: what's the obstacle ?
mircea_popescu: because i don't care about tiles enough to make my own yet.
asciilifeform: right. so hypothesis requires then that it is viable commercially, i.e. someone other than mircea_popescu give enuff damn to bake'em into tiles.
asciilifeform: and this not happened yet. why not ?
mircea_popescu: except as per teh "three ring binder" theory, it doesn't actually require anything besides their being made.
mircea_popescu: which will also happen, necessarily.
mircea_popescu: why necessary event has not happened yet is sometimes explicable (if sun will burn out eventually, then why not yet ?!?!) but not always (say mom, if i'm gonna lose my virginity eventually, how come no girl fucked me yet ?!?!?!")
asciilifeform: mircea_popescu do you think we oughta be making tiles ?
mircea_popescu: it seems to me premature yet. on my judgement, there was a lot of optimisim at the chump level re obama's bullshit electro-rooves. that will have to blow over, as it was a scam. consumer market will reel a while in disdain-distrust of "such nonsense".
mircea_popescu: then next generation will make bitcoin mining houses.
mircea_popescu: so i expect to see it before i die, but i do not expect to spend anything on it this mid term.
asciilifeform: makes sense.
mircea_popescu: this is an ancient theme, even appears in say the gladstone speech you asked for recently. "first man, spent 1/4mn pounds, got no coal. 2nd man, spent 100k, got no coal. 3rd man got coal"
mircea_popescu: the problem with economically useful preciction isn't getting the trends right, it's getting the timing right.
asciilifeform: 'pioneer is the fella with arrow in his back' eh
phf: http://btcbase.org/log/2019-02-14#1896331 << no. i gather you're not seeing this issue on your own machine? vdiff treats links the way diff did, as a completely new file, including the content
a111: Logged on 2019-02-14 04:09 trinque: it looks like both the symlink and the path symlinked commingled
asciilifeform: ohai phf
phf: hey
asciilifeform: mircea_popescu: could even say nao is 'bitcoin winter', the sorts of folx inclined to stuff head up arse are stuffing deeper than ever and boasting
mircea_popescu: i dunno how i could say that, looking at teh data. it's not about what social media says, nothing ever is.
asciilifeform: i dun read 'soshulmeadia', dun have any data other than 'no one seems to be offering 20k orc dubloons for coin like yr ago, just nao'
mircea_popescu: anyway, re above trends : there's a very visible trend in energy generation away from low quality and towards high quality. this means absolutely a move away from everything and into nuclear. as nuclear increases and fossils drop, the outlook will significantly change -- eg in romania i'd have not even considered heating on any other premise than natgas ; bathroom had eg towel rack consisting of hot water pipes and other such
mircea_popescu: purely yurpean luxuries.
asciilifeform: ( and ftr i dun hate winter, either 'bitcoin' or of the ordinary kind, winter is a-ok for so long as you aint stuck in the wind w/out a coat )
mircea_popescu: but the natgas will run out ; and the little house-sized powerplants that it enables will go away, i can't burn pitch in there.
mircea_popescu: and once they go away, what will i use ? there's a case for using electricity for heating if MOST of energy produced is electricity. because heating relatively small outlay, all things considered.
phf: trinque: i'm going to play with some link combinations, but perhaps it would be worthwhile to at least check if the named file exists on the system after failed genesis production.
phf: i've been looking at getting x11 working for cp101a but not on top of cuntoo. i'm going to take a break and attempt a build myself. i might run into the issue also
mircea_popescu: consider the math : i go out to eat, i eat at $100 a plate joint. i go out for a show, or a bender, or a casino trip, or what have you, i come back thousands lighter. meanwhile what's your living space, 100 sqm ? 1000 sqm ? you'll get fucking lost in an acre, really. with modern insulation what's the lossage, a few cents a day ? how THE FUCK will you care so much about the cent as to go cold rather than use electricity, while
mircea_popescu: caring so much about dinner ?
feedbot: http://qntra.net/2019/02/clicking-on-terrorist-content-felonized-in-airstrip-one/ << Qntra -- Clicking On "Terrorist Content" Felonized In Airstrip One
asciilifeform: !!up drunk_foxx
deedbot: drunk_foxx voiced for 30 minutes.
asciilifeform: drunk_foxx: better be quick
asciilifeform: aanybody have any idea who ^ is ?
asciilifeform: !!down drunk_foxx
asciilifeform briefly wondered if ben_vulpes
feedbot: http://trilema.com/2019/il-corpo-della-ragassa/ << Trilema -- Il corpo della ragassa
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
a111: Logged on 2019-02-14 07:40 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
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)
a111: Logged on 2019-02-14 07:55 mircea_popescu: diana_coman : btw, here's my current model for the calling timing harness : write three procedures, A B C. have each of these 1. increment a global counter, X ; 2. check if X is over a max value ; 3. if it is not, have each call either one or the other of the other two randomly ; 4. if X is over max value, have them simply return.
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
asciilifeform: diana_coman: how quickly is 'very' ? ( can haz numeric ? e.g. 'zxc eats 1kb per level of depth, sjlj - 2kb' )
diana_coman: mircea_popescu, let me know if that's the sort of thing you had in mind or not
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
asciilifeform: diana_coman: if you have time, plox post a pair of bins so that i can http://btcbase.org/log/2019-02-14#1896414 tonight
a111: Logged on 2019-02-14 16:05 asciilifeform: btw , to go with http://trilema.com/2019/so-what-is-the-man-saying , really oughta disasm a zcx variant and longjmp side by side and see what actually changes. ( when diana_coman comes back with working bins, i'ma set this up , for thread-co)
diana_coman: atm I still have to get to the bottom of the "ave1 gnat with sjlj"
asciilifeform: ( from ancient gnat will suffice for time being , for that )
diana_coman: right; as soon as mircea_popescu confirms the code is what he wanted, will do
asciilifeform: aite, i'ma do it to the variant mircea_popescu goes with
asciilifeform: diana_coman: ideally when you do this, tar up not only the final bin but the contents of obj dir
asciilifeform: ( we aren't so much concerned with the 3MB standard lib )
diana_coman: k, will tar up the whole dir
mircea_popescu: diana_coman take out the Encrypt(KS, Plain, Encr); line, this is just empty procedure calls.
asciilifeform: mircea_popescu: i cannot resist to ask, is it 'ragassa' and not 'ragazza' ? ( was it a sicilianism or wat )
mircea_popescu: because they're talking veneto.
diana_coman: oh, no serpent in there ? it'll run VERY fast though i.e. 0.039s sort of thing
mircea_popescu: diana_coman well, that's what the x knob is for.
mircea_popescu: from previous experience if we get it to 1-3 s we're far into convergence territory anyway.
diana_coman: and you know, worse in the sense that you get 0.0039 on one run and 0.0095 on another
diana_coman goes to run it a few times without the serpent
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)
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
mircea_popescu: diana_coman try with 16777216 then.
diana_coman goes to try
asciilifeform: diana_coman: fwiw the noise floor on e.g my test box, is 0.003 (i.e. a proggy with empty main)
mircea_popescu: talking of space heaters, inb4 her house burned down.
asciilifeform not yet burned down, but managed to overhead $box recently
asciilifeform: *overheat
mircea_popescu: anyway, on the upside, it is not possible x= 16777216 can be accomodated on any stack pages of any extant or soon to be devised irons, it still needs at least 4 bytes per call if not 52.
diana_coman: uhm, it overflows the stack and either the linker switch I'm using is not working or it can't make it
mircea_popescu: diana_coman possibly have to alter the linux config alf was mentioning it, blows out the 2mb stack max default.
asciilifeform: ( asciilifeform found that ye olde box cannot actually sustain 100% 8-core for 2+hrs. trips sensor. quite annoying. )
mircea_popescu: try ulimit -a
diana_coman: stacksize 8192kbytes
mircea_popescu: so setrlimit to whatever is reasonable (here i'd expect no less than 832mb)
mircea_popescu: can set it back when done, it happens to be one of the more sensible / useful limits in there, which is why few even know about it.
diana_coman is waiting for it to finish now
asciilifeform: mircea_popescu: i've had to up stack depth on 1 occasion before -- when testing ffa with ridiculously wide bitnesses ( recall, item runs 100% stackistically )
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
asciilifeform: ugh is there a hard max ?!
asciilifeform: ( and it's lower than installed ram?! )
diana_coman: apparently I need to dig into this more
diana_coman goes to dig in bash confs
asciilifeform: iirc on some kernels 'ulimit -s unlimited' worked
diana_coman: not on this one, I tried it
diana_coman: right: Starting Calls run with 3 procs and Max value 16777216; Calls run X = 22368144 took 1.258959000 seconds.
diana_coman: the value of X is final value and it changes a bit depending on the seed for MT
diana_coman: mircea_popescu, ^
mircea_popescu: diana_coman i don't get it, so it crashed with 16mn but worked with 22mn ?
mircea_popescu: or is the idea you meanwhile fixed the stack size issue
diana_coman: I fixed the stack issue
mircea_popescu: a cool. ok, so 22mn takes 1.25 s i'd say it's in the zone, and we're good as such.
mircea_popescu: now for teh sjlj
mircea_popescu: (it will doubtless be MUCH larger, but the issue here is time not so much space)
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
mircea_popescu: alright ; then try smaller sizes, x=4m might fit for both for instance, and it's still in the zone.
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)
diana_coman: so X will be bigger than max generally because of the "calls 2 procs"
diana_coman: Starting Calls run with 3 procs and Max value 16777216; Calls run X = 22368144 took 0.900212000 seconds.
diana_coman: i.e. same as above with Max at 16.77mn (but real X at 22.36mn) without sjlj -> 0.9s
diana_coman: with sjlj: Starting Calls run with 3 procs and Max value 16777216;Calls run X = 22368144 took 0.903548000 seconds.
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
mircea_popescu: diana_coman but they're parametrically related.
mircea_popescu: diana_coman wait wait, so it's in fact a HUGE penalty to use zcx is you have no extra handlers ?
diana_coman: you mean in that you don't actually gain anything but lose ability to abort asynchronously among other things?
mircea_popescu: specifically stated, this program takes to run : 1 with sjlh, no handlers ; 30 (up 3000%) with zcx, irrespective of handler count ; 5295 (a further 200% up) with sjlj and one extra handler.
mircea_popescu: ie, what the docs don't say is the juciest bit at all : if you do not have extra handlers, zcx is MASSACRING you on calls.
mircea_popescu: diana_coman can we do with 2 and 3 extra handlers as a bonus plox ?
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)
diana_coman: and yes, then I'll do with 2 and 3 handlers too
mircea_popescu: but that 0.9 vs 0.03 is popping the fuck out.
diana_coman: hence I suspect I fat-fingered it because I don't remember popping out when I read in console
diana_coman goes to run and will be back with proper data
asciilifeform nao wonders if there's a seekrit chest fulla ffa speedup in this dig
mircea_popescu: you know ?!
mircea_popescu: it really blew my fucking mind! ZERO COST, they said!!!
mircea_popescu: (in fairness though, no program ever does the sort of calling insanity we do here, so irl this may be very mild indeed)
mircea_popescu: !Qcalc 158.87/22368144
lobbesbot: mircea_popescu: 7.10251150028e-06
mircea_popescu: ^even handled sjlj is not really that bad, 7us per call far far from end of world.
asciilifeform goes to test..
asciilifeform finds that (using pre-ave1 gnat, where i currently can --RTS=sjlj ) no detectable diff in mod ex
asciilifeform: this does not contradict the hypothesis re handlers tho ( i have only the 'last chance' handler ). it does suggest that sjlj does not speed up ordinary calls substantially tho.
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
diana_coman: all those tests are on Adacore's 2016 gnat, yes
mircea_popescu: a a! so it's 0.9 vs 0.93 ?
mircea_popescu: aok. i can take my tin foil off now.
diana_coman: sorry; I should know by now to not hurry up with data report even if it's just 2 runs
mircea_popescu: no harm done
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
mircea_popescu: prolly a bunch of try()catch semantics in "all programs"
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
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
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
a111: Logged on 2019-02-11 01:33 hanbot: diana_coman fwiw i ran into a few broken internal links on ossasepia today on account of their still pointing to dianacoman.com, see http://ossasepia.com/2018/03/08/eucrypt-compilation-sheet/ fo' instance.
diana_coman: asciilifeform, any preference re "pair of bins" i.e. the procedure calls or the loops of yest?
diana_coman: or both?
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
asciilifeform: ty diana_coman ! i'ma look
asciilifeform: diana_coman: the 'zcx' tarball contains a 'ljmp_calls' dir, same as other 1. which is correct ?
diana_coman: asciilifeform, the name of the tarball is correct; you'll have to change the name of the dir /put them separate
asciilifeform: diana_coman: btw your 'lick the 9v' intuitive observation earlier was correct, on ljmp variant the default stack frame indeed longer, 184byte vs 40
asciilifeform: though, interestingly, only in the unit 'procs' , which actually contains exceptionisms
asciilifeform: err, 'procs' and 'mt'
asciilifeform: at the risk of log clutter, will put ftr :
asciilifeform: zcxistic :
asciilifeform: 0000000000000000 <procs__a>:
asciilifeform: 0: 55 push %rbp
asciilifeform: 1: 48 89 e5 mov %rsp,%rbp
asciilifeform: 4: 41 55 push %r13
asciilifeform: 6: 41 54 push %r12
asciilifeform: 8: 53 push %rbx
asciilifeform: 9: 48 83 ec 28 sub $0x28,%rsp
asciilifeform: longjmpistic:
asciilifeform: 0000000000000000 <procs__a>:
asciilifeform: 0: 55 push %rbp
asciilifeform: 1: 48 89 e5 mov %rsp,%rbp
asciilifeform: 4: 41 57 push %r15
asciilifeform: 6: 41 56 push %r14
asciilifeform: 8: 41 55 push %r13
asciilifeform: a: 41 54 push %r12
asciilifeform: c: 53 push %rbx
asciilifeform: d: 48 81 ec b8 00 00 00 sub $0xb8,%rsp
mircea_popescu: so really just pushes two more regs is all.
diana_coman: hm, doesn't look that bad
mircea_popescu: ftr that's 52 bytes (ha-HA!) vs 60 bytes.
asciilifeform: ( before anyone asks, the 'unwind resume' variants are extern stdlib symbols, and i haven't looked to see how they differ yet )
asciilifeform: mircea_popescu: where 50 and 60 ?
mircea_popescu: procs_a vs procs_a
asciilifeform: 0x28 == 40 , 0xb8 == 184
asciilifeform: the stack frame, that is
asciilifeform: plus moar killed regs
asciilifeform: but indeed the ljmp variant craps out slightly bulkier coad across the board
asciilifeform: ( to 0 measurable diff in ffa, oddly enuff, but on e.g. tiny micros might make a diff.. )
mircea_popescu: look here : lines 1 through 9 in zcx add up to 13 bytes, yes ?
asciilifeform: aa your were speaking of coad mass
asciilifeform: then yes
asciilifeform: and see above
mircea_popescu: the observation that perhaps sjlj is not actually as tightly optimized as zcx is trying to percolate through my brain
asciilifeform: i was discussing diana_coman's much earlier empirical find, that on ljmp stack fills faster per same # of calls. this here is why.
mircea_popescu: whence 184 ?!
asciilifeform: mircea_popescu: the stack frame.
mircea_popescu: but why so big ?
asciilifeform: sub $0xXX,%rsp
mircea_popescu: no i know where you got the sub param from, what im asking is,
asciilifeform: cuz it keeps the where to longjmp in'ere.
mircea_popescu: what does it do with the rest of the frame, from the bytes we see to the 184 ?
mircea_popescu: (the 52 is cuz i took the 13 items and multiplied by 4, forgetting that these are actually byte alligned not 64-bit alligned)
asciilifeform: ^ in classic intelistic form, and with decoded debug symbols
asciilifeform: yw mircea_popescu
asciilifeform: also loox like the ljmp variant puts abortism stub in erry proc (that appears in a task, that is)
mircea_popescu: it does.
asciilifeform: ( will guess, tho i do not presently know, that these trigger unwind of stack )
asciilifeform currently wondering wtf https://www.felixcloutier.com/x86/ud is doing in there
asciilifeform: it is only in ljmp-variant
asciilifeform: ( which is why asciilifeform never saw it in gnat disasms prior )
asciilifeform: i'ma guess it is for word-alignment (why not ordinary nop ?? )
asciilifeform is prolly doomed to actually vivisect the gnat backend at some pt, prolly sooner rather than later
mircea_popescu: loc_44E: << this entire thing\
asciilifeform: in which
asciilifeform: aa ljmp
mircea_popescu: why jz rather tthan sub ?
mircea_popescu: im sorry. why jz rather than jmp or w/e
asciilifeform: cuz it's the 2nd half of a conditional ?
asciilifeform: test eax, eax
asciilifeform: jz somewhere
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
mircea_popescu: asciilifeform but i mean, test eax, eax ?
asciilifeform: i.e. loox like is a flag that triggers an unwind
mircea_popescu: what's being tested ?
asciilifeform: i suspect mircea_popescu dun habitually read gcc barf
asciilifeform: want expand ?
mircea_popescu: rather, i can't shake this impression that sjlj saddles us with two segments of overhead
mircea_popescu: one that's due to the method, and the other that's due to the fact zcx was a lot narrowly-er massaged
asciilifeform: var_B8 contains some flag. valid values are 0, 1, 2, 3. if 0, we go to loc_490. if 1, loc_601. if 2, loc_62d. if 3, loc_659. if above 4, program dies, cpu executes ud2 (guaranteed bomb) .
asciilifeform: 490 is various mechanics, ends with _Unwind_SjLj_Resume .
asciilifeform: the rest, i will omit, but also end up in the various unwindisms, aborts, stubs.
asciilifeform: aah lol i'm a tard :
asciilifeform: they're diana_coman's exception handlers.
asciilifeform prolly oughta have read the orig adb prior to doing this
mircea_popescu: are you basically saying this sub eax, 1 ; test eax, eax ; jz loc_601 is optimal approach ?
asciilifeform: mircea_popescu: it's what gcc does for small (i dun recall threshhold) computed switch
asciilifeform: for larger, does a computed jump
asciilifeform: it's 'optimal' in the sense that it fucks the branch predictor less than an always-computed-jump
mircea_popescu: yet zcx does cmp rdx, 3 ; jz loc_50C
mircea_popescu: (did i identify the same segment correctly ?)
asciilifeform: lessee..
mircea_popescu: which is more compact ; and perhaps quicker too ?
asciilifeform: zcx hands-down moar compact
asciilifeform: at least where routine appears in a task
mircea_popescu: well so then what are we disagreeing here about.
asciilifeform: nuffin yet, afaik
asciilifeform: i sawed it open to try an' see how thefuq the longjmp thing actually worx
asciilifeform: and precisely why slower (and where even slower)
asciilifeform: on sane people planet i could determine this by reading the motherfucking docs
asciilifeform: whereas here..
mircea_popescu: one part of the problem might be that sjlj comes from a time before, when insanities like that snippet above were standard. but no time since the millenium do you see it instead of the cmp etc.
asciilifeform: mircea_popescu: opposite. cmp is ~3x slower than 'test'
asciilifeform: cuz it does a subtract, see
asciilifeform: test simply ORs the bits in register together (and this happens by default when you load it, cuz it's costless electrically)
mircea_popescu: supposedly not anymore.
asciilifeform: think, cmp can only work by subtracting
mircea_popescu: i agree with THAT part.
asciilifeform: (so it actually locks the pipe and waits for both operands to become available)
asciilifeform: hm so which 'not anymore' ?
mircea_popescu: yeah but the pipe is built such that this is also ~0 cost electrically
asciilifeform: mno, if you lock the pipe, you lock the pipe, that reg aint available for reorderism
asciilifeform: whereas if you didn't touch it, it then is
asciilifeform: ( recall, we're on a reorderism arch )
mircea_popescu: well, i won't trust my own understanding of asm and contemporary cpus as far as i can throw it ; but if indeed the operands in zcx impl were slower, you'd see it take less time!!!1
asciilifeform: diana_coman does seem to have crafted a testism where it does
asciilifeform: ( btw the obj reason why none of this is visible in ffa -- there aint any tasks! so even in ljmp mode it shits out same coad )
mircea_popescu: she corrected the numbers, it's 90 for zcx 93 for sjlj at the best.
asciilifeform: mircea_popescu: do i misread the http://btcbase.org/log/2019-02-14#1896636 run ?
a111: Logged on 2019-02-14 21:53 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
mircea_popescu: gimme a break, that first instance ?
asciilifeform: e.g. for 3 handlers, 3 | 1.329 | 446.821
asciilifeform: ( zcx on left hand, ljmp on right )
mircea_popescu: 400 seconds vs 1 second ?
mircea_popescu: if the zcx's cmp WERE slower than sjlj's test, then we should see the latter be faster on 0 handlers than the former!
mircea_popescu: leaving compactness aside for the moment
asciilifeform: seems like the diff only comes into play when there is 1 or moar ?
asciilifeform: ( based strictly on diana_coman's output )
asciilifeform: mircea_popescu: the 'test' vs 'cmp' thing is microscopic , so arguably red herring here
asciilifeform: ( it's make a serious diff inside an inner loop, but here we have it in exception handler, which aint )
asciilifeform: i was answering q of 'why does gcc put out this odd form for a computed goto'.
mircea_popescu: kinda what i understood, that cmp USED TO BE expensive, but is no longer.
mircea_popescu: but anyways!
asciilifeform would kill for an accurate tick table for opteron. but none exists ( possibly when i have msdos gnat, can bake one..)
asciilifeform: ( the rub is that ticks depend heavily on context, on a reorderistic cpu )
mircea_popescu: not likely a scalar table.
asciilifeform: for all i know, not even a computable function, lol
mircea_popescu: nevertheless, the point has legs -- what we've done here very much can be done ands re-done, and with cuntoo/ada-gnat/etc stack spitting out statics, it might even come close.
mircea_popescu: in no case do i know of anyone who has actual data re such things as "ok, so manual claims, but NUMBERS for this penalty"
asciilifeform would really instead like a cpu where erry instruction takes 1 tick, fuck errything. but presently dunhave.
asciilifeform: mircea_popescu: manual is silent, for the most part, on subj.
asciilifeform: they haven't printed 'tick table' since old pentium.
asciilifeform: i.e. when introduced reorderism & pipes.
asciilifeform actually has the manuals, intel's and amd's, they eat a good bit of shelf
mircea_popescu: yes, but we can actually print it, if we get that bored.
asciilifeform: they also dun do much good! if i had a wood furnace, i'dve stoked it with'em by nao
mircea_popescu: precisely through same process as yielded here, timings for serpent etc, there's readily recognizable meta-structures
mircea_popescu: end up with converged values and whatever else, put them in a matrix and have a matrix-table.
asciilifeform: eh and then you make your case switch 4-legged instead of 3 somewhere, and all readings change.
asciilifeform: for no describable reason.
asciilifeform: this is why most 'i'ma do it in asm!' folx by nao have drunk to death.
asciilifeform: yer talking to 1 of the few remaining. (and perhaps only because asciilifeform dun often asm , knows measure)
asciilifeform: it's a shit arch.
mircea_popescu: why you do the matrix in the first place. you identify the attactors and so on
mircea_popescu: it'll be scientific programming for once.
asciilifeform: mircea_popescu: it's a stateful box of ??? ( rumour is, not even orig vendor can fully describe the phase space )
mircea_popescu: nevertheless it's a finite phase space. imagine, if we end up having docs intel doesn't.
asciilifeform: and then you pick up chip made on a tuesday, and it has diff mechanics than what they sold on wednesday of same wk.
asciilifeform seen many times
asciilifeform: it aint a z80, thing is finite yes, but coupla MB of state .
asciilifeform: which is not to say that you can say ~nothing~ -- can say many things (e.g. the point re the reorder lock, stands for all current x86 irons)
mircea_popescu: (this may sound far-fetched to our foreign friends ; but the exact thing happened to me before.
mircea_popescu: diana_coman was there, even!
asciilifeform: also did not say that profiling is useless, profiling -- worx, and is a must for anyffin where you actually give a fuck re performance. but what we aint got on pc, is anything like an actual grasp of wtf the thing does and precisely why.
mircea_popescu: but this can be wrested out from it!
mircea_popescu: and the mechanism that'll work on intell will then work on xilinx, and so on.
mircea_popescu: software's faster than hardware.
asciilifeform: with thinking, rather than brute force ( nobody will live to see even 2^128 bit of phase space walked via brute force, do the arithm )
asciilifeform: and it's exactly what asciilifeform intends to do to e.g. the bolix.
asciilifeform: but requires a bit deeper cut than 'i'ma run $snippet and time'
asciilifeform: !#s mk61
asciilifeform: ^ ancient sovok programmable calculator. had entire subculture, of , among other things, 'eggogology'
asciilifeform: i.e. exploring undefined instructions
asciilifeform: much noise was made re the peculiar results of running various
asciilifeform: but for 30 yrs the aficionados had nfi what thing actually did when eggoged. until microscopist.
asciilifeform: what found, was that the 'eggog instrs' were meant to be various floatingpointisms, that didn't work out in the last chip revision, and so left out of the manual
asciilifeform: so produced garbage ( but ordered!111 and therefore fascinating!111 to certain folx ) garbage.
mircea_popescu: ok that's a great one.
asciilifeform: this sorta thing happens to this day.
asciilifeform: ( and think, that was a ~hand-drawn~ chip, with coupla thou. transistor. )
asciilifeform: http://www.artem.ru/calc/2.jpg << subj is under the large white paint stain.
asciilifeform: ( surprise ? they had smt pcb in sovok )
asciilifeform: in ru there are some decent microscopists ( not the 1 phf went to, but apparently others. ) for instance, very recently found that К1801 ( sovok 'pdp-11' single-chip ) was ~not~ in fact a photoclone of dec's (only the early '80s demo ver was!) but , turns out, entirely indigenous orc design, with coupla x ~fewer~ transistors and yet faster max clock
asciilifeform: ( interestingly, still produced! at privatized 'angstrom co', but not sold to humans afaik )
asciilifeform: very decent chip, btw, 150,000 16-bit multiplications / sec., and addressed 4MB.
asciilifeform: one could actually ffa on that ( if somehow find one ! )
diana_coman: ahahah, that garbage story is great
asciilifeform: https://pmk.arbinada.com/node/12 << for the troo aficionado.
asciilifeform: contains such things as 'beasts', 'werewolves', 'darkness' , 'monsters', all named 'effects'
asciilifeform: on that 1 calc
asciilifeform: and all cuz the folx at 'angstron' didn't have laser, like intel's, to snip off the defective chunk of the ic on conveyor, lol
diana_coman: this eggogology sounds like a candidate euloran skill or something, lol
asciilifeform: for folx who dun ru -- eggogs had 'depth', which referred to how many ops you persisted with after already eggoging
diana_coman: at any rate, I think it would make a far better item to send kids to investigate than many "projects"
asciilifeform: ( before mircea_popescu answers 'holy mother of fuck, this is chemically-pure wankery' -- yes, it was. but imho still beats shit out of redditism. )
asciilifeform was given 'mk61' at same age i think diana_coman's kid is nao
asciilifeform: 'hand me down' from elder.
mircea_popescu: lol diana_coman
mircea_popescu: asciilifeform no dude, as she points out, it's eulorism avant la lettre.
asciilifeform can see it..
asciilifeform: i would almost say 'i had moar fun with that thing than ever did with pc', but this is prolly http://btcbase.org/log/2019-01-18#1888232 -effect.
a111: Logged on 2019-01-18 17:49 asciilifeform: http://btcbase.org/log/2019-01-18#1888188 << oh hey , was this same grandfather as 'i miss stalin, we were younger then' ?
asciilifeform for yrs nao has wanted to build some boxen around sovok k1801, but was never able to justify the sweat in light of war effort -- the demand for iron wallets and similar , even among folx with 3rd eye open, seems to be pretty minimal.
asciilifeform: 4MB aint enuff to e.g. trb inside. tho 1 could rsa in it.
asciilifeform: ( or boot sysv unix, if yer a masochist )
asciilifeform: asciilifeform's brother worked on 1, in '90 or so. thing powered a hall of 32 glass terminals , occupied ~24/7 by hungry undergrads
asciilifeform: sysop kicked the drum disk to get it goin'.
asciilifeform won a http://trilema.com/2014/the-all-american-asshole-in-his-own-words-with-my-own-notes/ in trilemalotto today. classic piece, but observe that clicking on the 'internal' footnote linx throws the selector script into same bug as on asciilifeform's site
mircea_popescu: i select, clicked footnote, select again, it works throughout ?
asciilifeform: grr couldn't reproduce 2nd time
asciilifeform: all the moar headachy
asciilifeform: ( does that thing invoke rng somewhere?! )
mircea_popescu: lmao. nope
asciilifeform won't be surprised if 1 day we learn that it only happens if you click on the bottom serif of a lower case 's' or somesuch
asciilifeform: mircea_popescu, diana_coman do you have any pressing itches re the asm vivisections , or can table it for nao ?
asciilifeform empties head.
feedbot: http://trilema.com/2019/wall-street-1987/ << Trilema -- Wall Street (1987)
mircea_popescu: diana_coman so in the end, the conclusion of these procedings is, we're switching to sjlj and use no handlers ? did you ever manage to get it going on smg test server ?
← 2019-02-13 | 2019-02-15 →