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/8gTJ5RMzBw␤Could 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