00:39 iwuvmika joined
[Coke] btk 01:11
(briefly, anyway) 01:16
07:00 finanalyst joined 09:16 finanalyst left
Geth rakudo/lizmat-111: 194778d026 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.rakumod
Add IO::Path.is-inside method

Returns True/False indicating whether the absolute resolved path of the invocant is inside the absolute resolved path of the IO::Path given.
   $io.is-inside($root)
Requires the $root to be a directory (otherwise the invocant could never be "inside" of the root anyway). Based in .resolve(:completely) which currently still has issues on Windows, so YYMV on Windows now
10:04
rakudo: lizmat++ created pull request #6904:
Add IO::Path.is-inside method
10:06
rakudo/lizmat-93: d63cf8427f | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Rakudo/Sorting.rakumod
Remove numcmp subroutine from Sorting.rakumod

Removed the numcmp subroutine for comparing numbers in Schwartz sorting logic, as it was already added when a previous PR was merged.
10:09
[Coke] YYMV? 12:09
lizmat YMMV oops
[Coke] ok, that one I know. :) 12:10
12:59 iwuvmika left 13:19 guifa left 13:30 iwuvmika joined 17:22 refactus joined
Geth rakudo/main: 47daec283b | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Num.rakumod
Streamline infix:<cmp>(Num,Num)/(num/num) (#6872)

  - Num cmp Num about 1.5x as fast
  - num cmp num about 2x as fast
  github.com/rakudo/rakudo/pull/6871.../98fbb3468
showed that there is a subtle discrepancy between infix:<cmp>(Num,Num) ... (7 more lines)
18:56
rakudo/main: 9a3cea7ff3 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/List.rakumod
Make List/Array.sum about 14% faster (#6875)

By replacing repeated nqp::getattr calls by a lowered lexical
18:58
rakudo/main: 019d44052e | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/List.rakumod
Make List/Array.EXISTS-POS(uint) (about 3% faster) (#6876)

Reorganize code a bit
   - First check if $!todo is concrete (it usually isn't) so that
   the more expensive nqp::isge_i is usually not done
   - only one actual nqp::existspos
... (6 more lines)
rakudo/main: ae983bb7af | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/List.rakumod
Make List/Array.EXISTS-POS(Int:D) (about 70% faster) (#6877)

  - First check negativity of index and existence of refified
  - Then check if $!todo is concrete (it usually isn't) so that the more expensive nqp::isge_i is usually not done
  - only one actual nqp::existspos
Reduce bytecode size (568 -> 472)
  - fewer nqp::getattr, more lowered lexical accesses
  - remove return constraint: nqp::hllbool() can only return Bool:D
This actually gets neatly inlined and thus much faster
18:59
rakudo/main: 664e4a8845 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/List.rakumod
Reduce List.FLATTENABLE_LIST size (364 -> 340) (#6878)

  - No performance change, just slightly easier to inline
  - De-nqpify code, pure HLL from now
rakudo/main: 571213dfc2 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/List.rakumod
Make List.join upto 40% faster (#6882)

  - Streamline a bit by losing outer nqp::stmts, no longer needed
  - Use lowered lexical instead of nqp::getattr most of the time
  - Use presized IterationBuffer for better performance
FWIW, many other approaches were tried, but alas none of them succeeded in providing better performance
Turns out dealing with HLL Str values, it's better to put them into an Opaque list rather than in a native str list
19:02
rakudo/main: e9ff8f21fb | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/List.rakumod
Make List.tail about 13% faster (#6885)

  - Use lowered lexical instead of repeated nqp::getattr
  - Reduce bytecode size 406 -> 346 for faster inlining
19:03
rakudo/main: 7214725ce9 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/Array.rakumod
Make Array.FLATTENABLE_LIST inlineable (388 -> 374) (#6887)

Reduce bytcode size by:
  - abusing nqp::ifnull in void context
  - removing the special case for 0 elems, let the while handle that
  - add some comments
... (10 more lines)
19:04
rakudo/main: b96702f4c0 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 2 files
Make .sort(&mapper) up to 60% faster (#6874)

  * Streamline .sort(&mapper)
  - 0,1,2 elem lists within noise, tending to be 1% faster
  - 3..7 elem lists 15% - 0% slower
  - 8..* elems 7% .. 60% faster
... (22 more lines)
19:13
lizmat that's all the PRs of >7 days old I felt comfortable in merging 19:14
[Coke] releasable6: next 19:25
releasable6 [Coke], Next release will happen when it's ready. There are no known blockers. 46 out of 230 commits logged
[Coke], Details: gist.github.com/d72f24472750ea22b1...8dc839c0a3
Geth rakudo/lizmat-111: e2bde2364a | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.rakumod
Address some suggestions by uniejo++

  - Instead of returning True/False, returns a resolved IO::Path, or
   Nil, to prevent race conditions
  - Fix comparing against root
20:14
22:51 ShimmerFairy left 22:53 ShimmerFairy joined