00:03 shareable6 joined
Geth MoarVM: 042ee78742 | (Samantha McVey)++ | src/strings/ops.c
Make .lines 2x faster by speeding up MVM_find_cclass for newlines

Remove the call to MVM_unicode_codepoint_has_property_value for grapheme_is_cclass, which isn't needed since there is only one Zl codepoint currently and it was already included in the conditional.
Add a comment as a TODO for later. We may want to have ucd2c.pl add all Zl and Zp codepoints automatically. At the moment there are only two codepoints that exist and it's unlikely more will be added in the future.
MoarVM: ec9deabcb4 | (Samantha McVey)++ | build/setup.pm
Fix MSVC build by making dummy expect macros

Without defining expect_likely, expect_unlikely, expect_condition, the macro will just ommit the condition completely.
tbrowder_ ok, thanks. 01:17
samcv :) 01:26
01:50 Kaiepi left 01:52 Kaiepi joined 01:57 ilbot3 joined
samcv perf is showing that some code is spending half of its time inside MVM_fixed_size_alloc in uv_mutex_lock/uv_mutex_unlock 02:29
02:33 truuce joined 02:49 truuce left
Geth MoarVM: 0d542c4597 | (Samantha McVey)++ | 4 files
Add some MVM_EXPECT's for utf8 decode to expect UTF8 will be valid
05:30 Kaiepi left, Kaiepi joined 07:49 robertle joined 08:12 shareable6 left 08:25 domidumont joined 08:31 domidumont left 08:32 domidumont joined 09:08 shareable6 joined 10:27 shareable6 left 10:41 AlexDaniel joined 12:28 Kaiepi left 12:29 Kaiepi joined 13:43 MasterDuke left 14:44 MasterDuke joined
Geth MoarVM: 817aa96eae | (Samantha McVey)++ | 2 files
Add some branch prediction hints to frame.c for very unlikely cases
MoarVM: 13309f70e8 | (Samantha McVey)++ | 2 files
Make MVM_sc_get_sc_object MVM_STATIC_INLINE

On Text::CSV speed test, perf was showing it was using 5.96% in this function. After making it MVM_STATIC_INLINE that went down to 1.62%
MoarVM: 9508805ffa | (Samantha McVey)++ | src/core/coerce.c
Fix some indenting in MVM_box_str()
MoarVM: 8b2188d6de | (Samantha McVey)++ | 2 files
Make some conditionals more clear in normalize.c

Also add in some branch predictor hints for very common/uncommon cases.
MoarVM: 9d7a70540c | (Samantha McVey)++ | 2 files
Add some branch prediction hints to frame.c and Decoder.c

Expect that we won't have to throw, and expect conditions which happen orders of magnitude more than other conditions as shown in the coverage reporter: moarvm.github.io/coverage/
samcv been a while since i used the coverage reporter. but glad we have it being generated automatically :) 16:56
Geth MoarVM: 3cf9ae3b3e | (Samantha McVey)++ | build/setup.pm
Add !!( ) to branch predictor hints to force 1 or 0 result

This makes it so we can program as usual and no issues result from for example: if (MVM_LIKELY(my_var)) Turns into __builtin_expect(myvar, 1). But in most cases my_var isn't 1 even though it evaluates as true. ... (7 more lines)
17:19 shareable6 joined
samcv just fixed an issue with MVM_LIKELY and MVM_UNLIKELY. glad i caught it. see comment description for full info, but basically often we do if (variable) as shorthand for if (variable != 0) 17:21
but __builtin_expect(variable, 1) is actually expecting variable to be 1 technically, and so i added it so
timotimo good catch
samcv #define MVM_LIKELY(condition) __builtin_expect(!!(condition), 1) now
Geth MoarVM: a8ceea01ce | (Samantha McVey)++ | build/setup.pm
Fix previous commit where two lines were commited incorrectly
17:29 travis-ci joined
travis-ci MoarVM build failed. Samantha McVey 'Add !!( ) to branch predictor hints to force 1 or 0 result 17:29
travis-ci.org/MoarVM/MoarVM/builds/384144793 github.com/MoarVM/MoarVM/compare/9...f9ae3b3e37
17:29 travis-ci left
timotimo huh 17:35
does it accidentally !! values that were supposed to be 0 or any value now?
samcv well it just adds !!( ) to MVM_LIKELY and MVM_UNLIKELY and then expects it will be 0 or 1 17:37
timotimo hm, this isn't supposed to change actual behaviour, right?
samcv no
timotimo because that looks pretty broken in travis
samcv yeah that's why i made a commit after it a8ceea01ce which fixed it
i forgot to commit two lines
timotimo oh 17:38
i didn't see that it was for the previous commit
17:46 shareable6 left 18:01 Kaiepi left, Kaiepi joined 19:11 domidumont left
Geth MoarVM: 6bcd7955d0 | (Samantha McVey)++ | 3 files
Speed up MVM_string_find_cclass and cclass

Speeds up .words in rakudo a fair amount by speeding up WhiteSpace search. Also convert code that checked for multiple General Categories so that it checks for only one.
Add code to ucd2c.pl which allows us to check for WhiteSpace and Zl, Zp codepoints without having to query the Unicode database to improve performance. This creates macros which we can use in conditionals.
21:11 shareable6 joined 21:37 mst left, mst joined, ChanServ sets mode: +o mst