log☇︎
16400+ entries in 0.13s
mircea_popescu: BingoBoingo do you happen to recall a trilema article about some moronic "pick up artist" and his tedious adventure getting some 17yo i think it was to sorta-take it, after half a day of pigeoning ?
asciilifeform: ( so far impression is, roughly similar to '80s su, tho with ~less~ obv. leakage of suppressed laffter through the pg , oddly , i expected moar )
mircea_popescu: in ro the expression'd be rather negative, "i got nothing". cuz "o pula" works also as universal negation, "do you have any money ?" "i got dick"
asciilifeform: am o pula << i automatically recalled the http://btcbase.org/log/2016-06-21#1486093 rhyme ☝︎
mircea_popescu: i'm still waiting for diana_coman to return. ☟︎
asciilifeform so far thinks -- if zcx actually measurably wins somewhere, i dun know where that is
asciilifeform: mircea_popescu: i don't specifically know, but suspect that the eggog happens when parent thread dies and (for moment) the children keep fandangoing
asciilifeform: the avionics people seem to use it, but they (near as i was able to learn) dun kill tasks at all, and regard any detected wedge as a http://btcbase.org/log/2019-02-12#1895456 condition ☝︎☟︎
mircea_popescu: if there's a mechanism in computing that's supposed to be push not pull, that's exceptions. can't fucking have a pull mechanism for exception handling, and i see 0 gaisn from moving the honest braindamage of "if ZCX_By_Default then return;" into an elaborately & contrivedly hidden same exact thing.
mircea_popescu: re polling and in particular http://bvt-trace.net/2019/02/gnat-zero-cost-exceptions-and-asynchronous-task-aborting/#selection-197.0-197.47 : i fucking loathe the idea.
bvt: may be. tbh i don't think i can reason on this q based on only the test code.
asciilifeform: i.e. may as well be global
asciilifeform: bvt: whole point of multithreadism is to spread out the cpu-bulky work over cores, so i expect most cycles would be spend inside where enabled
asciilifeform: currently i suspect that polling (even if can be made to work errywhere) will be 9000x moar expensive than longjmpism ( the latter only adds to cost of exceptions, the former -- to ~all~ loops )
bvt: yes, the only reason i did not switch yet is the convenience of m-c-m for development (i.e. getting i386 and aarch64 builds ready using it took me a few minutes of config time)
bvt: built myself, based on ave1s patches and musl-cross-make (https://github.com/richfelker/musl-cross-make/ , i had some experience with it so did the work rather quickly).
bvt: myeah, i will drop gnat2017. did not manage to make ave1's running quickly today, will switch on ~thursday
asciilifeform: i recommend to leave gcc5 entirely alone (unless specifically digging for lulz)
asciilifeform: bvt: re the pragma polling bit : abort aint instantaneous, whereas the if A(I)'Terminated ... item happens immediately
bvt: ^ i got some really weird results here, would appreciate if someone tested the last snippet (constraint_error) on ave1's gnat.
BingoBoingo: <asciilifeform> BingoBoingo: couldja plox add the billing calendar (with the hash-pseudonymised subscriber names from earlier) to the public www ? so folx dun have to ask why they're being billed at time t and for what << We have customer accounts here on the public www http://pizarroisp.net/pizarro-records/ listed just below the price points. I have been updating it as part of compiling the statements. I don't recall if I pass out
a111: Logged on 2019-02-12 06:29 phf: asciilifeform: there's also sgi machines with their famously well built x11 implementation. i believe there's no source for that one though
mircea_popescu: i agree!
mircea_popescu: i c@
BingoBoingo: mircea_popescu: In early february you paid the Janaury invoice issued in Janaury. It's the case you've come into post paying, but on the strength of your being mircea_popescu I have not found reason to be alarmed or fuss.
asciilifeform: ( 1 moar reason why i'd like that msdos cross-gnat.. on msdos, the wall clock time is invariant )
mircea_popescu: i do not believe larger experiment gets drowned. on the contrary, larger experiment ~drowns the churn~.
asciilifeform: i really gotta genesis my rdtsc asmism thingie for gnat
asciilifeform: ( would work so long as you take care to return. but i think that is obv )
mircea_popescu: BingoBoingo is the case i am actually postpaying rather than prepaying here and so early feb i actually paid for jan ?
a111: Logged on 2019-02-12 18:27 diana_coman: hence I wanted to actually add some handlers in there and see but atm it's still working on the full run loops-only so will see after that
mircea_popescu: http://btcbase.org/log/2019-02-12#1895474 << i suppose the next test is a multicall, keep calling two procedures from each other and returning randomly. ☝︎
asciilifeform: i dun see why you'd care, tho, unless game ~client~ also gotta thread.
asciilifeform: not that i aint willing to port to e.g. vax or whatever. for a fee..
asciilifeform: currently i have 0 intention of supporting the thing on sad platforms, folx who insist on crapple or microshit oughta do it with own hands
asciilifeform: diana_coman: gnat on crapple , i am surprised that it worx at all.
diana_coman: perhaps that's just because too few loops; I'll report back when I have the numbers though it might take a while
diana_coman: hence I wanted to actually add some handlers in there and see but atm it's still working on the full run loops-only so will see after that ☟︎
diana_coman: according to ref manual, of handlers (i.e. regardless of whether exceptions are raised or not)
asciilifeform: i.e. only affects cpu cost of exceptions, rather than all jmp.
asciilifeform: diana_coman: i suspect then , that i was right re http://btcbase.org/log/2019-02-12#1895287 ☝︎
diana_coman: asciilifeform, that was just the 3 loops (a,b,c); over 1000 runs, the avg were similar with and without longjmp i.e. 0.46744 without and 0.46754 with longjmp; atm running the full version aka a-v and that hasn't yet finished
asciilifeform: diana_coman: when that thing is done running, plox to tar it up, i'ma replicate on other irons ( if effect is cache-sensitive, may show diff b/w irons )
asciilifeform: ( fwiw i (and other ru warez folk) like ancient at&t 'djvu' format, it is moar or less jpeg with optional ocr searchable track. a 300MB pdf turd becomes a 2-3MB djvu. )
asciilifeform: http://btcbase.org/log/2019-02-12#1895198 << btw diana_coman , if you know of other readables , plox to post (or at least the titles, i can dig up with own hands ) ; i oughta have posted burnes et al earlier, but seems like errybody is allergic to scans , so didn't hurry . and lemme know if you end up wanting others, i have the 'spark' text for instance. ☝︎
asciilifeform: ( and in the FG reader -- again cuz the underlying i/o routines produce'em )
asciilifeform: the part i dun use is 'handling', they dun get handled, they go to the last-chance trap where proggy stops.
asciilifeform: ( and since nobody asked 'where exactly does ffa use exceptions? i dun see any throws' -- answr is, ~all~ ada coad where bounds checks are enabled, theoretically 'uses' exception, if you break a bounds check what do you suppose happens.)
asciilifeform: i usedta have a collection of these, threw out, got trdious
asciilifeform: mircea_popescu: i associate shitoverflow with articles like 'how do i cast 'fireball' in real life?' ( actual find ) ☟︎☟︎☟︎
asciilifeform: hrm i can't actually think of a periph that 'wants to know time'
mircea_popescu: what if i dun wanna.
asciilifeform: i/o arguably is always 'not ada' when on unix box ( see ave1 for detail )
mircea_popescu: asciilifeform but then i gotta what, write my own drivers/kernel mods for every peripheral ?
mircea_popescu: but in any case one can't have an ada machine without working abort (which specifically means, NOT import the c consrtruct, cuz wtf am i gonna do.)
asciilifeform: seems to me that the correct layer for timeout is the i/o call
asciilifeform: but also agree with mircea_popescu , you gotta have a way to halt a wedged device i/o at least.
asciilifeform: i use'em as strictly as equivalent of the red lamp
a111: Logged on 2016-01-21 13:29 asciilifeform: 'if i make it what i think is the right size, it crashes!111'
mircea_popescu: right, it's a misnomer, i'm not arguing that part.
diana_coman: I suppose "not catchy enough "
diana_coman: i.e. an exception handler, not necessarily a raise
diana_coman: not a big deal; reading here on the sjlj theoretically the biggest slowdown would be when there are some exception handlers so maybe I should add that to testing
mircea_popescu: i wanted something in there of a little heft to make sure we're not being optimized or w/e.
asciilifeform: i.e. try with simply the wrappings.
a111: Logged on 2019-02-12 14:05 diana_coman: mircea_popescu, eucrypt's test on Serpent seem good candidates as one can even adjust how many iterations to do if you want some specific time intervals; current full test of the serpent module (including i/o because of using test vectors in file) is reported by time at ~2.3s without sjlj; this has no tasks/exceptions as such;thing is: time is not extremely precise but I could run I suppose some 1k times and see
asciilifeform: https://archive.is/HpVWP << likbez re the interrupts mechanism, if we end up wanting to try such thing. ( a bare-iron gnat will ~have~ to use it, for basic machine i/o handling, so asciilifeform is doomed to test it sooner or later , fwiw )
mircea_popescu: yeah but i have nfi what it shits into the obj code, and so on. but not off the table, no.
asciilifeform: it's a standard pkg, rather than gnatism (i.e. also worx on raw irons, anyffin with an interrupt controller)
mircea_popescu: i guess, though i am not sure the correct approach is adding packages.
mircea_popescu: anyway, it's fucking insulting as all hell, this zcx implementation. i suspect we will have to fix it anyway, because it is not really feasible to NOT have one, on irons that support it.
mircea_popescu: exactly what i had in mind for "hey diana_coman check this" if you returned true.
mircea_popescu: if it does i am sold.
a111: Logged on 2019-02-10 17:37 asciilifeform: will add to this also, that if yer thread is actually wedged, it will almost always be on acct of http://btcbase.org/log/2019-02-08#1893811 , i.e. waiting for a blocking unix i/o, and no matter what yer pthreads proggy is written in , c, ada, cobol, whatever, it will still become a zombie, cuz unix is retarded.
asciilifeform: i think mircea_popescu is suggesting to try with ~input~ block
diana_coman: certainly, but I'm kind of suspicious that it actually works anyway
a111: Logged on 2019-02-12 01:06 asciilifeform: http://p.bvulpes.com/pastes/svUIo/?raw=true << same, but with 'delay 0.0' -- succeeds. variant of same with an i/o call : also succeeds
asciilifeform: (i.e. delay-abort test worx from it)
diana_coman: asciilifeform, it works aka you checked that it was *blocked* on that i/o when it got aborted?
asciilifeform: ( the idea is, i suspect, that if you have one of ~these~, you fucked yer own proggy at time of writing )
asciilifeform: the 1 thing that you can't async-stop in the zxc model, looks like, is a straight loop with no i/o
a111: Logged on 2019-02-12 01:06 asciilifeform: http://p.bvulpes.com/pastes/svUIo/?raw=true << same, but with 'delay 0.0' -- succeeds. variant of same with an i/o call : also succeeds
asciilifeform: mircea_popescu: it only worx if you http://btcbase.org/log/2019-02-12#1895105 (i.e. add a 'delay' or i/o instruction (interestingly, the latter always work as abort-point , but only for the async select method ) ☝︎
asciilifeform: btw this is why i sewed ffa into a linkable lib. ~it~ can still be built with restrictions even if running inside a proggy with tasks etc
mircea_popescu: this is what i was coming to : do you have a better approach to evaluating the putative sjlj runtime cost than the above thing diana's implementing nao ?
a111: Logged on 2019-02-12 13:18 bvt: i expect it will be slower, but it won't hurt to do the check. the impact will depend on how exceptions are used (i don't think it can have any impact on ffa, for example). but i don't have enough experience with it to provide any numbers
asciilifeform: http://btcbase.org/log/2019-02-12#1895209 << i saw similar, but did not find why. loox like it's explained downthread ☝︎
diana_coman: I don't quite get the branches and iterators aka what exactly do you want in there?
diana_coman: mircea_popescu, eucrypt's test on Serpent seem good candidates as one can even adjust how many iterations to do if you want some specific time intervals; current full test of the serpent module (including i/o because of using test vectors in file) is reported by time at ~2.3s without sjlj; this has no tasks/exceptions as such;thing is: time is not extremely precise but I could run I suppose some 1k times and see ☟︎
diana_coman: i.e. possibly some of eucrypt's tests
diana_coman: hm, it's all about what the task does so I suppose it's enough to plonk in there some rsa ops
mircea_popescu: of course, that's when they moved to unicode. but if memory serves, dwarf2 was kinda braindamaged in some corner cases i now don't recall.
mircea_popescu: i thought it adds an abort polling point.
mircea_popescu: (i expect it will stop, yes ; but the q is, even slower than good old sjlj perhaps ?)
diana_coman: I read a bit on that and it seems to me that it is meant to actually add ANOTHER "won't abort here" point so I don't quite see it; but yes, I'll try it anyway
diana_coman: myeah, sjlj is going to be slower; onth now I don't quite get it WHY is ZCX not able to support async abort
mircea_popescu: just, i don't think it can be whipped into a workable exception handling mechanism.
bvt: i expect it will be slower, but it won't hurt to do the check. the impact will depend on how exceptions are used (i don't think it can have any impact on ffa, for example). but i don't have enough experience with it to provide any numbers ☟︎
mircea_popescu: i thought it actually did dwarf
diana_coman: I suppose so far the options seem to be 1. maybe there's a way to actually make it choose the sane abort model 2. change the idiotic "ignore the signal" part