samcv | MasterDuke, yeah I thought the same. though i'm not sure where that literal stuff ends up | 01:00 | |
but i'm assuming it's just checking uc and lc versions of the string. which is not that great | |||
any NFA.nqp knowledgeable people here? | 01:01 | ||
MasterDuke | i tried changing the uc and lc in literal to just fc, but that broke a couple tests | 01:19 | |
m: say "A" ~~ /:i a [b] / | 02:52 | ||
camelia | Nil | ||
MasterDuke | ignore that | 02:53 | |
m: say "A" ~~ /:i ab / | 02:54 | ||
camelia | Nil | ||
MasterDuke | when i changed the ignorecase branch in `method literal` in src/QRegex/NFA.nqp to use fc instead of uc and lc, that ^^^ started matching | 02:55 | |
m: say "A" ~~ /:i a | b / | 02:57 | ||
camelia | ļ½¢Aļ½£ | ||
MasterDuke | and that ^^ stopped matching | ||
samcv | which started matching? "A" ~ | 05:48 | |
"A" ~~ /:i ab / # this? | |||
MasterDuke, | |||
[Tux] | This is Rakudo version 2017.02-226-g9d7c0ab8f built on MoarVM version 2017.02-35-gdc40845b | 07:42 | |
csv-ip5xs 2.881 | |||
test 14.114 | |||
test-t 5.407 - 5.512 | |||
csv-parser 13.683 | |||
samcv | [Tux], CSV might be faster now. idk | 08:53 | |
i at least made MVM case insensitive string compare probably fair amount faster | |||
haven,t done any benchmarks but could be very significant | |||
depending on the length of the haystack. it used to lowercase the whole haystack and whole needle then compare the two, now it only foldcases the haystack where it needs to | 08:54 | ||
but it doesn't look like we have a case insensitive index op for nqp | 09:00 | ||
lizmat | hmmm... looks like we lost 10% performance for test-t in the past day ? | 10:14 | |
Geth | rakudo/nom: 27dc7b155b | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp Fix RT #130979 |
10:31 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130979 | ||
Geth | rakudo/nom: 1e246665cd | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp Better fix for RT #130979 Previous fix would just ignore any compile time errors in use arguments. Which could lead to unexpected results in case of a typo on a use statement for a module that *does* exist. Not sure how we can actually pass on the actual compile time error. Also, there appear to be a lot of similar cases in World.nqp that are "unprotected", which may need attention. |
10:54 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130979 | ||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Fix RT #130979' | 11:10 | |
travis-ci.org/rakudo/rakudo/builds/210023624 github.com/rakudo/rakudo/compare/1...dc7b155b9a | |||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130979 | ||
jnthn | lizmat: There's functions to help with that | 11:20 | |
Well, methods probably | |||
handle-begin-time-exceptions | 11:21 | ||
github.com/rakudo/rakudo/blob/nom/....nqp#L3228 | |||
Which spits out decent errors | 11:22 | ||
m: sub foo() { die }; BEGIN foo | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> An exception occurred while evaluating a BEGIN at <tmp>:1 Exception details: Died in sub foo at <tmp> line 1 in code at <tmp> line 1 |
||
samcv | u: { abs($_.uc - $_.lc) > 100 } | 11:29 | |
unicodable6 | samcv, Ā«timed out after 30 secondsĀ» Ā«exit signal = SIGHUP (1)Ā» | ||
samcv | u: { my $a = abs(.chr.uc.ord - .chr.lc.ord); .say if $a > 100 } | 11:36 | |
unicodable6 | AlexDaniel, MasterDuke: Hey folks. What's up with me? | ||
samcv, Oops, something went wrong! | |||
samcv | u: { my $a = abs(.chr.uc.ord - .chr.lc.ord); $a > 100 } | 11:37 | |
unicodable6 | samcv, U+00B5 MICRO SIGN [Ll] (Āµ) | ||
samcv, U+00DF LATIN SMALL LETTER SHARP S [Ll] (Ć) | |||
samcv, 436 characters in total: gist.github.com/27948e188ad478c832...35651d873f | |||
samcv | u: { my $a = .chr.uc.ord - .chr.lc.ord; $a > 0 } | 11:40 | |
unicodable6 | samcv, U+00B5 MICRO SIGN [Ll] (Āµ) | ||
samcv, U+00FF LATIN SMALL LETTER Y WITH DIAERESIS [Ll] (Ćæ) | |||
samcv, 194 characters in total: gist.github.com/392a28711e7f6088ce...e59b3d8bfc | |||
samcv | m: 'Āµ'.uc.ord.say; 'Āµ'.lc.ord.say | ||
camelia | 924 181 |
||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Better fix for RT #130979 | 11:43 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130979 | ||
travis-ci | travis-ci.org/rakudo/rakudo/builds/210026985 github.com/rakudo/rakudo/compare/2...246665cd7e | ||
Geth | roast: a83d973edc | (Elizabeth Mattijsen)++ | 2 files Fudge tests broken with RT #130980 Because github.com/rakudo/rakudo/commit/1754dc5f7e broke them. |
12:14 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130980 | ||
lizmat | jnthn: handle-begin-time-exceptions is given a block, at the moment of RT #130979 there's only an $expr.ast | 12:17 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130979 | ||
jnthn | lizmat: Yes, the block to pass to it is self.compile_time_evaluate($/,$expr.ast) | 12:18 | |
I think if you just wrap that in curlies and pass it to handle-being-time-exceptions it should work out | |||
lizmat | ah, ok | ||
gist.github.com/lizmat/71581ee220d...bb016a4967 # jnthn, this way? | 12:41 | ||
jnthn: if so, that just reverts to the previous (silently) ignoring the error case :-( | 12:42 | ||
afk& | 12:49 | ||
jnthn | Huh, wonder what's catching it... | 13:08 | |
IOninja | c: HEAD for ^100_000 { $ = 'ļ¬' ~~ m:i/st/ }; say now - INIT now | 13:37 | |
committable6 | IOninja, Ā¦HEAD(1e24666): Ā«2.5304067Ā» | ||
IOninja | c: 2017.02 for ^100_000 { $ = 'ļ¬' ~~ m:i/st/ }; say now - INIT now | ||
committable6 | IOninja, Ā¦2017.02: Ā«1.8736184Ā» | ||
IOninja | m: say 2.53/1.87 | ||
camelia | 1.352941 | ||
IOninja | samcv: seems it got slower, not faster? Could this be the 10% slowdown we're seeing in test-t bench? | 13:38 | |
samcv | IOninja, are we sure it's caused by that though? hm | ||
could try running test-t before that commit with current rakudo otherwise | 13:39 | ||
IOninja | 'abcdefghigklm' ~~ m:i/HIG/ is 4% faster | ||
samcv | yeah it should be faster. especially the longer the haystack | ||
IOninja | samcv: no idea what it's caused by. Just guessing here | 13:40 | |
samcv | i bet if you put a page of text it'd be like 25% at least faster | ||
needs less memory churn too i think | |||
IOninja | Just got `for ^100_000 { $ = 'abcdefghigklm' x 1000 ~~ m:i/HIG/ }; say now - INIT now` to segfault in #zofbot once. But can't repro.. | 13:42 | |
'abcdefghigklm' x 100 ~~ m:i/HIG/ is now 61% faster | 13:43 | ||
samcv++ | |||
samcv | nice :) | ||
moritz | samcv++ | 13:45 | |
samcv | it can be even faster if i get some indexci op to go along with eqatic | 13:46 | |
not sure 100% how it works at that low level though. | |||
MasterDuke | benchable6: 2017.02,HEAD for ^100_000 { $ = 'ļ¬' ~~ m:i/st/ } | 13:57 | |
benchable6 | MasterDuke, starting to benchmark the 2 given commits | ||
MasterDuke, benchmarked the given commits, now zooming in on performance differences | 13:58 | ||
MasterDuke, gist.github.com/db9711a7dc2980c612...6453ad7ff8 | |||
samcv | benchable6: 2017.02,HEAD for ^100_000 { $ = 'ļ¬' ~~ m:i/st/ } | 14:07 | |
MasterDuke, how many runs does it do, does it do any rounding? | 14:08 | ||
oh i think it's AlexDaniels bot nvm | |||
MasterDukeMobile | It does five runs and then takes the min | 14:28 | |
timotimo | so ... that got slower? :\ | 15:08 | |
only for short strings, then? | |||
jnthn notes that this was primarily a correctness patch :) | 15:11 | ||
Being fast but wrong is less useful ;) | |||
IOninja | Yeah :) | ||
It's a helluva faster for large input | |||
timotimo | hah :) | ||
that's nice | 15:12 | ||
jnthn | bbl & | 15:15 | |
Geth | rakudo/nom: 28a48ea593 | (Samantha McVey)++ | CONTRIBUTING.md Add git commit style guide to CONTRIBUTING.md |
15:33 | |
samcv | IOninja, the case insensitive regex is what you're talking about? | 15:34 | |
IOninja | yes | 16:00 | |
naxieAlDle | hmm | 16:08 | |
bench: 2017.02,HEAD for ^100_000 { $ = 'ļ¬' ~~ m:i/st/ }; say now - INIT now | |||
ahā¦ | |||
IOninja | bot's ded | ||
naxieAlDle | bench: 2017.02,HEAD for ^100_000 { $ = 'ļ¬' ~~ m:i/st/ }; say now - INIT now | 16:09 | |
benchable6 | naxieAlDle, starting to benchmark the 2 given commits | ||
naxieAlDle | let's see if it works | ||
benchable6 | naxieAlDle, benchmarked the given commits, now zooming in on performance differences | ||
naxieAlDle | ah, it was already triedā¦ should've backlogged a lil bit more | ||
benchable6 | naxieAlDle, gist.github.com/8b95a45f7697669881...f030f05145 | 16:11 | |
naxieAlDle | that's better :) | 16:12 | |
I wonder if it can actually find it | 16:13 | ||
bench: 61a65ce,26e6993 for ^100_000 { $ = 'ļ¬' ~~ m:i/st/ }; say now - INIT now | |||
benchable6 | naxieAlDle, starting to benchmark the 2 given commits | ||
naxieAlDle, benchmarked the given commits, now zooming in on performance differences | |||
naxieAlDle, Ā¦61a65ce: Ā«2.0492Ā» Ā¦26e6993: Ā«2.7941Ā» | |||
naxieAlDle | ah!! It already did!! | 16:14 | |
benchable6++ | |||
MasterDuke: why didn't it work the first time? | |||
MasterDuke | not sure. maybe the server was overloaded when running it the first time and the timings were off | 16:18 | |
naxieAlDle | I don't think the cpu load has ever been >10% | 16:23 | |
MasterDuke | huggable: shrug | 16:25 | |
huggable | MasterDuke, nothing found | ||
naxieAlDle | m: say ā\c[SHRUG]ā | ||
camelia | š¤· | ||
[Tux] | Updating submodules .................................... FAIL | 17:08 | |
git error: fatal: destination path '/pro/3gl/CPAN/rakudobrew/moar-blead-nom/nqp/MoarVM/3rdparty/libtommath' already exists and is not an empty directory. | |||
fatal: clone of 'git://github.com/MoarVM/libtommath' into submodule path '/pro/3gl/CPAN/rakudobrew/moar-blead-nom/nqp/MoarVM/3rdparty/libtommath' failed | |||
Failed to clone '3rdparty/libtommath'. Retry scheduled | |||
fatal: destination path '/pro/3gl/CPAN/rakudobrew/moar-blead-nom/nqp/MoarVM/3rdparty/libtommath' already exists and is not an empty directory. | |||
fatal: clone of 'git://github.com/MoarVM/libtommath' into submodule path '/pro/3gl/CPAN/rakudobrew/moar-blead-nom/nqp/MoarVM/3rdparty/libtommath' failed | |||
Failed to clone '3rdparty/libtommath' a second time, aborting | |||
IOninja | [Tux]: rm -fr nqp/MoarVM/3rdparty/libtommath | 17:09 | |
MasterDuke | gotta rm 3rdparty/libtommath | ||
[Tux] | that's what I just did, but it is new | ||
lizmat | [Tux]: what worked for me was to nuke the nqp dir | 17:11 | |
Geth | rakudo/nom: d444f655fd | (Elizabeth Mattijsen)++ | 3 files Prevent unneccesary creation if iterator objects Check whether we can return a Rakudo::Iterator.Empty in the "new" method, rather than in the !SET-SELF method where the iterator object is already created. |
17:13 | |
lizmat | *of | ||
grr | |||
[Tux] | This is Rakudo version 2017.02-233-g28a48ea59 built on MoarVM version 2017.02-39-gd7caeba3 | 17:23 | |
csv-ip5xs 2.867 | |||
test 12.352 | |||
test-t 5.036 - 5.039 | |||
csv-parser 12.905 | |||
Geth | roast: f16293c444 | (Daniel Green)++ | S02-types/int-uint.t Whitespace fix only |
22:05 | |
MasterDuke | is this test correct? github.com/perl6/roast/blob/master....t#L45-L47 | 22:06 | |
m: my int $a = 2**63; say $a | 22:08 | ||
camelia | -9223372036854775808 | ||
MasterDuke | m: my int $a = 2**64; say $a | ||
camelia | Cannot unbox 65 bit wide bigint into native integer in block <unit> at <tmp> line 1 |
||
MasterDuke | m: my int $a = 2**63-1; say $a | ||
camelia | 9223372036854775807 | ||
MasterDuke | m: my int $a = 2**63+1; say $a | ||
camelia | -9223372036854775807 | ||
MasterDuke | we allow you to assign values that are a little bit more than the max the type can hold, but not one that are a lot more | 22:09 | |
s/one/values/ | 22:10 |