github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
MasterDuke timotimo: what about github.com/MoarVM/MoarVM/commit/4c...7e99e87a13 ? 08:42
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
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
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
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
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
nine The profile writing code already seems to be smart about writing to the file in batches on the fly 11:53
timotimo it's possible that mvmendprofile should clear out some stuff after it's done creating the datastructures 12:37
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
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
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
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?"
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
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
dogbert17 ok, will fix 18:14
Geth_ MoarVM: dogbert17++ created pull request #1269:
Add missing parentheses
18:21
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
:)