00:44
vendethiel joined
01:30
vendethiel joined
02:26
vendethiel joined
03:15
vendethiel joined
03:26
colomon joined
03:39
vendethiel joined
04:03
vendethiel joined
04:27
vendethiel joined
05:18
vendethiel joined
05:50
vendethiel joined
06:23
vendethiel joined
06:49
vendethiel joined
06:59
domidumont joined
07:04
domidumont joined
07:28
FROGGS joined
07:42
vendethiel joined
07:54
zakharyas joined
08:08
vendethiel joined
08:11
Ven joined
08:23
Hotkeys left
08:34
vendethiel joined
08:39
zakharyas joined
09:00
vendethiel joined
09:11
leont joined
09:34
zakharyas joined
09:36
brrt joined
|
|||
brrt | hmm.. anybody got a good idea for presentation software? | 09:42 | |
i tried to use libreoffice present.. and was dissapointed | |||
jnthn | powerpoint? :D | 09:44 | |
brrt | hmmmm.... yeah | 09:45 | |
i suppose | |||
jnthn | It can be used to do great evil :) | ||
brrt | that would mean i have to login a university computer over citrix, such a drag :-P | ||
although i did look at beamer and was not terribly happy | |||
jnthn | But can also be used fairly well :) | ||
brrt | yeah, i suppose | 09:46 | |
do you use powerpoint ususally? | |||
jnthn | Yeah :) | ||
brrt | do you use comic sans? i know it is heresy, but i actually find comic sans to be more readable than otherfonts | ||
jnthn | No :P | 09:47 | |
Do you? :) | |||
I heard it should only be used for really important things, like announcing discovery of sub-atomic particles and stuff. | |||
brrt | i thought about it but last time i decided against it due to not wanting to start a flamewar | ||
or at any cause distraction | 09:48 | ||
i think so too :-) | |||
*case | |||
09:49
vendethiel joined
|
|||
arnsholt | brrt: I'm a beamer user meself | 10:08 | |
But LaTeX is more a question of problems I prefer over problems with Office, rather than objectively better | 10:09 | ||
brrt | i think most of the themes are really too cluttered? | 10:10 | |
but ymmv | |||
jnthn | My Perl 6 intro course from SPW was done with Bemaer, fwiw | 10:11 | |
As was the Rakudo and NQP Internals course | |||
Though in both cases markdown was used and translated by pandoc | |||
brrt | ah | ||
what is pandoc? | |||
jnthn | A program that translates between different document formats | ||
In this case, markdown => latex | 10:12 | ||
brrt | aha.... | ||
well.. ain't that something | |||
i have my slide outlines already in markdown as it happens :-) | |||
jnthn | Anyway, the Rakudo/NQP internals course has the build scripts we use | ||
(in the repo) | 10:13 | ||
arnsholt | Oh, themes can be fixed though =) | ||
brrt | cool. thanks :-) | ||
well, the thing is, i don't care :-) | 10:14 | ||
or rather | |||
arnsholt | Yeah, fixing them can be a bit of a hassle | ||
brrt | fixing beamer themes or presentation software in general is very far down in the list of my life priorities :-) | ||
arnsholt | Yeah, definitely | 10:15 | |
I've got a decent theme you can use, but it's super sparse, mind | 10:16 | ||
brrt | well, i kind of like sparse :-) | 10:18 | |
arnsholt | This is an example: heim.ifi.uio.no/~arnskj/inf1820/v16..._intro.pdf | 10:19 | |
Text in Norwegian, though =) | |||
brrt | doesn't look too bad, although perhaps still a bit ornamentish for my preferences | 10:21 | |
arnsholt | Then there's always the default beamer theme | 10:22 | |
It's just text, IIRC | 10:23 | ||
brrt | fwiw, i recall changing the dynasm protocol to https because git:// was not supported as $thesis-institute | ||
(dynasm git url protocol) | 10:24 | ||
i am not of a mind to change that to support some lowest-common-denominator | |||
more to the point, all submodules use https:// as their checkout protocol | 10:25 | ||
if rakudobrew and others want to support other git protocols, i suggest that they edit the .gitmodules file before running Configure.pl | |||
10:28
virtualsue joined
|
|||
jnthn | Editing the gitconfig after git submodules init is run may be more robust | 10:28 | |
brrt | hmmm | 10:32 | |
maybe | |||
i think it is rather fringe, really | |||
if you're not allowed to connect to https due to company policy... well... | |||
jnthn: thanks, i'm so going to reuse those tools :-) | 10:34 | ||
jnthn | :-) | 10:38 | |
10:43
vendethiel joined
|
|||
timotimo | brrt: you know, libreoffice present has something pretty darn cool that i haven't seen in other programs yet ... at least not FOSS ones | 11:03 | |
which is a presenter tool for smart phones that connects via bluetooth and gives you a preview of the next slide or your notes on your smartphone and also a handy "laser pointer" tool for your fingertip | |||
on the other hand, presenting slides with "impressive" (yes, terrible name to search for) is very neat | |||
jnthn | ooh :) | ||
timotimo | and there's always that javascript thingie that people tend to use nowadays | 11:05 | |
11:05
vendethiel joined
|
|||
timotimo | reveal.js maybe? | 11:05 | |
lab.hakim.se/reveal-js/#/ - that's the one i was thinking about | |||
looks like it's very suited for the "few as-big-as-possible words on screen" type of presentation. which yours probably isn't :) | 11:06 | ||
arnsholt: your presentation talks about "Faget"s? o_O | |||
jnthn | Faget about it... | 11:07 | |
11:09
virtualsue joined
|
|||
arnsholt | timotimo: course-DET.N.SG =) | 11:36 | |
timotimo | the what now? | ||
11:37
Ven joined
|
|||
brrt | timotimo: i didnt know about that | 11:39 | |
how does that work | |||
timotimo | which exactly? reveal.js? | ||
brrt | the libreoffice present bit | 11:40 | |
timotimo | oh | ||
brrt | also reveal.js | ||
but it requires a web browser i presume? | |||
timotimo | i've only used the presenter thingie once before and that was like 2 years ago | ||
yes, a browser | |||
brrt | hmmm | 11:41 | |
i'm all for the minimum-work-possible fwiw | |||
:-) | |||
timotimo | you know how thinkpads still come with VGA ports? | 11:42 | |
how is it, then, that lenovo smartphones don't? | |||
just something to think about | |||
arnsholt | timotimo: "the course" a single word, inflected for definite singular | 11:43 | |
timotimo | oh | ||
that's what "faget" means? | |||
jnthn | Yeah, Scandinavian languages seem to inflect the definite article (while leaving the indefintie one in the "normal" place :)) | 11:44 | |
brrt | lol | ||
(the VGA ports bit) | |||
timotimo | wouldn't that be cool, though? :P | 11:48 | |
the whole "use your phone as a workstation if need be" idea was kinda cool, but nothing really did it well yet, as far as i can tell | 11:49 | ||
there's tablets with covers that double as keyboards. those seem to do okay | |||
but phones? no, not yet | |||
brrt | hmmm | 11:50 | |
my guess is that bluetooth is to energy-consuming / low-bandwidth to serve for display purposes | 11:51 | ||
timotimo | yeah, you'd rather use wifi-direct for that | ||
which is what miracast and WiDi are | |||
brrt | and that displayed-workspace is the limiting factor for phone-as-workspace | ||
timotimo | and of course there's microusb-to-hdmi adapters | 11:52 | |
brrt | anyway, when you do that, you're going to run into the 2000mAh limit quite fast | ||
timotimo | ideally with a few extra ports for extra peripherals beyond mouse and keyboard | ||
right. but if you're already setting your phone up as the center of a display + a mouse and keyboard, you're kind of likely to have a wall socket nearby | |||
i hope :) | 11:53 | ||
brrt | i dunno if usb-c uses considerably less energy than bluetooth. moreover it will end with a): people having to carry another dongle to connect all of them, b): your phone's battery will have to power the whole thing | ||
well, if we're going that way, why not just a chromecast-sized stick that you plug into a monitor / tv-with-hdmi | |||
i'd carry that | 11:54 | ||
for my regular office-ish tasks | |||
timotimo | hehehe | ||
well, hmdi + USB usually | |||
usb for power | 11:55 | ||
i don't think HDMI has power at all? | |||
beyond what's in there by accident/neccessity | |||
brrt | aye... rather a missed opportunity imho | 11:58 | |
timotimo | usb-3c supposedly can do display-y stuff just fine | 11:59 | |
i wouldn't mind being able to connect everything and their dog with usb-3c in the future | |||
jnthn lols at the result of googling "usb dog" | 12:00 | ||
timotimo | oh, the little humping dog? :D | 12:01 | |
jnthn | yes :) | 12:02 | |
12:05
zakharyas joined
|
|||
FROGGS | *g* | 12:12 | |
12:16
vendethiel joined
|
|||
timotimo | thet weet i sent out about lenovo smartphones with vga ports is seeing some approval from my internet friends on twitter %) | 12:36 | |
13:05
vendethiel joined
13:41
Ven joined
13:51
vendethiel joined
14:27
flaviusb joined
14:49
vendethiel joined
15:29
vendethiel joined
16:39
vendethiel joined
16:42
domidumont joined
17:33
vendethiel joined
18:09
Ven joined,
Hotkeys joined
18:49
vendethiel joined
18:55
FROGGS joined
19:04
zakharyas joined
|
|||
timotimo | so, just debugspam in MVM_malloc gives a surprising amount of allocations of 8 bytes for the fixedsizealloc | 20:03 | |
jnthn | o.O | 20:04 | |
timotimo | that's the result of sizeof(void *) * al->size_classes[bin].num_pages | ||
i'm just logging backtraces for all mallocs smaller than 32bytes | 20:05 | ||
jnthn | Aha | 20:06 | |
timotimo | and line before that is num_pages = 1 | 20:08 | |
so, no surprise there | |||
jnthn | It should only be one per size class though? | ||
timotimo | aye, but i see surprisingly many of those. i don't have a scientific base fo rthat feeling, though | 20:12 | |
the most annoying thing, of course, is that gdb forces me to use a pager for output | 20:21 | ||
i must be able to redirect this to a file for analysis or so | |||
geekosaur | can't you run valgrind/memcheck in a verbose mode? | 20:22 | |
hm, guess that makes it harder to do the "smaller than 32 bytes" part | 20:23 | ||
maybe "script" is your friend | |||
20:24
dalek joined
|
|||
timotimo | i just breakpointed MVM_malloc with gdb | 20:34 | |
a very big amount comes - unsurprisingly - from decoding latin1 strings | 20:48 | ||
deserialize_repr_data for p6opaque often makes extremely small allocs, not quite surprisingly | 20:53 | ||
deserialize_object also does a metric shit-ton of allocations of 24 bytes | 21:00 | ||
jnthn | Which one? | ||
If you have a decent report on where they come from I'd be interested :) | |||
timotimo | i'm hoping gdb is actually outputting this to a file, as i told it to | 21:07 | |
then i'd be able to post-process somehow | |||
the pager is seriously atrocious | 21:10 | ||
AARRRGGGHHH | 21:16 | ||
1) i forgot to "set logging on" | |||
2) i still get the pager's prompts to "press return to continue" | |||
and i have to return through the whole f'ing output | |||
(none of which i get to see) | 21:17 | ||
but at least the pager prompts don't end up in the file (hopefully) | 21:18 | ||
No: GDB doesn't call into external program to display the output, it simply pauses the output every screenfull (and you can make it not pause by set height 0). | |||
<3 | |||
of course it refused to actually write the file | 21:39 | ||
it seems like | |||
21:47
Ven joined
|
|||
timotimo | this time i seem to have made it work | 22:04 | |
t.h8.lv/all_small_mallocs.txt.gz | |||
if you want to have a look | |||
it's only "bt 3", though. dunno if that sometimes causes problems | 22:05 | ||
i have no good idea how to analyze this | 22:09 | ||
i could just sum up 32 - $size or something | |||
1068663 | 22:24 | ||
81672 | 22:25 | ||
that's 1) the sum of 32 - $foo for all size lines | |||
and 2) the number of allocations counted | |||
64M is the amount of maxrss this thing occupies | 22:26 | ||
there's apparently only 1 megabyte of wastage from these mallocs alone | |||
however, there's also 16 bytes for every allocation, i think | |||
m: (1068663 + 81672 * 16) / (64996 * 1024) | 22:28 | ||
camelia | rakudo-moar 86a90b: OUTPUTĀ«WARNINGS for /tmp/yDouXgJByP:ā¤Useless use of "/" in expression "(1068663 + 81672 * 16) / (64996 * 1024)" in sink context (line 1)ā¤Ā» | ||
timotimo | m: say (1068663 + 81672 * 16) / (64996 * 1024) | ||
camelia | rakudo-moar 86a90b: OUTPUTĀ«0.035690523ā¤Ā» | ||
timotimo | 3.5% even when adding the 16 byte big headers that i seem to recall from somewhere | ||
probably extremely sloppily measured, too. | 22:29 | ||
the analysis script is faster than 1 megabyte per second | 22:31 | ||
so that's something | |||
now for a little histogram of all mallocs | 22:35 | ||
hoelzro | sloppy makes for a good start =) | ||
timotimo | 47742 alloc: 24 | 22:36 | |
15229 alloc: 288 | |||
12515 alloc: 48 | |||
10339 alloc: 104 | |||
9334 alloc: 8 | |||
8276 alloc: 16 | |||
8043 alloc: 56 | |||
5977 alloc: 72 | |||
5250 alloc: 32 | |||
3759 alloc: 100 | |||
3674 alloc: 2 | |||
hoelzro | that 47k of 24s - that's the deserialize code, I take it? | ||
timotimo | i think so, yes | 22:37 | |
hoelzro | it would be cool if you could group them by REPR | ||
timotimo | now i'd love to know how much ram in total is nommed by NFAs having the list + the nfa object itself in the serialized blob | ||
hoelzro | is this the kind of thing that integrating valgrind can tell you? | 22:38 | |
timotimo | i don't think so | ||
hoelzro | it would be great if we had this tooling enabled with certain build flags, so we don't have to build it over and over again | ||
timotimo | i can't identify those perfectly | ||
like, these arrays don't say "i belong to an NFA", except that they get deserialized temporally close by a NFA object | 22:39 | ||
hoelzro | ahhh | ||
timotimo | also, this is only malloc, not free. | 22:40 | |
i don't track that at all in my measurements yet | |||
hoelzro | if you had a backtrace of where every malloc was called, could you use that to determine whether it's an NFA array? | ||
timotimo | no | 22:41 | |
the backtrace is currently C-level | |||
hoelzro | ahhhh | ||
I...C what you mean | |||
timotimo | i'm not sure a moarvm-bytecode-level stacktrace would be better, actually | ||
hoelzro | </sunglasses> | 22:42 | |
timotimo | hah | ||
do you want to take this idea and run with it? | |||
is the day just starting on your end of the globe? | |||
hoelzro | my work day is ending =) | 22:43 | |
timotimo | oh | ||
even better! :) | |||
hoelzro | sadly, I have a lot of coursera work to catch up on tonight =/ | ||
timotimo | my sleep-day is coming up | ||
ah, okay | |||
hoelzro | heh, really? I feel like you often go to sleep around the time I do =P | ||
timotimo | sometimes. but not always | ||
hoelzro | timotimo: you wanna push your stuff up to a branch, in case I get bored with coursera? =P | 22:44 | |
timotimo | i don't have "stuff" yet ;) | ||
this last bit was literally | |||
full-speed | |||
hoelzro | I told myself I would work on fixing rakudo-j, or on my RT canary script | ||
timotimo | er | ||
fprintf(stderr, "alloc: %d\n", size); | |||
in src/core/alloc.h | |||
and then 2> all_mallocs_ever.txt and then cat | sort | uniq -c | sort -n | 22:45 | ||
hoelzro | nice | ||
timotimo | the other thing was starting it in gdb, and then: | ||
break MVM_malloc if (size < 32) | |||
commands | |||
print size | |||
bt 3 | |||
c | |||
end | |||
set height 0 | |||
set logging (lots of stuff) | |||
AND GO! | |||
perl6 -ne 'state $foo; state $bar; next unless $_.starts-with("\$"); $foo += $_.split(" ")[2]; $bar++; END { say $foo; say $bar }' all_small_mallocs.txt | 22:46 | ||
that works against the .txt i put up on my web host, see above | |||
hoelzro | ah ha | ||
so how does that gdb bit differ from your fprintf in alloc.h? | |||
oh man, I just thought of a great title for a blog post about this | 22:47 | ||
Alloc in Wonderland | |||
geekosaur | Wanderland... | ||
("not all those who wander are lost --- unless they leak") | 22:48 | ||
hoelzro | hahah | 22:49 | |
timotimo | oh lord %) | 22:52 | |
you got a nice idea for how to go on? | 22:59 | ||
i mean, of course you could use my "nfatostatelist" branch of moarvm and make nqp happy about it? :) | 23:00 | ||
hoelzro | heh | 23:01 | |
I could probably figure it out | |||
timotimo | cool! | ||
hoelzro | we'll see if I get a round tuit tonight | ||
timotimo | the difficult part is when exactly to throw out @!states | ||
and when to restore it | |||
so that it doesn't end up in the serialized blob | |||
hoelzro | ah ha | 23:02 | |
timotimo | you'll definitely be getting conflicts in moarvm, because it adds another op, but those are easy to fix, as most conflicting files are generated from the oplist anyway with tools/generate_ops | ||
hoelzro | mhmm | 23:03 | |
timotimo | there's potentially already a branch in nqp, too, that'd add the op to the compiler and maybe even add it to NFA.nqp | ||
hoelzro | potentially? =S | ||
timotimo | no clue if i found it sufficiently progressed to have pushed it | 23:04 | |
i spent the majority of time on nfatostatelist, then ran against nqp and immediately stopped | |||
i tend to do that kind of crap ;( | |||
hoelzro | if I get around to MVM work tonight, it will more like be your alloc log stuff, since that's easier to figure out =) | ||
timotimo | damn | 23:05 | |
23:06
vendethiel joined
23:16
pyrimidine joined
|
|||
timotimo | well, in any case, do make sure to report :) | 23:20 | |
hoelzro | will do! | 23:32 | |
23:49
vendethiel joined
|