|
00:23
pyrimidine joined
01:03
zakharyas joined
|
|||
| timotimo | you won't believe who wrote this week's weekly! p6weekly.wordpress.com/2017/02/07/...fter-math/ - click here to find out! | 01:55 | |
|
01:58
pyrimidine joined
02:16
ggoebel joined
|
|||
| [Coke] | timotimo++ | 02:21 | |
|
02:26
pyrimidine joined
|
|||
| samcv | timotimo, are we going to start advertising using Taboola? | 02:28 | |
| like sponsored news articles lol | |||
| timotimo | i don't know what that is? | 02:32 | |
|
03:29
pyrimidine joined
04:30
MasterDuke_ joined
|
|||
| samcv | it's sponsored news articles that are clickbaity | 04:36 | |
| it's an advertising platform like google adwords except it's like for sponsored ads | |||
| eurr sponsored news i mean | |||
| JimmyZ | samcv: re github.com/MoarVM/MoarVM/commit/fc...c3a88a392, looks like github.com/MoarVM/MoarVM/blob/b8c5...1532-L1704 also would be a good place to use that. | 05:53 | |
| samcv: which reduces moarvm startup time too. :) | 05:54 | ||
| samcv | JimmyZ, why does putting it in ops make startup time faster? | 06:31 | |
| enlighten me | |||
| why not put everything in ops.c :P | 06:32 | ||
| JimmyZ | samcv: MVM_string_cclass_init can be removed. so faster startup time | 06:50 | |
| samcv | ah | 06:51 | |
| well. it can be removed for just that one class right? | |||
| JimmyZ | samcv: I am not sure ,but looks like static UPV_* are constants | 06:55 | |
| samcv | yep they store property value codes i think | ||
| JimmyZ | yeah | ||
| samcv | i mean i doubt it takes very long at all to call that | ||
| JimmyZ | every moarvm startup time save helps rakudo startup time too, I would say :) | 06:57 | |
| samcv | yeah but like less than a ms lol | ||
| i thought about cutting some of that out, but the gains would be insignificant so put it on the back burner | 06:58 | ||
| not sure about moving the files though | |||
|
07:22
pyrimidi_ joined
|
|||
| samcv | JimmyZ, how can i get mvm to use all my ram on purpose? | 07:24 | |
| i want to test out a script to kill moar if it gobbles up all my ram | 07:25 | ||
| nine | samcv: why don't you just set a ulimit? | 07:56 | |
| JimmyZ | m: sub a() { a() }; a | 07:57 | |
| camelia | rakudo-moar 9f7e61: OUTPUTĀ«MoarVM panic: Memory allocation failed; could not allocate 131072 bytesā¤Ā» | ||
| samcv | good question nine | ||
| how much should i set it for 16GB of ram? | 07:59 | ||
| like 8GB? | |||
| ok i'm setting it to 5GB i guess | 08:01 | ||
| nine | 5 GiB sounds like plenty for MoarVM and any program really | ||
| samcv | JimmyZ, i need something that doesn't kill itself | 08:02 | |
| oh nvm that one does. my ulimit worked :) | 08:04 | ||
| perfect | |||
| now i can not get sad | |||
| nine | samcv: btw. if you've got a typical consumer SSD, it will suck tremendously at write work loads. It will start fast and slow to a crawl very soon and may even be slower than a plain old HDD. | 08:06 | |
| samcv | i have SSD | ||
| nine | We have learned the very hard way that this is the biggest difference between consumer and data center SDDs. | 08:08 | |
| I got myself one of these www.intel.com/content/www/us/en/sol...eries.html because running our work project's test suite which does a lot of setup gave me too much opportunity to do housework. Not even the mouse cursor would move much of the time. | 08:09 | ||
| jnthn | timotimo++ # p6weekly | 10:02 | |
| moarning all o/ | |||
|
10:03
zakharyas joined
|
|||
| nwc10 | Correct! :-) | 10:03 | |
| jnthn: running the spectest with harness6 (in a loop) under valgrind, I can't get it to trigger anything | 10:04 | ||
| (the harness is under valgrind, not the tests that it is running) | |||
| jnthn | Hmmm. | ||
| nwc10 | yes, this is what I think, as doing the same thing with ASAN occasionally fails | ||
| jnthn | As in, it works reliably every time for you, or just doesn't abort/SEGV | ||
| ? | 10:05 | ||
| It's odd indeed. | |||
| nwc10 | the harness runs reliably (er, I think almost always. Maybe I got one of those Perl 6 exceptions at one point) | ||
| as the spectest does a git pull, it can end up with newer spectests than the perl6-m that is running them, so sometimes they can fail | 10:06 | ||
| jnthn | OK | ||
| jnthn wonders if mtrace is on Linux what malloc_history is on OSX... | |||
| nwc10 | I wasn't aware of either. They look similar. The OS X man page suggests that it can give you a backtrace | 10:09 | |
| jnthn | Well, the main interesting thing about malloc_history is that it keeps a full history of every malloc/free/realloc | 10:15 | |
| Then you can query by address | |||
| After the fact | 10:16 | ||
| And since it's a full history, it can help explain things where the point of problem and point of crash are far apart | |||
|
10:16
agentzh joined
|
|||
| nwc10 | this is useful | 10:16 | |
| JimmyZ | m: my \SCALE = 3; my \FANOUT = 2; sub divide-and-conquer($n, $depth) { say "$depth: $n" if 0; $depth <= 0 ?? $n !! [+] await do for ^FANOUT { start { divide-and-conquer($n / FANOUT, $depth - 1) } } }; say divide-and-conquer(1.0, SCALE); | 11:11 | |
| camelia | rakudo-moar 699013: OUTPUTĀ«1ā¤Ā» | ||
|
12:30
zakharyas joined
12:36
lucasb joined
|
|||
| lucasb | A question about style: there's +350 occurrences of the 'for (i = 0; i < foo; i++)' idiom. I once saw a macro that wraps this 'for' idiom and works like this: DO(5, printf("%d", i)). | 12:42 | |
| Do you think this kind of macro clutters the source code? | |||
| here it is: #define DO(n,stm) {int i=0,_n=(n); for(;i<_n;i++){stm}} | 12:43 | ||
| copied from the J source code :) | |||
| grep -r -h -o 'for (i = 0; i < .*; i++)' src | wc -l | |||
|
12:59
ggoebel joined
|
|||
| samcv | lucasb, i think most people know what it means, and it's less mysterious | 13:04 | |
| or more. i'm not sure. in different ways | 13:05 | ||
| if you need to use the value of i, i think it's a downgrade. but if you are using it just to do somethnig X number of times it might be ok-ish | 13:06 | ||
| jnthn | I think anyone whose written much see will pattern-match the typical for (...) idiom pretty quick | 13:07 | |
| s/see/C/ # gah, not enough sleep | 13:08 | ||
| lucasb | i c what u did | ||
| :) | 13:09 | ||
| samcv, jnthn: right, agreed | |||
| jnthn | Macros also obscure things when debugging sometimes | ||
| Happens a bit with MVMROOT now and then | |||
| samcv | i hope they will C it | ||
| too much see! | |||
|
13:54
pyrimidine joined
14:18
agentzh joined
15:18
pyrimidine joined
16:50
agentzh joined
16:55
pyrimidine joined
17:17
geekosaur joined
17:38
TimToady joined
18:04
agentzh joined
18:16
pyrimidine joined
|
|||
| IOninja friendly-reminds about PR github.com/MoarVM/MoarVM/pull/522 :") | 18:43 | ||
| jnthn | Will get to it tomorrow :) | 18:47 | |
| Have Perl 6 tuits all day tomorrow | |||
| IOninja | \o/ | ||
| TimToady yays | 19:03 | ||
| TimToady is still detangling all the incestuous bits of %*LANG... | 19:04 | ||
| IOninja | "I want to find out where UTF-8 encoded command line arguments are getting mangled" anyone know? github.com/perl6/nqp/issues/346#is...-278107030 | 19:11 | |
| jnthn | IOninja: Hmm...looking at that one for a moment between cooking tasks...I'm not quite convinced it's a desirable change. :-( We try to prefix everything that we export MVMFoo (types) or MVM_foo (functions) | 19:12 | |
| IOninja | jnthn: OK, I copied the comment to the PR | 19:13 | |
| I'm not the author, it's just it's the author's first ever contribution to OSS and they weren't sure of the process on Sunday :) | 19:14 | ||
| jnthn | I feel kinda bad because it's his first contrib *and* somebody filed a ticket quite a while ago suggesting it, so it looked like a valid task :S | ||
| IOninja | heh :} Well, rejected PRs are part of the processes. | 19:15 | |
|
19:27
pyrimidine joined
|
|||
| jnthn | About the earlier question: raw command line args are stashed away at github.com/MoarVM/MoarVM/blob/mast...ain.c#L186 which is just the raw bytes; decoding happens on first use, e.g. at github.com/MoarVM/MoarVM/blob/mast...ps.c#L1202 | 19:33 | |
| There's already a different path for Windows | |||
| timotimo | aye, i just posted that to the nqp issue | ||
| jnthn | ah, OK, cool :) | ||
| timotimo | hopefully nanis can figure out how to get this right for us | 19:34 | |
| because i'm stumped :) | |||
|
19:34
pyrimidine joined
|
|||
| timotimo | we can probably actually use wmain rather than main for moarvm when we build on windows | 19:34 | |
| and perhaps sidestep most of that trouble | |||
| jnthn | Probably | 19:35 | |
| Though we'd also have to then decode it as utf-16 I guess :) | 19:36 | ||
| Which is fine | |||
| timotimo | right, ifdefs all the way down | ||
| and using strlenw or something | |||
| jnthn | Also an ifdef on the undecoded clargs I guess to use the wide data type | 19:38 | |
| Then it should all match up | |||
| timotimo | right | 19:39 | |
| i'd suggest i take this task, but i don't have a windows ready to try it out :\ | |||
| i guess i can cross-compile to windows and just run it with wine, hah | |||
| (no.) | 19:43 | ||
| (not going to go through that experience) | |||
| dogbert17 | o/ | 20:15 | |
| 'This file contains 4 heap snapshots. To select one to look' so now what? | |||
| have run a minimal spectest, i.e. approx 30 files and created a heap dump file with 4 snapshots. when the threshold was set to 10 I got 5 snapshots | 20:17 | ||
|
20:36
pyrimidine joined
|
|||
| timotimo | try "help" | 20:37 | |
| it'll tell you how to select a snapshot | |||
| the first thing will be "summary", usually | |||
| how big's the file when you compress it? | 20:38 | ||
| dogbert17 | the one I have now is 230MB uncompressed | 20:45 | |
| compressed it's 22 meg | 20:46 | ||
| the heap sizes displayed if I type 'summary' are a magnitude lower than the RSS displayed by ps at roughly the same time | 20:48 | ||
| s/lower/smaller/ | |||
| timotimo, jnthn: here's a gist: gist.github.com/dogbert17/d6015aa9...631b0bf2bc | 20:58 | ||
| timotimo | dogbert17: that points roughly in the direction that our calculations for size are inaccurate | 21:47 | |
| jnthn | Note that some of that RSS will be for storing the profiles themselves, though | 22:01 | |
| But yeah, I'm reckoning that ain't the whole story | |||
| dogbert17 | jnthn, true (blames beer), I have updated the gist with how it looks without the --profile=heap option | 22:02 | |
| timotimo | oh, yeah, that's a whole lot of extra data | ||
| i wonder if we should employ some kind of compression scheme? | 22:03 | ||
| dogbert17 | yeah, the heap profiler uses a lot of memory, tried it on one of my small scripts and it crashed :( | ||
| jnthn hasn't had trouble with it, but has 16GB of RAM in this box :) | 22:05 | ||
| It's probably be better if it flushed to disk after each snapshot | 22:06 | ||
| dogbert17 | this is too much for my box: 'my $numPrimes = 0; for (2...*) -> $x { if $x.is-prime && ++$numPrimes == 10_001 { say $x; last; }}' | ||
| timotimo | yeah, but we have to run some perl6(actually nqp) code to create the string representation | 22:07 | |
| jnthn | Yeah, that's why it's the way it is at present :) | 22:08 | |
| And we don't want the writing of it to influence things. | |||
| timotimo | we can of course register a callable that we call into when the time comes | 22:09 | |
| jnthn | That's still risk influencing it though | ||
| Heh, that primes one must make quite a bit of garbage | |||
| Oh, I guess for 10,000 primes you've gotta test a lot of values | 22:10 | ||
| But still it's quite a few...guess SEQUENCE may be to thank | |||
| dogbert17 | it was probebly not the best example to use :-) | 22:12 | |
| jnthn | Yeah, just up to 1000 primes it's a 224MB file | ||
| dogbert17 | if you suspect it's a Project Euler problem you'ld be correct :) | ||
| projecteuler.net/problem=7 | 22:15 | ||
| jnthn | :) | 22:17 | |
| Rest time; back tomorrow :) | |||
| dogbert17 | nite | ||
|
23:00
pyrimidine joined
23:15
pyrimidine joined
|
|||