00:58 tomboy64 joined 03:17 travis-ci joined
travis-ci MoarVM build errored. Jonathan Worthington 'Merge branch 'new-multi-cache'' 03:17
travis-ci.org/MoarVM/MoarVM/builds/141061323 github.com/MoarVM/MoarVM/compare/4...c21d50aa4f
03:17 travis-ci left
geekosaur ... wat 03:56
nine Build failures seem to be a failed download of perl 5.14 on a worker 06:51
07:00 domidumont joined 07:05 domidumont joined 07:14 zakharyas joined 09:06 leedo_ joined 09:12 btyler joined, cognominal joined 10:53 brrt joined
brrt hmm, C optimizers aren't all they're cracked up to be 11:31
case in point, i kind of know the ideal assembly code for a routine i'm writing, and neither clang nor gcc will make it 11:32
jnthn Optimizers are often fairly cracked up :P
brrt indeed
yesterday i overhead a normal person saying 'optimization' in a context that almost made sense 11:33
what have we done to the world
jnthn ;) 11:34
brrt i have the sequence: return a->foo == b->foo ? a->bar - b->bar : a->foo - b->foo; the point is to sort by field foo then bar 11:35
i can implement this as mov, sub, jne, mov, sub, ret
because the sub sets the flags for the jump to use
what they will make is close, but not the same 11:36
jnthn I suspect this is part of my luajit writes its interpreter in assembly :)
*why
brrt right :-) 11:37
well, i know of another reason
jnthn Also, how confident are you that what you've got will perform better than what the C compiler produces?
(Noting that, sure it's less instructions, but after ILP and stalls have effect?)
brrt if your interpreter is written in assembly, then your JIT and interpreter can be made to agree where 'special' variables are stored and what your stack layout looks like 11:38
fair point
it probably makes very little difference
jnthn Yeah, that's also true. 11:39
Though it's also the kind of coupling that tends to concern me :)
brrt that... well... i...
it's complicated
that kind of coupling, not just in CS but accross technical projects, is where you can get *huge* performance gains 11:40
the most basic version of that is a train vs automobile
sure the train is heavier, but it has much less specific resistance, hence it is more efficient
the same principle also works within computer programs 11:41
if you can edit your database rows in place, then you are going to be /much/ more efficient than if you have to load them, marshall and unmarshall them over a socket, submit commands, parse commands, etc. 11:43
but yes, that does give you much more coupling, and a design that is much more difficult to change
fwiw, i don't think it is worth rewriting moarvm in assembly 11:47
i might be interested in doing a toy project like that, but just as a toy
12:28 brrt joined
nwc10 So, what should I used to make slides? act.yapc.eu/ye2016/talk/6754 12:32
lizmat nwc10: I don't care, I wanna see this in whatever form you put it in! 12:34
++nwc10
nwc10 the slides need to *work*, because there's enough to say that the slides mustn't get in the way 12:44
also, pre-apology - my alternative history runs out of steam in about 2012. There weren't any more good jokes or observations to make. 12:49
lizmat yeah, I seem to have that effect on people :-)
nine nwc10: typo "In this tall we'll learn" 12:54
nwc10 ooops.
nine++
oooh, bait and switch 12:55
I can still edit it :-)
"this space for rent"
jnthn ;-) 13:03
nwc10 lizmat: "vote for me!" 13:13
14:30 cognominal joined 15:27 tomboy65 joined 17:52 domidumont joined 17:59 rurban_ joined 19:00 vendethiel joined 19:02 domidumont joined 19:21 zakharyas joined 19:25 brrt joined
brrt nwc10++ very cool, very sorry i'm going to miss that 19:25
last time i made slides with beamer and was happy enough about it
but then i didn't use much images
timotimo the compressed archive of minimized crash cases for moarvm found by afl has surpassed 1 megabyte now 21:23
about a thousand files
jdv79 moarvm crashes that much huh? 21:33
21:37 psch_ joined
timotimo hah 21:42
well, there's one particular thing that it finds over and over again
which is that you can give arg_* any index you want, even if it's far outside the valid range
we've got to hope we can easily filter those crashes out :)