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 :) |