|
04:20
lizmat joined
05:50
domidumont joined
05:55
domidumont joined
06:15
domidumont joined
07:13
brrt joined
|
|||
| brrt | good * | 07:17 | |
| nwc10 | good *, brrt | 07:18 | |
| brrt | ohai nwc10 | ||
| i've a new and cunning plan to proceed with the register allocator for even-moar-jit | 07:19 | ||
| or rather, a next step | |||
| next steps are awesome, because you can do them without puzzling over it | |||
| moritz | do tell | ||
| brrt | well, it's embarassingly simple | ||
| at this point, the register allocator can not insert either spills or loads, yet | 07:20 | ||
| its just a register assigner | |||
| the next step is a): write a small program that will force spilling and loading (this will throw a NYI) | |||
| b): implement spilling and loading for the very simple case we actually need | 07:21 | ||
| moritz | that sounds very agile | ||
| brrt | i've come to realise that all the useful bits of agile can be summarised as: 'set goals you know how to reach' | 07:22 | |
| all the other bits are just ritual | |||
| moritz | not quite | ||
| brrt | now i can't blame people for rituals | ||
| moritz | a big part of agile is "reflect on what you did, and improve" | 07:23 | |
| and do it regularly | |||
| brrt | fair point | ||
| hmmm | |||
| that may be one of those steps that is so obvious you might overlook it | |||
| nwc10 | www.computerweekly.com/news/4502967...ions-staff -- Whenever an out-of-hours alert occurs, a review will be carried out the following day to see if it was worthwhile waking someone up in the middle of the night to sort out. | ||
| brrt | radical | 07:24 | |
| how on earth did anyone get /that/ idea | |||
| nwc10 | (near the end. I find all of Bob's comments interesting.) | ||
| moritz | sounds a bit like Google's SRE approach | ||
| nwc10 | I'm also biased because I know him :-) | ||
| brrt | :-) | 07:25 | |
| question: people are not necessarily smart, but they are not necessarily stupid, either | |||
| why are organisations almost universally more stupid than their constituent people | |||
| moritz | conflict of interest, communication overhead | 07:27 | |
| diakopter | rather we must understand that organizations cannot be stupid, as they are not people | 07:28 | |
| moritz | right, but they can show stupid behavior | 07:31 | |
| brrt | fair point, they can force stupid behavior on people? | ||
| also, i'm not sure if i agree at all | 07:32 | ||
| moritz | even if they don't, they can still lead to stupid behavior | 07:33 | |
| nwc10 | moritz: I'd add "externalities" to your list. (externalities from one organisational sub-unit to another. eg it costs little for someone *else* to say that X needs to be fixed urgently, or out of hours) | ||
| brrt | plenty of organisation-like things have collective behavior, all behavior can be adaptive (smart) or non-adaptive (stupid), hence organiations can be(have) stupid | ||
| diakopter | i do think orgs can prevent people from not being stupid | 07:34 | |
| moritz | if several people are involved in a process, they might optimize for different things | ||
| which leads to behavior that makes sense to everybody involved, and is still stupid from the outside | |||
| brrt | externalities are a big thing, yes | ||
| i'm specifically referring to collective (external) stupidity | |||
| :-) | |||
| moritz | quite a bit of good productivity consulting consists of just getting the people in one room that work together on one process/project/customer | 07:35 | |
| which can be quite hard in big orgs | |||
| once they are in the room and talk about the big picture, it's much easier to see the harmful micro optimizations that occur at each step | 07:36 | ||
| brrt | that sounds.. a lot like the 'system optimization' thing that is all the rage in energy and environmental planning | 07:38 | |
| moritz | if you're interested in these kinds of dicussion, I can recommend the "Devops Cafe" podcast (now mostly defunct, I'm afraid) | 07:39 | |
| they have conversions with lots of devops people, and most of them started quite technical, and are now working on shaping the organizations to be more "devops" | 07:40 | ||
|
10:59
brrt joined
|
|||
| brrt | i'm also thinking of shrinking the size of a MVMJitExprNode to 32 bit | 11:04 | |
| and splitting constant pointers into two parts | |||
| i think that won't hurt all that much, and will be slightly cleaner since we downcast to a 32 bit value for most of the time | 11:05 | ||
| the enum value of a MVMJitExprNode is also 32 bit wide | 11:06 | ||
| it is dammingly hard to get the register allocator to allocate more than 8 registers... | 12:32 | ||
| jnthn | Does that mean it's doing pretty good already? ;) | 12:41 | |
| brrt | well, that is one interpretatation | 12:42 | |
| eh | |||
| interpretation | |||
| i prefer to say that the failure case is not so easy to trigger :-) | 12:43 | ||
| \o/ got it | 12:47 | ||
| i demonstrate: gist.github.com/bdw/3b4cafe6f23223...69cfff30ef | 12:48 | ||
| which will throw 'spill_something NYI' | |||
| jnthn | :D | 12:51 | |
| Remember to add this as a tset :) | |||
| *test | |||
| brrt | yes :-) | ||
| i don't have a commit bit for nqp, otherwise i'd add it there | 12:52 | ||
| jnthn | You don't? | 12:53 | |
| brrt | no, don't think i do | ||
| i've added a few tests in the jit-test repo | 12:54 | ||
| jnthn | Sent you an invite so you can commit to nqp :) | ||
| brrt | thanks :-) | ||
| timotimo has a headache :| | 12:58 | ||
| jnthn is getting one... | 13:00 | ||
| Too much meetings/email and too little code for me today :P | |||
| timotimo | they are in vogue today, it seems. all my other friends seem to have them as well | ||
| the "off-line friends", that is | |||
| brrt | is there a way to get the current moar version (and possibly, built branch) from nqp? | 13:15 | |
| brrt is still healthy | |||
| moritz | brrt: nqp --version should report something | ||
| jnthn | m: say nqp::backendconfig() | ||
| camelia | rakudo-moar 2c4506: OUTPUT«===SORRY!=== Error while compiling /tmp/8gTJ5RMzBwCould not find nqp::backendconfig, did you forget 'use nqp;' ?at /tmp/8gTJ5RMzBw:1------> say nqp::backendconfig()⏏<EOL>» | ||
| jnthn | m: use nqp; say nqp::backendconfig() | ||
| camelia | rakudo-moar 2c4506: OUTPUT«{ar => ar, arflags => rcs, arout => , asm => .s, asmout => -o , asmswitch => -S, auxclean => @:, be => 0, bindir => /home/camelia/rakudo-m-inst-1/bin, booltype => _Bool, can_unaligned_int32 => 1, can_unaligned_int64 => 1, can_unaligned_num64 => 1, cancgoto…» | ||
| jnthn | I think it's in there somewhere | 13:16 | |
| m: use nqp; say nqp::backendconfig()<version> | |||
| camelia | rakudo-moar 2c4506: OUTPUT«2016.05» | ||
| jnthn | Maybe that one | ||
| brrt | hmmmm | 13:18 | |
| not the branch, no | |||
| jnthn | Ah, yeah, it won't do branch...only sha-1 I guess | 13:19 | |
| I think really it's git-describe output | |||
| So if you had an annotated tag for example... | 13:20 | ||
| brrt | tsall good | 13:32 | |
| it wil work this way :-) | |||
| pushed, thanks jnthn++ for the commit bit | 13:35 | ||
| i have a few more tests | |||
| i'll see whether i can add them | |||
|
14:09
lizmat joined
|
|||
| brrt | i'm going to see if anyone is interested in a yapc::eu talk about practical hacking on the expr jit | 14:10 | |
| i.e. how to write templates, tiles, optimizations, and stuff like that | |||
| a crowdsourced JIT is still my dream, perhaps naive | 14:12 | ||
| oh, and timotimo, your graph.c-to-expr converter will feature :-) | 14:13 | ||
| lizmat | +1 # count me in :-) | 14:18 | |
| brrt | lizmat: great :-D, that's encouraging | 14:25 | |
|
14:31
JimmyZ joined
15:08
domidumont joined
15:23
domidumont1 joined
15:38
domidumont joined
16:30
EsdMi joined,
EsdMi left
16:40
Util joined
16:42
ggoebel114 joined
19:00
domidumont1 joined
20:29
Ven joined
21:03
synopsebot6 joined
21:32
synopsebot6 joined
22:48
diakopte1 joined
22:53
geekosaur joined
22:59
_longines_ joined
23:32
avar joined
23:38
flaviusb joined
|
|||