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