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
|