github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:42 evalable6 left, notable6 left, tellable6 left, bisectable6 left, unicodable6 left, nativecallable6 left, bloatable6 left, squashable6 left, committable6 left, shareable6 left, releasable6 left, greppable6 left, statisfiable6 left, sourceable6 left, benchable6 left, coverable6 left, quotable6 left, linkable6 left, reportable6 left, evalable6 joined, nativecallable6 joined, committable6 joined, releasable6 joined, reportable6 joined 00:43 unicodable6 joined, tellable6 joined, statisfiable6 joined, quotable6 joined, squashable6 joined 00:44 bisectable6 joined, bloatable6 joined, linkable6 joined, shareable6 joined, greppable6 joined 00:45 coverable6 joined, notable6 joined, benchable6 joined, sourceable6 joined 02:15 AlexDani` left 02:16 AlexDani` joined 03:18 colomon left 03:19 colomon_ joined 03:23 colomon_ left 03:31 MasterDuke left 03:37 colomon_ joined 04:37 Kaiepi left 04:47 Kaiepi joined 06:44 MasterDuke joined 08:12 shareable6 left, notable6 left, evalable6 left, releasable6 left, nativecallable6 left, benchable6 left, tellable6 left, statisfiable6 left, greppable6 left, bisectable6 left, unicodable6 left, quotable6 left, committable6 left, reportable6 left, squashable6 left, linkable6 left, sourceable6 left, bloatable6 left, coverable6 left 08:13 releasable6 joined, bisectable6 joined, nativecallable6 joined, notable6 joined, unicodable6 joined, statisfiable6 joined, linkable6 joined 08:14 coverable6 joined, quotable6 joined, sourceable6 joined, tellable6 joined, benchable6 joined, evalable6 joined, squashable6 joined 08:15 shareable6 joined, bloatable6 joined, greppable6 joined, reportable6 joined, committable6 joined
MasterDuke timotimo: what about github.com/MoarVM/MoarVM/commit/4c...7e99e87a13 ? 08:42
09:15 sena_kun joined 10:13 Kaiepi left 10:14 Kaiepi joined
timotimo that doesn't allocate an object, so the profiler wouldn't notice anything 10:26
MasterDuke is there an easy way to have a spectest profile every test it runs? 10:37
10:39 Altai-man_ joined 10:41 sena_kun left
MasterDuke i'm currently up to 29 ops added and i think there are still more needed. i'd like a way to stresstest profiling (and hopefully get a before/after of allocations) without having to craft some sort of test case 10:42
10:44 Kaiepi left, Kaiepi joined
nine If I start profiling real world applications regularily I may want to upgrade my computer after all. A Ryzen 7 1800X with 32 GiB RAM just doesn't cut it anymore 11:11
MasterDuke heh, i considered upgrading to 64gb instead of just 32gb, mostly because of profiling 11:18
but prices were still a little high, so i'll just get another 32gb later
11:22 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined
nine Of course I could also just have a look at what the profiler does with that much memory 11:29
One thing I've already noticed: the program is writing profiler output to profile.sql but MVM_profile_instrumented_mark_data is still busy. Shouldn't we turn off profiling when the profile is complete? 11:30
MasterDuke but then how do you profile the profiler? or profile profiling the profiler? it's profilers all the way down... 11:36
11:45 Kaiepi left
nine How would it use the additional data anyway? mvmendprofile returns the profiler data. Nothing collected afterwards will make it into the dump 11:46
Oh, MVM_profile_instrumented_mark_data may not be as much about collecting as about GC marking the profiler's own data 11:48
MasterDuke yeah, i was just joking, seems like an optimization opportunity 11:49
11:51 Kaiepi joined
nine The profile writing code already seems to be smart about writing to the file in batches on the fly 11:53
11:53 Kaiepi left 11:54 Kaiepi joined 11:59 Kaiepi left 12:00 Kaiepi joined 12:27 Kaeipi joined, Kaiepi left
timotimo it's possible that mvmendprofile should clear out some stuff after it's done creating the datastructures 12:37
12:40 sena_kun joined 12:41 Altai-man_ left
nine I'd guess that what's taking forever in my case is simply a plain normal GC run. With 40 gigs of memory used, presumably by a huge amount of small objects, all of which made it into gen2, that's bound to take forever 12:41
I think both, the memory usage and the GC time would be fixed by writing data to disk during the runtime of the program, e.g. as part of GC runs 12:42
timotimo the profiler already sets the allocate-in-gen2 flag when it creates all the datastructures, since they are going to be many times the size of the nursery in total and no GC runs would find any garbage during that time 12:44
you can see what happens if you don't mark anything (or perhaps null out references) when profiling isn't active
12:55 ChanServ left 13:03 ChanServ joined, tepper.freenode.net sets mode: +o ChanServ 13:07 Kaeipi left 13:08 ChanServ left 13:10 ChanServ joined, tepper.freenode.net sets mode: +o ChanServ 13:11 Kaiepi joined 13:14 Kaiepi left, Kaiepi joined 13:38 Kaiepi left 13:44 Kaiepi joined 14:06 Kaeipi joined 14:07 Kaiepi left
dogbert17 nine: have you looked at the Ryzen 3900x ? 14:14
nine dogbert17: certainly :) 14:20
dogbert17 It could be a drop in replacement 14:22
nine Well I figure when I upgrade, I'll take the opportunity to get a new mother board as well. I've got a GA-AX370-Gaming 5 and it's....got issues 14:24
Sometimes the computer just won't turn on when I press the button and instead turns off even more completely. Only way to revive it then is to cut it off power completely, remove the BIOS battery and wait for a couple of minutes 14:25
dogbert17 Oops, that doesn't sound very encouraging 14:26
nine Of course then I need to set date and time again and load my BIOS settings. And I've got to load them twice because it just won't boot with overclocked memory for the first time after adjusting the setting (but every time afterwards)
dogbert17 That sucks :( What kind of motherboard are you looking at, X570? 14:29
dogbert17 is still using a ASUS RoG Strix B350 Gaming but has swapped the CPU for a 3700X some months ago inspired by MasterDuke 14:32
MasterDuke is still very happy with his 3700X 14:34
dogbert17 MasterDuke: it must have been a massive upgrade compared to what you had before
MasterDuke definitely. twice the cores, and each core is almost twice as fast 14:37
14:39 Altai-man_ joined 14:42 sena_kun left
nine dogbert17: haven't done much research yet. Also I wonder if I should just wait for the next generation. Zen3 shouldn't be far off now 14:46
dogbert17 nine: I've heard September or thereabouts 14:52
MasterDuke i just heard the same thing 14:56
dogbert17 .seen samcv 15:15
tellable6 dogbert17, I saw samcv 2020-04-01T18:51:35Z in #raku: <samcv> vrurg, well. that is out of scope. we can't control what anybody else does with the data
dogbert17 this snippet of code from src/strings/unicode_db.c looks a bit strange or am I missing something here: 15:18
75055 if (block) {
75056 return block ? Block_enums[num+1] : Block_enums[0];
75057 }
MasterDuke timotimo: the sp_(add|sub|etc)_I ops should all be added also? 15:43
heh, it might be easier to just assume that anything that returns a str or obj should be included and blacklist the few ops that shouldn't 15:45
15:51 patrickb joined
nine The other troublesome part of the profiler is that even sqlite3 runs out of memory trying to import the dump :/ 16:33
What happened to "48 GB of RAM ought to be enough for anybody?"
16:40 sena_kun joined 16:41 Altai-man_ left
nine I guess sqlite can be helped greatly by limiting the number of data sets per insert statement. We already batch writes to the file handle. May as well do one statement per batch 16:46
The INSERT INTO calls line is ~370 MB in this profile. That's....a bit much to digest in one piece I guess :) 16:58
There's another one with 450 megs
17:14 zakharyas joined
dogbert17 doesn't this line look a bit suspicious: github.com/MoarVM/MoarVM/blob/mast...eops.c#L63 17:37
I mean == has higher precedence than & 17:38
nine dogbert17: indeed! 17:50
dogbert17 nine: I guess I could PR it but I'm unable to test the change I'm afraid 17:55
nine dogbert17: looks like a clear enough case so 2 pairs of eyes should be enough, even without testing 18:00
Also we have Appveyor
18:09 AlexDaniel left
dogbert17 ok, will fix 18:14
Geth_ MoarVM: dogbert17++ created pull request #1269:
Add missing parentheses
18:21
18:39 Altai-man_ joined 18:42 sena_kun left
MasterDuke hm. what happened to the cancelnotify op? 18:43
[Coke] ?? 18:59
Geth_ MoarVM: 6975a6595b | (Jan-Olof Hendig)++ | src/io/fileops.c
Add missing parentheses

The original test used a boolean result in a bitwise operation which is clearly incorrect.
19:03
MoarVM: 32dfe7507d | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/io/fileops.c
Merge pull request #1269 from dogbert17/fix-incorrect-test

Add missing parentheses
samcv hey dogbert17 19:56
i'd have to take a look at it, but is there some reason you suspect it is wrong, or just curious. 19:57
I totally agree it looks weird. But I'm guessing it's some space saving measure... 20:02
dogbert17 samcv: I'm not saying it's wrong I was reacting to the weird part _) 20:04
:)
20:10 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 20:34 AlexDaniel left 20:40 sena_kun joined 20:41 Altai-man_ left 21:10 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 21:18 Kaeipi left 21:19 Kaeipi joined 21:22 AlexDaniel left 21:24 AlexDaniel joined 21:28 AlexDaniel left 21:40 AlexDaniel joined, AlexDaniel left, AlexDaniel joined 21:43 zakharyas left 22:39 Altai-man_ joined 22:42 sena_kun left 22:48 patrickb left