| [Coke] | it's better than "terminal.app"? | 00:26 | |
| japhb: it's muscle memory at this point, | 00:27 | ||
| Geth | rakudo: ugexe++ created pull request #6553: RakuAST: compile a native array subscript to a raw position op |
00:34 | |
| ugexe | $ ./install/bin/raku -e 'my int @a; my int $i = 0; my num $t = now.Num; while $i < 50_000_000 { @a[0] = $i; $i = $i + 1 }; say now.Num - $t' | ||
| 3.3392715454101562 | |||
| $ RAKUDO_RAKUAST=1 ./install/bin/raku -e 'my int @a; my int $i = 0; my num $t = now.Num; while $i < 50_000_000 { @a[0] = $i; $i = $i + 1 }; say now.Num - $t' | |||
| 0.7493548393249512 | |||
| with the above PR | |||
| hopefully it will survive the next blin run | 00:39 | ||
| Geth | rakudo/main: b241160147 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files RakuAST: report static types for attribute reads and self (#6551) Previously an attribute read and the self term both reported Mu as their static type, so the optimize pass could not decide anything over them. Arithmetic on a native attribute in a method body stayed on the full operator call path. The same arithmetic on a native lexical leaves that path at compile time. This reports the ... (5 more lines) |
01:35 | |
| rakudo/main: 7b628279d6 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files RakuAST: optimize the compiled regex QAST at code generation (#6550) Previously the compiled regex QAST went to the backend untouched: the only call into QRegex::Optimizer sits in the legacy optimizer, which this frontend replaced wholesale, so every regex kept its scan loop in front of an anchor to the start of the string and kept its nested concats. ... (19 more lines) |
|||
| rakudo/main: e414916c54 | (Nick Logan)++ (committed using GitHub Web editor) | 5 files RakuAST: elide unused implicits from methods and generated accessors (#6549) Previously every method bound &?ROUTINE to its own code object on every call. The implicit declaration list is produced before the body parse can report whether anything uses it, so the binding could not be demand driven there. The lowering pass sees the whole body, so the emission decision moves there instead. An unused &?ROUTINE ... (15 more lines) |
|||
| rakudo/main: ffc46a32eb | (Nick Logan)++ (committed using GitHub Web editor) | 3 files RakuAST: compile resolved operator calls as static lookups (#6548) Previously only a named sub call and a chaining comparison compiled their callee lookup as a static one, while a resolved prefix, infix, or postfix operator call looked up its callee lexical by name again on every execution. This marks operator calls the same way, gated on the same check that the resolution is bound once, so the VM resolves the callee a single time. A loop spending its time in operator calls runs about a third faster, matching the legacy frontend, whose optimizer makes every resolved call a static one. |
01:37 | ||
|
01:50
coleman left,
coleman joined
02:29
nine left,
camelia left
02:30
nine joined
02:31
camelia joined
|
|||
| Geth | rakudo: ugexe++ created pull request #6554: RakuAST: lower native attribute steps to raw ops |
03:02 | |
| rakudo/main: 4 commits pushed by (Nick Logan)++ | 03:21 | ||
| rakudo: ugexe++ created pull request #6555: RakuAST: lower a for loop over a literal integer sequence |
03:58 | ||
| roast: ugexe++ created pull request #897: Wait for the Channel Supply to drain before checking what it saw |
04:10 | ||
| roast: ugexe++ created pull request #898: Make the EADDRINUSE quit test deterministic |
04:26 | ||
| japhb | [Coke]: Yeah, at the moment Ghostty is the best terminal overall on both MacOS and Linux. I think they were planning a Windows port, but I don't know if that's happened yet. | 04:27 | |
| (Not saying Ghostty is perfect, just better than most of the alternatives most of the time. A few terminals have one or two things they do really well, but I feel like the Ghostty *baseline* is quite good. Plus, for my needs, Terminal Inspector is just really damned useful.) | 04:29 | ||
| Geth | rakudo/main: 4b8ddb43f6 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files RakuAST: compile a native array subscript to a raw position op (#6553) Previously a subscript of a native array called the postcircumfix routine, which dispatched through its candidates and the array's AT-POS or ASSIGN-POS on every access. A plain native int, num, or str array declaration owns the stock native container, so a subscript by an int literal or a native int lexical compiles to the ... (16 more lines) |
04:33 | |
| rakudo/main: f347751b2d | (Nick Logan)++ (committed using GitHub Web editor) | 3 files RakuAST: lower native attribute steps to raw ops (#6554) Previously an increment, decrement, or compound assignment on a native int or num attribute called the operator routine or the metaop on every access, while the same forms on a native lexical lowered to raw step ops. An attribute read reports its native type, so this accepts an attribute as the step target and as the compound ... (7 more lines) |
04:34 | ||
|
07:30
ShimmerFairy left,
ShimmerFairy joined
08:17
lizmat left
11:13
finanalyst left
12:13
ShimmerFairy left
12:14
ShimmerFairy joined
13:14
camelia left
13:15
nine left
13:50
nine joined
14:02
camelia joined
|
|||
| [Coke] fires up ghostty (loves the demo video on the main page) | 14:23 | ||
| .seen japhb | 14:28 | ||
| tellable6 | [Coke], gist.github.com/f7ebb6e3ca1e23ea62...5aba2d2d85 | ||
| [Coke] will try using ghostty for a bit. | 14:30 | ||
| ... ok, once I got the "ssh to a box without ghostty" working... my click-on-links bug is gone. | 14:34 | ||
| Geth | rakudo: ugexe++ created pull request #6556: RakuAST: bind a <-> block's native parameter as a reference |
15:13 | |
|
17:37
finanalyst joined
|
|||
| Geth | nqp/coke/test-moarvm-fix: e4a03e4c37 | (Will Coleda)++ | tools/templates/MOAR_REVISION test moarvm fix |
18:32 | |
| rakudo/coke/test-moarvm-fix: 86dc6eacde | (Will Coleda)++ | tools/templates/NQP_REVISION test moarvm fix |
18:34 | ||
| rakudo/coke/test-moarvm-fix: 19a125e7e9 | (Will Coleda)++ | src/main.nqp Change default to AST |
|||
| timo | ugexe: did you write the fix for repossession yourself? | 18:51 | |
| [Coke] | I specifically did not know the answer to that question, which is why I announced what I was doing here. | 19:31 | |
| kicking off a AST blin run to see what that changes. | 19:32 | ||
| timo | oh, there's the message, ok it was you that pulled it over | 19:33 | |
| [Coke] | yah, mentioned in #moarvm sorry. | 19:34 | |
| Happy to delete the 3 branches once the blin run is done. | |||
| timo | I could have seen it myself, don't worry about it | ||
| [Coke] | Might be nice to have a way to do a blin run with a commit from a completely different repo. | 19:35 | |
| every time I run blin, I see some module name I haven't seen before, like Acme::Insult::Lala | |||
| timo | blin uses whateverable's builds, right? so if you want that, we'd have to add more repos to what whateverable looks at, and come up with something to disambiguate (you can ask for named branches too, or did I misremember?) | 19:36 | |
| [Coke] | I think anything that resolves to a commit id works. | 19:37 | |
| as we discovered, it seems to build every commit. (And understands "HEAD") | 19:38 | ||
| to test a tuple, seems the easiest thing so far is "get all the changes into branches on the 3 main repos, make each one depend on the right one" | 19:39 | ||
| Easy enough if an uncommon task. | |||
| Geth | roast: ugexe++ created pull request #899: Run a silent child in the RT #115390 loops |
21:07 | |
| [Coke] | m: say [+] 1..Inf | 21:12 | |
| camelia | (timeout) | 21:13 | |
| [Coke] | rakupp says 50005000 | ||
|
21:14
lizmat joined
|
|||
| lizmat | . | 21:15 | |
|
21:31
lizmat left
21:55
finanalyst left
|
|||