Perl 6 language and compiler development 2.0 | Logs at irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by moderator on 7 May 2018.
01:18 entonian joined 01:23 thundergnat joined
thundergnat FatRat stringification has been a pain point for me. I was messing around with it and wondered if anyone would be interested in a multi that stringifies upt to 200 times faster than the default Rat multi. 01:26
Perhaps Zoffix as part of his Rat improvement grant. 01:27
Anyway, for anyone interested, I have a gist with the multi and several comparison tests. gist.github.com/thundergnat/075e98...455361282c 01:28
Feel free to use all or part or none as you may see fit.
01:58 ilbot3 joined
moderator Perl 6 language and compiler development 2.0 | Logs at irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
02:39 ufobat_ joined
MasterDuke .tell thundergnat for your example FatRat.new(5,2777777777777777), your .to-str gives '0.180', but .Str gives '0.00000000000000180' 03:33
yoleaux MasterDuke: I'll pass your message to thundergnat.
BenGoldberg m: say 2777777777777777.0 / 5; 04:22
camelia 555555555555555.4
Geth rakudo: MasterDuke17++ created pull request #1802:
Micro-optimize Rational.Str
04:26
BenGoldberg m: say 2777777777777777.777777777777777 / 5; 04:32
camelia 555555555555555.5555555555555554
BenGoldberg m: say 2777777777777777.7777777777777777777777777777777777777777777777777 / 5;
camelia 555555555555555.56
BenGoldberg m: dd 2777777777777777.7777777777777777777777777777777777777777777777777 / 5; 04:33
camelia 555555555555555.56e0
05:17 Kaiepi joined 06:05 stmuk_ joined
Geth roast: 9c75d46325 | usev6++ | 2 files
[JVM] Unfudge now passing tests
06:20
rakudo: aa18140e6e | (Daniel Green)++ | src/core/Rational.pm6
Micro-optimize Rational.Str

By pulling an addition out of a loop.
07:58
rakudo: f8c4845095 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core/Rational.pm6
Merge pull request #1802 from MasterDuke17/micro-optimization_of_Rational.Str

Micro-optimize Rational.Str
nqp/master: 8 commits pushed by (Jeremy Studer)++, (Elizabeth Mattijsen)++ 08:00
lizmat grrr... wrong order :-( 08:01
|Tux| Rakudo version 2018.04.1-45-gdf4de34ab - MoarVM version 2018.04.1-76-gb38df02a8
csv-ip5xs0.834 - 0.842
csv-ip5xs-208.318 - 8.770
csv-parser36.376 - 36.448
csv-test-xs-200.449 - 0.463
test8.614 - 8.650
test-t2.268 - 2.469
test-t --race0.957 - 0.961
test-t-2041.543 - 42.443
test-t-20 --race13.846 - 13.988
08:04
Geth nqp: 9159bfe655 | (Elizabeth Mattijsen)++ | tools/build/MOAR_REVISION
Bump Moar to get slice op support working
08:06
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...0-g7a521ee
lizmat Files=1239, Tests=76310, 315 wallclock secs (15.65 usr 5.61 sys + 2165.92 cusr 221.36 csys = 2408.54 CPU) 08:10
08:17 travis-ci joined
travis-ci NQP build failed. Elizabeth Mattijsen 'Merge pull request #436 from jstuder-gh/slice_possibly 08:17
travis-ci.org/perl6/nqp/builds/376252672 github.com/perl6/nqp/compare/615d4...b6b4858641
08:17 travis-ci left
lizmat yeah, wrong order of things :-( 08:17
|Tux| MasterDuke, tux.nl/Talks/CSV6/speed4r.html 08:18
Geth rakudo: 090432bb60 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
Bump NQP to get latest nqp::slice op
rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....4-g9159bfe
a02131d53d | (Ben Davies)++ | 2 files

Fixes #1778
lizmat Jeremy Studer++ # now on to actually using this in Rakudo 08:21
08:30 greppable6 joined 08:37 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Merge pull request #1802 from MasterDuke17/micro-optimization_of_Rational.Str 08:37
travis-ci.org/rakudo/rakudo/builds/376252190 github.com/rakudo/rakudo/compare/d...c48450957f
08:37 travis-ci left
lizmat also my fault because I merged the nqp PR before the Moar PR :-( 08:38
rakudo: e5b10f2bc0 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 2 files
Merge pull request #1779 from Kaiepi/nativecall

Implement NativeCall CArray.allocate method
synopsebot RAKUDO#1778 [closed]: github.com/rakudo/rakudo/issues/1778 Implementing a CArray.allocate method
09:54 ExtraCrispy joined 10:04 travis-ci joined
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Merge pull request #1779 from Kaiepi/nativecall 10:04
travis-ci.org/rakudo/rakudo/builds/376264842 github.com/rakudo/rakudo/compare/0...b10f2bc071
10:04 travis-ci left 11:26 pmurias joined
lizmat .tell nine some S01-perl5-integration tests have become rather flappy (with segfaults underneath :-( ) 12:04
yoleaux lizmat: I'll pass your message to nine.
Geth rakudo: 67a31600be | (Elizabeth Mattijsen)++ | src/core/native_array.pm6
Make [^42] slices on native arrays about 23x faster

Thanks to the new nqp::slice op, Jeremy Studer++
12:10
lizmat doing this on Arrays is close, but not there yet because of handling of holes 12:11
12:11 ZofBot joined, buggable joined 12:12 huggable joined
samcv anyone have a 32 bit machine they can run a test on two commits for me? 12:33
lizmat not :-( 12:34
I think dogbert17 has one
12:37 brrt joined
timotimo samcv: you can do that on appveyor :P 12:38
samcv dunno if i can trust the timings 12:39
also it should hopefully be a 32 bit cpu and not just a 64 bit running in 32 bit mode
timotimo oh, timings, ok
samcv otherwise it's probably a useless benchmark since i'm really trying to measure if 64 bit number accesses are slower on 32 bit cpu's than 64 bit accesses 12:40
though they could be close... dunno. on my cpu they're identical
Geth rakudo: b12fba38dd | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm6
Make sure we can .perl uninitialized native strings

my str @a; @a[0].perl # before: chars requires a concrete string, but got null
12:41
rakudo: 4264c9e5ba | (Elizabeth Mattijsen)++ | 3 files
Remove some trailing whitespace
lizmat m: use nqp; my int @a = ^10; nqp::splice(@a,my int @,3,-1); say @a # probably a case if DIHWIDT 12:58
camelia 0 1 2 2 3 4 5 6 7 8 0
lizmat hmmm
I get: moar(65716,0x7ffff13bd3c0) malloc: *** error for object 0x7fd28d03aaf0: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug
12:58 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make [^42] slices on native arrays about 23x faster 12:58
travis-ci.org/rakudo/rakudo/builds/376334762 github.com/rakudo/rakudo/compare/e...a31600be5f
12:58 travis-ci left
buggable [travis build above] ☠ All failures are due to: failed make test (6 failures). Across all jobs, only t/04-nativecall/05-arrays.t test file failed. 12:59
brrt is there some great rakudo hackathon going on that i didn't hear about 13:08
much progress very wow
lizmat brrt: nah, just your regular progress :-) 13:13
samcv lizmat: well you and me had a bit of a mini hackathon :) 13:21
lizmat psssttt... don't spoil it :-)
Geth rakudo: f038e12df1 | (Elizabeth Mattijsen)++ | lib/NativeCall.pm6
Fix Travis breakage in make test

For some reason, adding the postcirmfix:<[ ]>(array, Range:D) candidate with 67a31600be5f42b6d7cee had repercussions for the postcircumfix:<[ ]>(CArray:D, Any) candidate in NativeCall.
Fixed by adding an "is default" to the NativeCall candidate, although ... (5 more lines)
lizmat afk for a bit&
13:31 skids joined
AlexDaniel releasable6: next 13:38
releasable6 AlexDaniel, Next release in ≈11 days and ≈5 hours. 1 blocker. 0 out of 54 commits logged
AlexDaniel, Details: gist.github.com/93e4e3da2c7c9fe783...e1131ad9af
13:40 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Remove some trailing whitespace' 13:40
travis-ci.org/rakudo/rakudo/builds/376346466 github.com/rakudo/rakudo/compare/6...64c9e5baa0
13:40 travis-ci left
buggable [travis build above] ☠ All failures are due to: failed make test (6 failures). Across all jobs, only t/04-nativecall/05-arrays.t test file failed. 13:40
brrt .ask lizmat can you try jit-moar-ops once more? I've added new stuff 13:41
yoleaux brrt: I'll pass your message to lizmat.
14:03 lizmat_ joined 14:08 quotable6 joined, undersightable6 joined, statisfiable6 joined, nativecallable6 joined, unicodable6 joined, greppable6 joined
b2gills samcv: I have older computers so I could possibly do 32-bit speed tests. Keep in mind the newest 32-bit computer I have came with Windows XP. 14:23
14:26 FROGGS joined
b2gills I'm fairly sure that 32bit x86 cpus use only the AX and DX registers to do 64bit math, so you should keep the count of 64bit variables used to a minimum 14:29
dogbert17 samcv: my 32 bit system is a VM running on a 64 bit Ryzen CPU, not exactly what you want it seems 14:33
Kaiepi oh, i should get CArray.allocate documented if it hasn't been yet 14:50
Geth rakudo: 09cbe67966 | (Elizabeth Mattijsen)++ | src/core/native_array.pm6
Only take instantiated native arrays please

Did not remove the need for "is default" in NativeCall tough :-(
15:02
rakudo: 4e88fa1517 | (Elizabeth Mattijsen)++ | src/core/native_array.pm6
Fix for R #1804
15:04
synopsebot RAKUDO#1804 [open]: github.com/rakudo/rakudo/issues/1804 [LHF][LTA] .gist of native arrays has no brackets or anything else to indicate it's an array
Geth roast: 407283f9ae | (Elizabeth Mattijsen)++ | S09-typed-arrays/native-int.t
Adapt test because of R #1804
15:22
roast/6.c-errata: 89211dca60 | (Elizabeth Mattijsen)++ | S09-typed-arrays/native-int.t
Adapt test because of R #1804
15:23
lizmat m: my Int @a = 1..10; my $r = 9 .. -9; dd @a[$r] # not entirely what I expected 15:45
camelia Int @a = 1
japhb Distribution::Builder::MakeFromJSON:ver<0.4> fails to install on a fresh-built rakudo, apparently due to "Could not find System::Query at line 4". Missing dependency? 15:47
lizmat m: my Int @a = 1..10; my $r = 9 .. -9; dd @a[$r] # should either Fail or return an empty list, I would say, opinions? 15:56
camelia Int @a = 1
15:59 Kaiepi joined 16:00 brrt joined, travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Only take instantiated native arrays please 16:00
travis-ci.org/rakudo/rakudo/builds/376405816 github.com/rakudo/rakudo/compare/f...cbe67966ab
16:00 travis-ci left
buggable [travis build above] ☠ Did not recognize some failures. Check results manually. 16:00
16:07 yoleaux joined 16:20 travis-ci joined
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Only take instantiated native arrays please 16:20
travis-ci.org/rakudo/rakudo/builds/376405816 github.com/rakudo/rakudo/compare/f...cbe67966ab
16:20 travis-ci left
lizmat ok, so that's definitely a flapper, as I did not change any code, just restarted the job :-( 16:22
samcv b2gills: in this instance i only need two registers i believe. 16:28
this is the code btw github.com/samcv/MoarVM/blob/memme....c#L52-L60 16:30
but if you think i should, i'll hide it behind a define and only index by 32 bit at a time instead on 32 bit 16:42
jnthn r: m: my Int @a = 1..10; my \\r = 9 .. -9; dd @a[r] 16:45
yoleaux 16:07Z <Zoffix> jnthn: what's a succinct description of when a literal in a call would be nativized. Seems we do it only when one of the args is native AND it's a foldable routine. What's the best way to explain this to end user? irclog.perlgeek.de/perl6/2018-05-08#i_16142804
camelia ()
jnthn lizmat: It's because you put the range in a Scalar, which treats it as an item, so it's then numified
lizmat: And numifies to the element count. Which is (or at least should be) consistently done.
.tell Zoffix "one of the args is declared native" is the intended semantics; I'm a tad surprised that it's only doing this when it turns out ot be foldable however 16:47
yoleaux jnthn: I'll pass your message to Zoffix.
16:49 travis-ci joined
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Fix for R #1804' 16:49
travis-ci.org/rakudo/rakudo/builds/376406894 github.com/rakudo/rakudo/compare/0...88fa1517cf
16:49 travis-ci left
b2gills samcv: I do not know how 64bit would affect timings, this is just accumulated knowledge so it is probably better to test it 17:12
17:40 stmuk joined 18:20 AlexDaniel joined 18:25 dogbert11 joined 19:22 stmuk_ joined 19:33 brrt joined
Geth roast: 483cf29700 | usev6++ | 3 files
[JVM] Unfudge passing tests
19:42
19:47 robertle_ joined
Geth roast: f287c3814d | (Elizabeth Mattijsen)++ | 2 files
Some more tests that need changing because of R #1804
19:49
19:50 stmuk joined
Geth roast/6.c-errata: b619ee915e | (Elizabeth Mattijsen)++ | S09-typed-arrays/native-num.t
Some more tests that need changing because of R #1804
19:51
20:12 squashable6 joined
Geth rakudo: c69179cc0e | (Elizabeth Mattijsen)++ | src/core/native_array.pm6
Finetune postcircumfix:<[ ]>(array,Range)

  - handle ranges in containers properly
  - handle outside of array slices better
20:13
20:26 skids joined
AlexDaniel skids: don't “reject” spam tickets, press S button instead 21:23
22:24 thundergnat joined
thundergnat . 22:25
yoleaux 03:33Z <MasterDuke> thundergnat: for your example FatRat.new(5,2777777777777777), your .to-str gives '0.180', but .Str gives '0.00000000000000180'
thundergnat tell MasterDuke Yeah. That is kind of less than optimal.
For what it is worth, I have corrected and updated the gist. It now handles denominators with leading zeros correctly and does some 13000 or so tests with varying numerators and denominators comparing to the slow Str method. 22:27
Updated gist here gist.github.com/thundergnat/075e98...455361282c - Fast stringification for FatRats 22:29
MasterDuke thundergnat: have you tried replacing Rational.Str with your change and running a spectest? 23:11
thundergnat MasterDuke Um, no. It isn't intended as a replacement for Rational.Str though, it's a multi for FatRats. It doesn't handle a lot of the fiddly stuff Rats need. 23:22
MasterDuke thundergnat: do you want to submit a PR? or want someone else to (i can do it in the next day or two probably)? 23:32
thundergnat MasterDuke: I'm trying my hand at building and roasting a rakudo with it. I'm kind of rusty but I'm muddling through. 23:35
MasterDuke great 23:36
Geth rakudo: skids++ created pull request #1806:
Add test for RT#123380 (REPL tests go in rakudo tree)
23:49
synopsebot RT#123380 [open]: rt.perl.org/Ticket/Display.html?id=123380 [BUG] A script that gives different results when executed from a file and when pasted into REPL
23:50 Kaiepi joined