Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-03-05

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:05 naxieAlDle joined #perl6-dev
00:34 llfourn joined #perl6-dev
01:39 Ven joined #perl6-dev
01:54 Geth ¦ rakudo: AlexDaniel++ created pull request #1032: Add ≤ ≥ ≠ unicode ops
01:54 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1032
01:54 Geth ¦ roast/≤≥≠: 91a781f207 | (Aleks-Daniel Jakimenko-Aleksejev)++ | S03-operators/misc.t
01:54 Geth ¦ roast/≤≥≠: Tests for ≤ ≥ ≠ unicode ops
01:54 Geth ¦ roast/≤≥≠: review: https://github.com/perl6/roast/commit/91a781f207
01:55 Geth ¦ roast: AlexDaniel++ created pull request #249: Tests for ≤ ≥ ≠ unicode ops
01:55 Geth ¦ roast: review: https://github.com/perl6/roast/pull/249
01:56 naxieAlDle IOninja: hm, Geth reports the name inconsistently ↑
02:13 user__ joined #perl6-dev
02:16 Ven joined #perl6-dev
02:31 Ven joined #perl6-dev
02:49 ilbot3 joined #perl6-dev
02:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
03:04 ZzZombo joined #perl6-dev
03:04 Guest93070 joined #perl6-dev
03:25 ZzZombo_ joined #perl6-dev
03:25 ZzZombo_ joined #perl6-dev
06:18 geekosaur joined #perl6-dev
06:20 geekosaur joined #perl6-dev
06:22 geekosaur joined #perl6-dev
06:33 llfourn joined #perl6-dev
06:45 * TimToady back home in his own bed
06:48 TimToady unfortunately, furnace broke while we were away
06:48 TimToady fortunately, we live in California :)
06:57 ZzZombo joined #perl6-dev
06:57 ZzZombo joined #perl6-dev
07:28 ZzZombo joined #perl6-dev
07:28 ZzZombo joined #perl6-dev
08:19 dalek joined #perl6-dev
08:20 synopsebot6 joined #perl6-dev
08:28 synopsebot6 joined #perl6-dev
09:21 naxieAlD` joined #perl6-dev
09:22 RabidGravy joined #perl6-dev
09:42 unicodable6 joined #perl6-dev
09:42 bisectable6 joined #perl6-dev
09:42 benchable6 joined #perl6-dev
09:42 evalable6 joined #perl6-dev
09:42 committable6 joined #perl6-dev
09:42 statisfiable6 joined #perl6-dev
09:44 FROGGS joined #perl6-dev
09:46 lizmat Files=1178, Tests=55979, 196 wallclock secs (11.70 usr  4.65 sys + 1169.29 cusr 111.25 csys = 1296.89 CPU)
09:48 dct joined #perl6-dev
09:50 [Tux] This is Rakudo version 2017.02-167-ge114d5204 built on MoarVM version 2017.02-20-g773711e1
09:50 [Tux] csv-ip5xs        2.875
09:50 [Tux] test            12.538
09:50 [Tux] test-t           4.995 - 5.154
09:50 [Tux] csv-parser      13.214
09:51 gk_1wm_su joined #perl6-dev
10:12 Ven joined #perl6-dev
10:52 ZzZombo_ joined #perl6-dev
10:52 ZzZombo_ joined #perl6-dev
11:15 Ven joined #perl6-dev
12:09 llfourn joined #perl6-dev
12:53 SourceBaby joined #perl6-dev
12:53 Undercover joined #perl6-dev
13:14 ZzZombo_ joined #perl6-dev
13:40 Ven joined #perl6-dev
13:46 MasterDuke IOninja: did you ever submit a PR for https://rt.perl.org/Ticket/Display.html?id=72820 ?
13:47 MasterDuke http://irclog.perlgeek.de/perl6/2016-07-06#i_12795893 suggests you did
13:47 IOninja Nope. The change interfered with interpolation of &foo(whatever) in strings
13:50 MasterDuke ok, mind if i mention so in the ticket (and link to here in the log)?
13:50 Geth ¦ rakudo/nom: d04c47fd63 | (Elizabeth Mattijsen)++ | src/core/metaops.pm
13:50 Geth ¦ rakudo/nom: Make triangle reduce right op with 2+ params 1.5x as fast
13:50 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d04c47fd63
13:51 MasterDuke so someone reading the ticket and log doesn't think it's already been fixed
13:52 lizmat m: sub infix:<f>(\a,\b,\c) is assoc<right> { a~b~c }; say [\f] ^5
13:52 camelia rakudo-moar e114d5: OUTPUT: «(4 234 01234)␤»
13:52 ZofBot_ joined #perl6-dev
13:52 lizmat ZofBot: hi
13:52 lizmat ZofBot_: hi
13:52 IOninja ?
13:52 lizmat there seem to be 2 ?
13:52 IOninja oh
13:53 ZofBot joined #perl6-dev
14:06 Ven joined #perl6-dev
14:22 MasterDuke m: my $a = class { has $.b }; say $a.new(b => 1).perl;
14:22 camelia rakudo-moar d04c47: OUTPUT: «<anon|65402160>.new(b => 1)␤»
14:24 MasterDuke would `class { has $.a }.new(a => 1)` be a better output in that ^^^ case?
14:24 MasterDuke * s/a/b/g
14:24 moritz better, yes
14:25 moritz but certainly not perfect, because it might reference outer lexical symbols
14:25 MasterDuke well, that's true for any .perl, right?
14:25 moritz m: my $x = do { class A { has $.x }; class :: is B { has $.y }.new(x => 1, y => 2) }; say $x.perl
14:25 camelia rakudo-moar d04c47: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤'<anon|49526768>' cannot inherit from 'B' because it is unknown.␤at <tmp>:1␤»
14:26 moritz m: my $x = do { class A { has $.x }; class :: is A { has $.y }.new(x => 1, y => 2) }; say $x.perl
14:26 camelia rakudo-moar d04c47: OUTPUT: «<anon|69579408>.new(y => 2, x => 1)␤»
14:26 MasterDuke m: my $a = class A { has $.b }; say $a.new(b => 1).perl;
14:26 camelia rakudo-moar d04c47: OUTPUT: «A.new(b => 1)␤»
14:26 MasterDuke i was just comparing it to ^^^
14:26 moritz yes
14:26 moritz and you're right, .perl typically reference a symbol which must be in scope to work
14:27 MasterDuke and fyi, i'm asking for https://rt.perl.org/Ticket/Display.html?id=77026
14:28 nine Given module A which requires module B. Should after "require A;" B be available through indirect lookup?
14:28 IOninja m: my $x = class {}; my @a = $x, $x; @a.perl.say
14:28 camelia rakudo-moar d04c47: OUTPUT: «[<anon|50504976>, <anon|50504976>]␤»
14:28 IOninja MasterDuke: ^ in your version, those two will be different classes too
14:31 MasterDuke ah. could do something like `class <anon|50504976> { has $.a }.new(a => 1)`?
14:31 IOninja Don't really know how you're going to retrieve the guts either.
14:32 IOninja If you're just sticking public attributes into a `class {}`, it's really just as useless as <anon|432423432> thing we currently have
14:32 MasterDuke can always reject the ticket
14:41 MasterDuke anybody have an idea for what a better .perl would look like? fwiw, i'll at least link to this discussion in the ticket
14:46 llfourn joined #perl6-dev
15:17 naxieAlDle joined #perl6-dev
15:22 Geth ¦ rakudo/nom: 9cec31afee | (Elizabeth Mattijsen)++ | src/core/metaops.pm
15:22 Geth ¦ rakudo/nom: Make reduce chain op about 5% faster
15:22 Geth ¦ rakudo/nom:
15:22 Geth ¦ rakudo/nom: Typical use case: 'say "numericall sorted" if [<] @a'
15:22 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9cec31afee
15:45 IOninja nqp::chars got some sort of magic for strings fewer than 15 chars?
15:49 lizmat IOninja: not that I know, but that's generally out of my view :-)
16:03 timotimo that sounds unlikely. what symptoms are you experiencing?
16:04 IOninja Got a 60% perf improvement by avoiding using nqp::chars, but it kicks in only for strings with 15+ chars. I'm thinking maybe those strings can fit into a CPU register and that's why?
16:05 IOninja I tested with using 'a' as the char FWIW
16:05 timotimo how do you create the longer strings?
16:05 IOninja oh.... 'a' x 15
16:05 timotimo haha
16:06 IOninja :)
16:06 IOninja How to make it use proper string instead of the rope stuff?
16:06 timotimo you can use nqp::indexingoptimized to create a proper string from a rope
16:06 timotimo (be sure to use the return value)
16:06 timotimo m: "a" x 1000000000
16:06 camelia rakudo-moar 9cec31: OUTPUT: «WARNINGS for <tmp>:␤Useless use of "x" in expression "\"a\" x 1000000000" in sink context (line 1)␤»
16:06 timotimo m: use nqp; nqp::indexingoptimized("a" x 1000000000)
16:06 camelia rakudo-moar 9cec31: OUTPUT: «MoarVM panic: Memory allocation failed; could not allocate 4000000000 bytes␤»
16:07 IOninja m: use nqp; say nqp::indexingoptimized("a" x 10)
16:07 camelia rakudo-moar 9cec31: OUTPUT: «aaaaaaaaaa␤»
16:07 IOninja m: use nqp; my @s = 'a' x 10; @s .= map: {nqp::indexingoptimized($_)}; say @s
16:07 camelia rakudo-moar 9cec31: OUTPUT: «[aaaaaaaaaa]␤»
16:08 IOninja same thing
16:08 timotimo what do you mean?
16:09 IOninja I got a smaller boost: 50% instead of 65% now, but it's still kicks in only for strings 15+ chars
16:09 IOninja ZOFVM: Files=1227, Tests=132953, 122 wallclock secs (21.86 usr  3.24 sys + 2412.20 cusr 247.86 csys = 2685.16 CPU)
16:09 timotimo interesting
16:10 timotimo but "a cpu register" isn't going to have much to do with it
16:10 IOninja hm
16:10 timotimo cache lines, however. there's something that could help you
16:10 timotimo but L1 cache ought to be big enough for 15+ chars? maybe?
16:13 Geth ¦ rakudo/nom: 22f43d20ef | (Zoffix Znet)++ | src/core/Str.pm
16:13 Geth ¦ rakudo/nom: Make Str.Bool 30%–65% faster for strings 15+ chars long
16:13 Geth ¦ rakudo/nom:
16:13 Geth ¦ rakudo/nom: Boost sunk results by ~65% and unsunk results by ~30%
16:13 Geth ¦ rakudo/nom: Improvement is 5-10 percentage points smaller for strings with flattened
16:13 Geth ¦ rakudo/nom: ropes (as opposed to one roped char).
16:13 Geth ¦ rakudo/nom:
16:13 Geth ¦ rakudo/nom: Makes Tux's bench ~5% faster.
16:13 Geth ¦ rakudo/nom:
16:13 Geth ¦ rakudo/nom: Unsure why no improvement is seen for strings smaller than 15 chars:
16:13 Geth ¦ rakudo/nom: https://irclog.perlgeek.de/perl6-dev/2017-03-05#i_14208922
16:13 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/22f43d20ef
16:15 IOninja This is my benching script FWIW: https://gist.github.com/zoffixznet/1b1d0010dfb8a5da6b36ef03c1357c48
16:15 IOninja and here's the result of the run: https://gist.github.com/zoffixznet/e60c0296cac08a55b9fae1b99ef0ec90
16:16 IOninja Before 15chars results flop around zero, but 15+ steadily in 30-65 percent
16:16 timotimo impressive difference
16:17 timotimo huh
16:17 timotimo how can the difference between 100, 1000, 100000 1000000 and 10000000 be so insignificant?
16:18 timotimo i.e. why does the time hardly increase?
16:18 timotimo also, what happens if you randomize the order of the tests?
16:19 IOninja m: say [<a b c d e f>].shuffle
16:19 camelia rakudo-moar 9cec31: OUTPUT: «No such method 'shuffle' for invocant of type 'Array'␤  in block <unit> at <tmp> line 1␤␤»
16:19 IOninja ...thought we did have it :/
16:19 timotimo nope, it's .pick(*)
16:19 IOninja Thanks.
16:19 timotimo m: .chars.say for '.pick(*)', '.shuffle()'
16:19 camelia rakudo-moar 9cec31: OUTPUT: «8␤10␤»
16:19 timotimo look it's even shorter
16:19 timotimo m: .chars.say for '.pick(*)', '.shuffle'
16:19 camelia rakudo-moar 9cec31: OUTPUT: «8␤8␤»
16:20 timotimo or the same length if you drop the parens
16:22 IOninja rendomization don't do anything: https://gist.github.com/zoffixznet/cb4b6db279adb40de98b555f2ba01617
16:23 timotimo that's fucking weird yo.
16:23 timotimo i'll look at it in more detail with a profiler or something, but for now i've gotta AFK
16:26 llfourn joined #perl6-dev
16:31 Geth ¦ rakudo/nom: bdd472bd8d | (Zoffix Znet)++ | src/core/IO/Spec/Unix.pm
16:31 Geth ¦ rakudo/nom: Remove Perl-5-isms in string comparisons
16:31 Geth ¦ rakudo/nom:
16:31 Geth ¦ rakudo/nom: The Str.Bool is also ~2x faster than doing Str.defined && Str.chars
16:31 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bdd472bd8d
16:32 timotimo maybe that code was from back when "0" would boolify to false
16:34 IOninja Ah, right.
16:34 IOninja That was changed pretty close to Christmas, I recall
16:34 timotimo i think it was changed much earlier than that
16:34 IOninja Hm
16:35 IOninja Well, I was already around when it changed :)
16:35 IOninja c: all say "0".Bool
16:35 committable6 IOninja, https://gist.github.com/36dee8c548522b02751ec03643c5f7c1
16:35 timotimo um
16:35 timotimo wordpress are you okay
16:35 IOninja 2015.04
16:35 timotimo it's doing a roulette right now
16:36 timotimo RIP my ram
16:37 timotimo i wanted to type "string bool" into the search field
16:37 timotimo and it started putting four different values into the search field over and over and over and over and over
16:37 timotimo also, it became slower the more often it did that
16:38 timotimo "putting in" as in "replaced the content with"
16:38 timotimo and it also updated the URL to go along with the search term
16:38 timotimo but what the flying fuck was that all about
16:38 timotimo how did it end up in an infinite loop like that?
16:39 IOninja You owe a dollar into the swear jar.
16:42 timotimo ho-hum.
16:46 Geth ¦ rakudo/lexical_require: 175151e0a8 | (Stefan Seifert)++ | src/Perl6/Actions.nqp
16:46 Geth ¦ rakudo/lexical_require: Create lexical stub package for nested required module.
16:46 Geth ¦ rakudo/lexical_require:
16:46 Geth ¦ rakudo/lexical_require: require Foo::Bar; will now create a lexically scoped package "Foo" containing
16:46 Geth ¦ rakudo/lexical_require: the nested stub package "Bar" to be replaced by the loaded module's package
16:46 Geth ¦ rakudo/lexical_require: at runtime.
16:46 Geth ¦ rakudo/lexical_require: With this, "require Foo::Bar; Foo::Bar::baz();" works again.
16:46 Geth ¦ rakudo/lexical_require: review: https://github.com/rakudo/rakudo/commit/175151e0a8
17:27 llfourn joined #perl6-dev
17:56 MasterDuke IOninja: do you see numbers with unicode chars in the strings?
17:58 MasterDuke timotimo: 15 is just one off of 16. are small strings stored differently? inlined directly into a data structure?
18:05 Geth ¦ roast/≤≥≠: ce5e3baab5 | (Aleks-Daniel Jakimenko-Aleksejev)++ | S03-operators/misc.t
18:05 Geth ¦ roast/≤≥≠: Tests for ≤ ≥ ≠ unicode ops
18:05 Geth ¦ roast/≤≥≠: review: https://github.com/perl6/roast/commit/ce5e3baab5
18:08 Geth ¦ roast/≤≥≠: 2b19c48da3 | (Aleks-Daniel Jakimenko-Aleksejev)++ | S03-operators/misc.t
18:08 Geth ¦ roast/≤≥≠: Tests for ≤ ≥ ≠ unicode ops
18:08 Geth ¦ roast/≤≥≠: review: https://github.com/perl6/roast/commit/2b19c48da3
18:18 timotimo no, we don't have that kind of optimization yet
18:19 timotimo i wanted to build something like that for something in the past. it didn't work out well yet, but i forgot which datastructure it was for
18:21 MasterDuke thought i remembered you working on something, wasn't sure exactly what for or if it was merged
18:21 MasterDuke IOninja: * different numbers
18:22 lizmat hmmm... looks like IO::Socket::INET.get could use a lot of love
18:23 lizmat feels to me the first 3 lines should only be done once for each socket, instead of for every get
18:25 IOninja m: .bytes.say for 'a', '♥'
18:25 camelia rakudo-moar bdd472: OUTPUT: «No such method 'bytes' for invocant of type 'Str'␤Did you mean '.encode($encoding).bytes'?␤  in block <unit> at <tmp> line 1␤␤»
18:25 IOninja m: .encode./bytes.say for 'a', '♥'
18:25 camelia rakudo-moar bdd472: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Malformed postfix call␤at <tmp>:1␤------> 3.encode.7⏏5/bytes.say for 'a', '♥'␤»
18:25 IOninja m: .encode.bytes.say for 'a', '♥'
18:25 camelia rakudo-moar bdd472: OUTPUT: «1␤3␤»
18:25 IOninja MasterDuke: same numbers with ♥
18:26 llfourn joined #perl6-dev
18:26 IOninja m: .ords.say for 'a', '♥'
18:26 camelia rakudo-moar bdd472: OUTPUT: «(97)␤(9829)␤»
18:27 MasterDuke oh well, would have been interesting if the inflection point had been at less than 15 chars then
18:39 Geth ¦ roast/≤≥≠: b15122f1df | (Aleks-Daniel Jakimenko-Aleksejev)++ | S03-operators/misc.t
18:39 Geth ¦ roast/≤≥≠: Tests for ≤ ≥ ≠ unicode ops
18:39 Geth ¦ roast/≤≥≠: review: https://github.com/perl6/roast/commit/b15122f1df
18:50 Geth ¦ rakudo/nom: d2c5684e50 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
18:50 Geth ¦ rakudo/nom: Add ≤ ≥ ≠ unicode ops
18:50 Geth ¦ rakudo/nom:
18:50 Geth ¦ rakudo/nom: 🙌
18:50 Geth ¦ rakudo/nom:
18:50 Geth ¦ rakudo/nom: Tiny IRC discussion:
18:50 Geth ¦ rakudo/nom: https://irclog.perlgeek.de/perl6/2017-03-01#i_14183585
18:50 Geth ¦ rakudo/nom:
18:50 Geth ¦ rakudo/nom: ⩵ (and especially ⩶) were left out intentionally. For now, let's focus
18:50 Geth ¦ rakudo/nom: on operators that were actually requested many times.
18:51 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d2c5684e50
18:51 Geth ¦ rakudo/nom: 5c68ea6828 | (Zoffix Znet)++ | 2 files
18:51 Geth ¦ rakudo/nom: Merge pull request #1032 from AlexDaniel/≤≥≠
18:51 Geth ¦ rakudo/nom:
18:51 Geth ¦ rakudo/nom: Add ≤ ≥ ≠ unicode ops
18:51 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5c68ea6828
18:51 Geth ¦ roast: c4ff5ce7d4 | (Aleks-Daniel Jakimenko-Aleksejev)++ | S03-operators/misc.t
18:51 Geth ¦ roast: Tests for ≤ ≥ ≠ unicode ops (#249)
18:51 Geth ¦ roast: review: https://github.com/perl6/roast/commit/c4ff5ce7d4
18:58 nine lizmat: I concur
18:59 Geth ¦ rakudo/nom: e2c62cfaf4 | (Elizabeth Mattijsen)++ | 10 files
18:59 Geth ¦ rakudo/nom: Change use of nqp::chars as bool to nqp::isne_s
18:59 Geth ¦ rakudo/nom:
18:59 Geth ¦ rakudo/nom: This turned out to be a lot cheaper.
18:59 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e2c62cfaf4
18:59 Geth ¦ rakudo/nom: 4bc826da3d | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm
18:59 Geth ¦ rakudo/nom: Streamline IO::Handle.get
18:59 Geth ¦ rakudo/nom:
18:59 Geth ¦ rakudo/nom: And also fix a few cases where nqp::chars were used as a boolean.
18:59 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4bc826da3d
18:59 * lizmat wonders what this all will bring for test-t
19:07 IOninja hmm
19:07 IOninja m: say 5.780667/5.710333
19:07 camelia rakudo-moar bdd472: OUTPUT: «1.01231697␤»
19:07 lizmat IOninja: is that good or bad ?
19:08 IOninja That's commit right before Str.Bool and second is HEAD.
19:08 lizmat so a small improvement
19:08 IOninja lizmat: when I measured against Str.Bool commit alone, it was 5% improvement. So if we assume there's no noise, the latest commits brought a 4% loss. Lemme build a few prior commits
19:09 IOninja the nqp::isne_s thing seems to be 0%-3% slower than nqp::chars for empty strings tho
19:10 jnthn I'm very confused by all of this, because nqp::chars is O(1)
19:10 lizmat jnthn: but if a str is a rope, it would need to walk the rope, no?
19:10 lizmat whereas nqp::iseq_s would stop immediately on the first different/missing char ?
19:11 jnthn lizmat: No, even if it's a ropey string we calculate the number of chars during the op
19:11 jnthn lizmat: Since it's always almost free anyway
19:11 IOninja jnthn: that's really weird, considering nqp::iseq_s('', $str) stars to be faster than nqp::chars() for 15+_char strings: https://gist.github.com/zoffixznet/e60c0296cac08a55b9fae1b99ef0ec90
19:11 jnthn Like in a concat it's just an addition
19:12 lizmat .oO( only 10 more tests for 56K :-)
19:12 IOninja m: say 2.93532595188/1.80599481741
19:12 camelia rakudo-moar 4bc826: OUTPUT: «1.62532357434␤»
19:12 IOninja That's the diff for timings between 10000000-char string and 0-char string
19:12 jnthn IOninja: What's the test code?
19:13 IOninja jnthn: https://gist.github.com/zoffixznet/1b1d0010dfb8a5da6b36ef03c1357c48
19:14 timotimo oh, wait
19:15 timotimo we do actually store the size of a string in the string's header
19:15 timotimo why didn't i realize that obvious fact
19:15 timotimo we don't have to strlen at all
19:16 IOninja m: say 5.8725/5.7745
19:16 camelia rakudo-moar 4bc826: OUTPUT: «1.016971␤»
19:16 lizmat IOninja: and that is ?
19:16 IOninja that was 5c68ea6828e131e1e2365d3a6d05ca4d2b55d184
19:16 * IOninja builds Str.Bool one now...
19:16 robertle 1
19:16 IOninja The numbers are pretty noisy tho.
19:17 IOninja 5.707, 5.703, 5.888, 5.800  <-- all the same commit
19:17 IOninja lizmat: errr wait
19:18 IOninja lizmat: that's that commit, but it's 1% SLOWER than before the Str.Bool (if we assume no noise issues)
19:18 lizmat ok, I will revert
19:18 IOninja So 5.8725 is the average of 4 runs on 5c68ea6828e1
19:18 IOninja lizmat: no wait
19:18 * lizmat waits
19:18 lizmat :-)
19:23 IOninja m: say 5.934/5.82625
19:23 camelia rakudo-moar 4bc826: OUTPUT: «1.018494␤»
19:23 IOninja So on Str.Bool commit, it now shows I made test.t 1% slower... I want to saw there's just too much variance to get a reliable result, but I don't know if that's just 'cause I want to believe my Str.Bool improvement affected it more than it really did
19:24 IOninja It was a 5% improvement when I ran the benching (3 runs each) before committing :/
19:24 * IOninja builds HEAD again
19:24 IOninja s/saw/say/
19:25 jnthn fwiw, here is the MVM_string_euqal impl: https://github.com/MoarVM/MoarVM/blob/master/src/strings/ops.c#L634
19:25 jnthn You'll line 5
19:25 jnthn *notice
19:25 jnthn Which actually is first checking if the strings have different length
19:25 jnthn Which is the very same thing that nqp::chars calls
19:26 jnthn So I'm very confused about the results :)
19:26 lizmat jnthn, yeah, ok, so reverting  :-)
19:27 llfourn joined #perl6-dev
19:27 jnthn There's lies, darned lies, and benchmarks... :-)
19:27 IOninja :)
19:28 IOninja lizmat: would you revert mine too then? The Str.Bool one
19:28 lizmat IOninja: will do
19:33 * lizmat spectest to be sure she didn't revert too much
19:36 Ven joined #perl6-dev
19:45 Geth ¦ rakudo/nom: f11752cc76 | (Elizabeth Mattijsen)++ | 11 files
19:45 Geth ¦ rakudo/nom: Revert all of the nqp::chars -> nqp::isne_s stuff
19:45 Geth ¦ rakudo/nom:
19:45 Geth ¦ rakudo/nom: There does not appear to be a reason why this would make a positive
19:45 Geth ¦ rakudo/nom: difference.  And there is some evidence it actually caused a negative
19:45 Geth ¦ rakudo/nom: difference.
19:45 Geth ¦ rakudo/nom:
19:45 Geth ¦ rakudo/nom: This reverts: 4bc826da3d8ab3 e2c62cfaf451ef9b 22f43d20ef038ea7a23
19:45 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f11752cc76
20:19 Geth ¦ rakudo/nom: 9019a5b8ba | (Elizabeth Mattijsen)++ | src/core/IO/Handle.pm
20:19 Geth ¦ rakudo/nom: Streamline IO::Handle.get/getc
20:19 Geth ¦ rakudo/nom:
20:19 Geth ¦ rakudo/nom: Making IO::Handle.lines about 10% faster, and IO::Handle.getc
20:19 Geth ¦ rakudo/nom: about 3% faster.
20:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9019a5b8ba
20:28 llfourn joined #perl6-dev
20:30 dct joined #perl6-dev
21:32 llfourn joined #perl6-dev
21:50 lizmat joined #perl6-dev
22:01 dct joined #perl6-dev
22:19 Ven joined #perl6-dev
22:33 geekosaur joined #perl6-dev
22:33 llfourn joined #perl6-dev
22:39 Ven joined #perl6-dev
22:49 ZzZombo joined #perl6-dev
22:51 ZzZombo_ joined #perl6-dev
22:52 llfourn joined #perl6-dev
22:58 ZzZombo_ joined #perl6-dev
23:23 dct joined #perl6-dev

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary