travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Don't use private method for AT-KEY-CONTAINER | 00:26 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/359300928 github.com/rakudo/rakudo/compare/8...b7f464e670 | |||||||||||||||||||||||||||||||||||||||
Geth | nqp: e82bf8a97c | (Jeremy Studer)++ | src/vm/moar/profiler/template.html Profiler Template: Sort by time Instead of Pct Have the code in the profiler page sort by InclusiveTime/ExclusiveTime values instead of percent. Fixes subtle misordering of routines. |
01:05 | |||||||||||||||||||||||||||||||||||||
nqp: b73a9b60bc | (Zoffix Znet)++ | tools/build/MOAR_REVISION [MoarVM Bump] Brings 4 commits MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...5-gafdcad4 afdcad4 Use char* for pointer addition to please MSVC 32d66d5 Speed up index 50% for flat haystack and diff type needle 15b4b9f Fix compiler warning by explicitly casting to MVMuint8* fc7da5c fix bytecodedump to understand inlines |
02:22 | ||||||||||||||||||||||||||||||||||||||
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...5-gafdcad4 | |||||||||||||||||||||||||||||||||||||||
rakudo: 23af1f4aae | (Zoffix Znet)++ | tools/build/NQP_REVISION [NQP Bump] Brings 3 commits NQP bump brought: github.com/perl6/nqp/compare/2018....0-gb73a9b6 b73a9b6 [MoarVM Bump] Brings 4 commits e82bf8a Profiler Template: Sort by time Instead of Pct 0736a0c [JVM] Adjust 'getrusage' to fix rakudo build ... (5 more lines) |
|||||||||||||||||||||||||||||||||||||||
rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....0-gb73a9b6 05816139ea | (Elizabeth Mattijsen)++ | src/core/Proc.pm6 |
|||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. Zoffix Znet 'Ignore whole /gen | 02:46 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/359348726 github.com/rakudo/rakudo/compare/1...a576e62e64 | |||||||||||||||||||||||||||||||||||||||
Rakudo build passed. Elizabeth Mattijsen 'Implement Array.grab, as discussed in GH R#1658' | 03:23 | ||||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/359406934 github.com/rakudo/rakudo/compare/8...e5e880580c | |||||||||||||||||||||||||||||||||||||||
synopsebot | R#1658 [open]: github.com/rakudo/rakudo/issues/1658 [@LARRY][NYI][testneeded] Why do Array / Hash not have .grab like QuantHashes do? | ||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Merge pull request #1664 from rakudo/fails-like | 03:58 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/359414496 github.com/rakudo/rakudo/compare/6...a0e706537d | |||||||||||||||||||||||||||||||||||||||
Rakudo build passed. Elizabeth Mattijsen 'Remove some leftover code | 04:37 | ||||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/359433086 github.com/rakudo/rakudo/compare/a...82292562a4 | |||||||||||||||||||||||||||||||||||||||
samcv | i think i've decreased the runtime by 1/2 of that script | 06:57 | |||||||||||||||||||||||||||||||||||||
if everything is going fine :) got it down to 6 seconds from 11.5 to get to 256kb | |||||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Move proto method splice: Mu -> Any | 07:04 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/359589156 github.com/rakudo/rakudo/compare/f...d61bd94527 | |||||||||||||||||||||||||||||||||||||||
[Tux] |
|
07:12 | |||||||||||||||||||||||||||||||||||||
lizmat | Files=1238, Tests=76257, 310 wallclock secs (14.69 usr 5.26 sys + 2124.06 cusr 206.65 csys = 2350.66 CPU) | 07:39 | |||||||||||||||||||||||||||||||||||||
samcv | since this is such a common codepath i tried really hard to get as many tight loops as possible. even though i may need many more loops and fallthroughs | 07:43 | |||||||||||||||||||||||||||||||||||||
travis-ci | Rakudo build passed. usev6 '[JVM] Work around problem with native arrays | 07:46 | |||||||||||||||||||||||||||||||||||||
travis-ci.org/rakudo/rakudo/builds/359591592 github.com/rakudo/rakudo/compare/8...acc5a4537c | |||||||||||||||||||||||||||||||||||||||
rakudo: 5ad102ea76 | (Elizabeth Mattijsen)++ | src/core/Proc.pm6 Make sure Proc.pid is Nil if we didn't run yet |
08:05 | ||||||||||||||||||||||||||||||||||||||
rakudo/js: 58f577a1b1 | pmurias++ | src/Perl6/Metamodel/BOOTSTRAP.nqp [js] Enable phasers cloning code on js backend too |
08:26 | ||||||||||||||||||||||||||||||||||||||
rakudo/js: 8a999990d3 | pmurias++ | src/core/traits.pm6 Revert "Revert "Fix 'is export' on constants assigned to routines"" This reverts commit c5383a1cf3685016e324b03e63da020ba18cb30f. |
|||||||||||||||||||||||||||||||||||||||
lizmat | .ask jnthn how do you feel about if a producer of a fixed data size would change the batchsize so that each :degree would only get 1 batch to process | 08:34 | |||||||||||||||||||||||||||||||||||||
yoleaux | lizmat: I'll pass your message to jnthn. | ||||||||||||||||||||||||||||||||||||||
lizmat | afk for a few hours& | 08:35 | |||||||||||||||||||||||||||||||||||||
AlexDaniel` | samcv: sounds awesome | 09:32 | |||||||||||||||||||||||||||||||||||||
samcv | AlexDaniel`: i also got a loop to vectorize into SSE or AVX instructions. which is neat. not sure how much faster that is, but i'll have to test it later | 09:35 | |||||||||||||||||||||||||||||||||||||
AlexDaniel` | 6 seconds is not that far from 1-2s :) | 09:36 | |||||||||||||||||||||||||||||||||||||
samcv | but i'd think that'd be many times faster. though sadly we check each grapheme to make sure it fits in 8 bits, so that section can't vecorize. but i did a lot of work to get the loop as tight as possible. and it made a big difference in addition to more loops. basically i first iterate over each strand, looping as long as there's room in the result to copy the whole strand | 09:37 | |||||||||||||||||||||||||||||||||||||
so if the strand is 8bit it uses memcpy. if it's not it uses a tight loop that goes for the length of he strand, if i encouners a 32 bit grapheme then i use a goto statement | 09:38 | ||||||||||||||||||||||||||||||||||||||
timotimo | hm, say ... | ||||||||||||||||||||||||||||||||||||||
how about we go through whole bunches of graphemes at a time to do the 8bit bounds checks? | |||||||||||||||||||||||||||||||||||||||
samcv | yeah i thought about that as well | ||||||||||||||||||||||||||||||||||||||
timotimo | maybe a quick check against a bit mask could help | ||||||||||||||||||||||||||||||||||||||
samcv | heh we think alike | ||||||||||||||||||||||||||||||||||||||
#define can_fit_into_8bit_unsafe(g) (!((((g) & 0xffffff80) + 0x80) & (0xffffff80-1))) | 09:39 | ||||||||||||||||||||||||||||||||||||||
timotimo | %) | ||||||||||||||||||||||||||||||||||||||
samcv | it's not faster than an if condition but i figure we could remove the if condition and just do a batch of graphemes | ||||||||||||||||||||||||||||||||||||||
then after that check the value | |||||||||||||||||||||||||||||||||||||||
timotimo | yeah | ||||||||||||||||||||||||||||||||||||||
maybe go through four or five cache lines worth of data at a time with a check, then copy | 09:40 | ||||||||||||||||||||||||||||||||||||||
the earlier we notice we'll have to abort and do 32 instead, the better we'll be off, too | |||||||||||||||||||||||||||||||||||||||
samcv | i'd think that checking a fair number at a time, then copying that many | 09:41 | |||||||||||||||||||||||||||||||||||||
and then the copy would be able to be vectorized | |||||||||||||||||||||||||||||||||||||||
timotimo | *nod* | ||||||||||||||||||||||||||||||||||||||
samcv | timotimo: you can pass -Rpass=loop-vectorize to clang and it'll tell you which loops were vectorized and the vectorization width | 09:46 | |||||||||||||||||||||||||||||||||||||
timotimo | on, nice | ||||||||||||||||||||||||||||||||||||||
samcv | and -Rpass-analysis=loop-vectorize will tell you why loops were'n't vectorized | ||||||||||||||||||||||||||||||||||||||
timotimo | right. cool. | 09:47 | |||||||||||||||||||||||||||||||||||||
we could have monitoring for that, too %) | |||||||||||||||||||||||||||||||||||||||
samcv | (will dump out a lot of things) | ||||||||||||||||||||||||||||||||||||||
timotimo | for sure | ||||||||||||||||||||||||||||||||||||||
samcv | most not too useful | ||||||||||||||||||||||||||||||||||||||
since a lot of things aren't good candidates | |||||||||||||||||||||||||||||||||||||||
timotimo | just to see that things that were once vectorized don't get unvectorized without us knowing about it? | 09:51 | |||||||||||||||||||||||||||||||||||||
looks like gcc has -fopt-info-vec-missed; not sure if -ftree-vectorize is necessary | 09:52 | ||||||||||||||||||||||||||||||||||||||
samcv | hmm yeah could be useful once i play around with it some more | 09:56 | |||||||||||||||||||||||||||||||||||||
jnthn | .tell Zoffix ecosystem fallout from the addition of `fails-like`: travis-ci.org/croservices/cro-http...7808#L1459 | 10:53 | |||||||||||||||||||||||||||||||||||||
yoleaux | 08:34Z <lizmat> jnthn: how do you feel about if a producer of a fixed data size would change the batchsize so that each :degree would only get 1 batch to process | ||||||||||||||||||||||||||||||||||||||
jnthn: I'll pass your message to Zoffix. | |||||||||||||||||||||||||||||||||||||||
jnthn | lizmat: Depends entirely on if the user specified :batch or not | ||||||||||||||||||||||||||||||||||||||
If they didn't, or only specified :degree but not batch, sure. If they did, then we should honor that | |||||||||||||||||||||||||||||||||||||||
lizmat | ok, so basically, setting the default in .hyper/.race is too early | 10:54 | |||||||||||||||||||||||||||||||||||||
jnthn | But when :batch and/or :degree are not set, that's our invitation to try and apply what heuristics we can to pick someting good | ||||||||||||||||||||||||||||||||||||||
Yes | |||||||||||||||||||||||||||||||||||||||
lizmat | ok, I'll run with that | ||||||||||||||||||||||||||||||||||||||
Zoffix | jnthn: are methods safe to callstatic once resolved to a Method object? github.com/rakudo/rakudo/pull/1665 | 10:55 | |||||||||||||||||||||||||||||||||||||
jnthn | Funnily enough, the ecosystem fallout pretty much speaks in favor of `fails-like` being provided :P | ||||||||||||||||||||||||||||||||||||||
Zoffix: I'm confused what on earth code that is generating, to be honest :) | 10:56 | ||||||||||||||||||||||||||||||||||||||
In that I thought callstatic fell back to call in the non-named case, but since you spot a difference, I want to know what it's doing :) | |||||||||||||||||||||||||||||||||||||||
Zoffix | Ohhh | 10:57 | |||||||||||||||||||||||||||||||||||||
jnthn | (Which means I need to look at the output bytecode, which I didn't get time to do yet) | ||||||||||||||||||||||||||||||||||||||
Zoffix | greppable6: fails\-like | ||||||||||||||||||||||||||||||||||||||
greppable6 | Zoffix, 12 lines, 2 modules: gist.github.com/0f201f5100fdfeb6fb...cc548e59f5 | ||||||||||||||||||||||||||||||||||||||
Zoffix | Wonder why Cro's not in the list... | 10:58 | |||||||||||||||||||||||||||||||||||||
jnthn | Zoffix: The ecosystem fallout isn't in Cro itself, it's in a module Cro depends on | 10:59 | |||||||||||||||||||||||||||||||||||||
Zoffix | Ooohh | ||||||||||||||||||||||||||||||||||||||
Easy to fix, since it's my module :P | |||||||||||||||||||||||||||||||||||||||
jnthn | IO::Path::ChildSecure | ||||||||||||||||||||||||||||||||||||||
yes ;) | |||||||||||||||||||||||||||||||||||||||
Zoffix | Fix pushed | 11:01 | |||||||||||||||||||||||||||||||||||||
dogbert17 | Zoffix: FYI, the NQP program you supplied in G#1667 crashes on 32 bit systems (at least on mine :) | 11:02 | |||||||||||||||||||||||||||||||||||||
Zoffix | R#1667 | 11:03 | |||||||||||||||||||||||||||||||||||||
synopsebot | R#1667 [open]: github.com/rakudo/rakudo/issues/1667 [perf] Some string benchmark | ||||||||||||||||||||||||||||||||||||||
dogbert17 | gah, I always get that wrong :( | ||||||||||||||||||||||||||||||||||||||
Zoffix | dogbert17: and non-NQP doesn't crash? That's weird, because I copy-pasted the guts of .subst | ||||||||||||||||||||||||||||||||||||||
dogbert17 | the crash is an out of memory one | 11:04 | |||||||||||||||||||||||||||||||||||||
MoarVM panic: Memory allocation failed; could not allocate 691840 bytes | |||||||||||||||||||||||||||||||||||||||
Zoffix | Ah | 11:05 | |||||||||||||||||||||||||||||||||||||
|90d see if we can improve sum algo: en.wikipedia.org/wiki/Kahan_summat...hancements twitter.com/johnmyleswhite/status/...6904882178 | |||||||||||||||||||||||||||||||||||||||
ZofBot | Zoffix, Will remind you on 2018-06-27T07:05:54.184636-04:00 about see if we can improve sum algo: en.wikipedia.org/wiki/Kahan_summat...hancements twitter.com/johnmyleswhite/status/...6904882178 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | it eats through memory like there's no tomorrow :) | 11:06 | |||||||||||||||||||||||||||||||||||||
timotimo | eating memory really, really, really fast is often an infinite recursion | 11:14 | |||||||||||||||||||||||||||||||||||||
lizmat | So I'm looking at why the null-line of the supervisor loop is still calling List.sink 3 times every iteration | 11:16 | |||||||||||||||||||||||||||||||||||||
(which now comes to something like 1% overhead and additional BootHash allocations | 11:19 | ||||||||||||||||||||||||||||||||||||||
suggestions? | 11:20 | ||||||||||||||||||||||||||||||||||||||
pmurias | do we have data/graph how the numbers of spectest the jvm backend is passing progressess? | 11:22 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: ae91db887b | (Elizabeth Mattijsen)++ | src/core/ThreadPoolScheduler.pm6 Replace .elems by nqp::elems() in scheduler Reduces CPU usage of idling supervisor by 5%, and reduces the number of Int and BOOTHash allocations siginificantly. |
11:58 | |||||||||||||||||||||||||||||||||||||
rakudo: f8c441642c | (Elizabeth Mattijsen)++ | src/core/ThreadPoolScheduler.pm6 Only check affinity-workers if there are any Shaves off another 2% of CPU usage of the idle supervisor loop |
12:23 | ||||||||||||||||||||||||||||||||||||||
lizmat | [Tux]: updated Text::CSV with "is default" on the attributes | 12:28 | |||||||||||||||||||||||||||||||||||||
|Tux| | lizmat++ | 12:29 | |||||||||||||||||||||||||||||||||||||
lizmat | afk for a bit& | 12:30 | |||||||||||||||||||||||||||||||||||||
samcv | |Tux|: this seems to show some drop tux.nl/Talks/CSV6/images/test-t-d10.png | 12:45 | |||||||||||||||||||||||||||||||||||||
since the mvm change i made today | |||||||||||||||||||||||||||||||||||||||
|Tux| | samv, you were looking too quickly :) | 12:46 | |||||||||||||||||||||||||||||||||||||
this might be due to lizmat's change. I just re-ran the tests: | |||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||
samcv | oh | 12:47 | |||||||||||||||||||||||||||||||||||||
|Tux| | 👍 | ||||||||||||||||||||||||||||||||||||||
samcv | the threadpool scheduler or another |Tux| | ||||||||||||||||||||||||||||||||||||||
|Tux| | ? | 12:48 | |||||||||||||||||||||||||||||||||||||
samcv | i just made a big change to the string indexing code github.com/MoarVM/MoarVM/commit/32...f92f98c689 i got 0.5x to 3x speed improvement i even saw | ||||||||||||||||||||||||||||||||||||||
went from 2.0685436 to 0.3240215s on this test gist.github.com/samcv/adc8d50df303...p6-L15-L25 | 12:51 | ||||||||||||||||||||||||||||||||||||||
the commit description should give info on the change | 12:52 | ||||||||||||||||||||||||||||||||||||||
[Coke] | samcv: so, I read 3x speed improvement as "runs in 1/3 the time"... if *that's* right, then 0.5 would mean in twice the time. | 12:57 | |||||||||||||||||||||||||||||||||||||
Can you explain 0.5x to 3x improvement? | |||||||||||||||||||||||||||||||||||||||
(not how you did it, just what those numbers mean?) | 12:58 | ||||||||||||||||||||||||||||||||||||||
samcv | sorry ignore my wording. it's confusing saying 0.5x faster. i mean 1.5x the speed as before or it takes 2/3 to 1/4 the time | 13:03 | |||||||||||||||||||||||||||||||||||||
and technically in that one test it completed in 1/6 the time, but aside from that. the math i was using was 50% faster: original_time * 100/(100+50) = original_time * 2/3 | 13:05 | ||||||||||||||||||||||||||||||||||||||
though that's not on that test, it's just an overall thing i observed so picked a conservative amount. since not all things complete in 1/6 the time like that one test | 13:06 | ||||||||||||||||||||||||||||||||||||||
jnthn | grrr, github.com/rakudo/rakudo/issues/1660 seems to be some memory corruption issue...but no luck getting valgrind to show it up | 16:03 | |||||||||||||||||||||||||||||||||||||
Hurrah, ASAN finds it | 16:07 | ||||||||||||||||||||||||||||||||||||||
Not that the output immediately makes clear what's up | 16:08 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | +jnthn+ | 16:09 | |||||||||||||||||||||||||||||||||||||
jnthn: managed to trip my ASAN as well: MVM_fixed_size_alloc src/core/fixedsizealloc.c:188 | 16:29 | ||||||||||||||||||||||||||||||||||||||
did you get the same? | |||||||||||||||||||||||||||||||||||||||
jnthn | Yeah, but it makes...not a huge amount of sense | 16:36 | |||||||||||||||||||||||||||||||||||||
I did spot something problematic and fixed it, but it didn't help | |||||||||||||||||||||||||||||||||||||||
dogbert17 | perhaps it fixes some other problem though | 16:37 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: a12ea10690 | (Moritz Lenz)++ | CONTRIBUTING.md Fix grammar error in CONTRIBUTING.md |
16:38 | |||||||||||||||||||||||||||||||||||||
moritz | the sentence still reads awkwardly, IMHO | ||||||||||||||||||||||||||||||||||||||
jnthn | dogbert17: perhaps, yes | ||||||||||||||||||||||||||||||||||||||
dogbert17 | jnthn: I got a better ASAN barf: gist.github.com/dogbert17/dfcb5716...4348b27e9c | 16:40 | |||||||||||||||||||||||||||||||||||||
jnthn | o.O | 16:41 | |||||||||||||||||||||||||||||||||||||
Well, that one does make sense | 16:45 | ||||||||||||||||||||||||||||||||||||||
And I've probably got a fix for that too | |||||||||||||||||||||||||||||||||||||||
But it doesn't help with the original ASAN trace I see | |||||||||||||||||||||||||||||||||||||||
dogbert17 | argh | 16:47 | |||||||||||||||||||||||||||||||||||||
so multiple problems then | 16:48 | ||||||||||||||||||||||||||||||||||||||
jnthn | Multiple fixes too :P | 16:49 | |||||||||||||||||||||||||||||||||||||
Just not to the primary issue | |||||||||||||||||||||||||||||||||||||||
AddressSanitizer can not describe address in more detail (wild memory access suspected). | |||||||||||||||||||||||||||||||||||||||
SUMMARY: AddressSanitizer: heap-buffer-overflow src/gc/collect.c:367 MVM_gc_mark_collectable | |||||||||||||||||||||||||||||||||||||||
That about sums it up...there's a comletely nuts SC index in there | |||||||||||||||||||||||||||||||||||||||
dogbert17 | and valgrind doesn't want to play ball either :( | 16:51 | |||||||||||||||||||||||||||||||||||||
jnthn | Well, it ain't giving up its secrets easily | 17:24 | |||||||||||||||||||||||||||||||||||||
Really weird. I'm looking at something that looks like a frame, but with a wildly bogus SC index, but the bogus indices are in a union with the pointer it uses to chain STables for cleanup | 17:31 | ||||||||||||||||||||||||||||||||||||||
And that is a valid pointer to an STable | |||||||||||||||||||||||||||||||||||||||
Which can't be just down to chance | |||||||||||||||||||||||||||||||||||||||
But only an ST can ever be put onto that linked list, and I don't see how that bit could be going wrong | 17:33 | ||||||||||||||||||||||||||||||||||||||
Ah well, will continue tomorrow | 17:35 | ||||||||||||||||||||||||||||||||||||||
dogbert17 | jnthn: got this: gist.github.com/dogbert17/08b377bf...4697ad0820 | 17:44 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 924310c5ff | usev6++ | src/core/ThreadPoolScheduler.pm6 [JVM] Remove superfluous call to .shift Leftover from github.com/rakudo/rakudo/commit/4ef28a7bcb |
18:44 | |||||||||||||||||||||||||||||||||||||
bartolin | for some reasons the following test has started to fail on the JVM backend: | 18:59 | |||||||||||||||||||||||||||||||||||||
r: use Test; is (^10).grep(Int, :!kv), [^10] | |||||||||||||||||||||||||||||||||||||||
camelia | ok 1 - | ||||||||||||||||||||||||||||||||||||||
bartolin | r: dd (^10).grep(Int, :!kv); dd [^10] | ||||||||||||||||||||||||||||||||||||||
camelia | (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).Seq [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
||||||||||||||||||||||||||||||||||||||
bartolin | it's from S32-list/grep-kv.t: github.com/perl6/roast/blob/4c1a52...p-kv.t#L73 | 19:01 | |||||||||||||||||||||||||||||||||||||
would it make sense to change the test to use is-deeply, like this? | 19:02 | ||||||||||||||||||||||||||||||||||||||
r: use Test; is-deeply (^10).grep(Int, :!kv), [^10].Seq | |||||||||||||||||||||||||||||||||||||||
camelia | ok 1 - | ||||||||||||||||||||||||||||||||||||||
bartolin | (that still passes with HEAD on rakudo-j | ||||||||||||||||||||||||||||||||||||||
Zoffix | bartolin: yeah, `is` is a completely inappropriate routine in this case as (1, (2, (3, ...) and all sorts of other variations would pass... But what does the failure look like? | 19:17 | |||||||||||||||||||||||||||||||||||||
bartolin | Zoffix: oops, I just run it standalone and it passes. I'm afraid I raised a false alarm -- probably I messed something up. | 19:20 | |||||||||||||||||||||||||||||||||||||
sorry, it looks like I mis-read the output from running the test file. it was another test that failed -- and that failure is for real | 19:21 | ||||||||||||||||||||||||||||||||||||||
bartolin should head to bed, obviously | |||||||||||||||||||||||||||||||||||||||
Zoffix | Ah | 19:22 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 7572983a41 | (Jonathan Worthington)++ | src/core/Supply.pm6 Make Supply.interval a serial Supply Previously, it was non-serial, and relied on something downstream calling `.serialize`. The `whenever` construct would do exactly that, so the only way to observe this was a `.tap` on the interval `Supply` directly. ... (19 more lines) |
19:35 | |||||||||||||||||||||||||||||||||||||
6.d-prep: ed472e08e3 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/FEATURES.md List Str.subst-mutate for deprecation and removal |
19:42 | ||||||||||||||||||||||||||||||||||||||
6.d-prep: 138e73aab8 | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/FEATURES.md Remove `Make `.?` safecall actually safe` I no longer think that's the right path to follow, so as the Stakeholder, I'm tossing the entire proposal. The .? safety will be significantly improved once the :D calls on Nil are fixed up |
19:45 | ||||||||||||||||||||||||||||||||||||||
nine | LOL I wrote a make in NQP in an evening and it builds rakudo | 20:29 | |||||||||||||||||||||||||||||||||||||
tadzik | :D | 20:30 | |||||||||||||||||||||||||||||||||||||
damn, that's good :) | |||||||||||||||||||||||||||||||||||||||
. o O ( not quite make ) | |||||||||||||||||||||||||||||||||||||||
dogbert17 | nine++: perhaps you should call it nmake :) | 20:37 | |||||||||||||||||||||||||||||||||||||
jnthn | .oO( nine make? :D ) |
||||||||||||||||||||||||||||||||||||||
lizmat | NQM ? | 20:44 | |||||||||||||||||||||||||||||||||||||
nine | Just shy of 250 LOC and it makes it through make install. Really fun coding exercise :) | 20:45 | |||||||||||||||||||||||||||||||||||||
gist.github.com/niner/a959cb893820...392d4c16cb for the curious | 20:46 | ||||||||||||||||||||||||||||||||||||||
jnthn | That's amaziong :D | 20:48 | |||||||||||||||||||||||||||||||||||||
lizmat | notable6 weekly: gist.github.com/niner/a959cb893820...392d4c16cb | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | : or , | 20:49 | |||||||||||||||||||||||||||||||||||||
well… | |||||||||||||||||||||||||||||||||||||||
lizmat | notable6 weekly, gist.github.com/niner/a959cb893820...392d4c16cb | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | weekly: gist.github.com/niner/a959cb893820...392d4c16cb | ||||||||||||||||||||||||||||||||||||||
notable6 | AlexDaniel, Noted! | ||||||||||||||||||||||||||||||||||||||
lizmat | argh ok | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | alternatively “notable6: weekly https………” | ||||||||||||||||||||||||||||||||||||||
lizmat | understood | ||||||||||||||||||||||||||||||||||||||
Kaiepi | for rakudo's Configure.pl, i'm wondering if adding a --moar-options flag that lets you pass multiple flags at once would be a good idea | 21:41 | |||||||||||||||||||||||||||||||||||||
like this is a lot of typing: ./Configure.pl --gen-moar --moar-option=--has-dyncall --moar-option=--cc=egcc --moar-option=--telemeh --moar-option=--optimize=0 --moar-option=--debug=3 --prefix=$HOME/.perl6 | 21:42 | ||||||||||||||||||||||||||||||||||||||
or modify --moar-option so that that'd work | |||||||||||||||||||||||||||||||||||||||
so instead --moar-option(s?)='--has-dyncall --cc=egcc --telemeh --optimize=0 --debug=3' would work | 21:43 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | Kaiepi: can't you just concat them all? | 22:03 | |||||||||||||||||||||||||||||||||||||
hm maybe not, but I thought you can… | 22:04 | ||||||||||||||||||||||||||||||||||||||
like '--moar-option==--foo --bar …' | |||||||||||||||||||||||||||||||||||||||
Kaiepi | Unknown option: cc-egcc --has-dyncall _ | 22:13 | |||||||||||||||||||||||||||||||||||||
oh typo | 22:14 | ||||||||||||||||||||||||||||||||||||||
yeah that works | |||||||||||||||||||||||||||||||||||||||
i feel it's not very obvious though | |||||||||||||||||||||||||||||||||||||||
wait | 22:15 | ||||||||||||||||||||||||||||||||||||||
egcc: error: unrecognized command line option '--has-dyncall' | |||||||||||||||||||||||||||||||||||||||
nope, doesn't work | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | did you quote it correctly? :) | 22:26 | |||||||||||||||||||||||||||||||||||||
but yeah, maybe it doesn't work | |||||||||||||||||||||||||||||||||||||||
Kaiepi | i did '--moar-option='--cc=egcc --has-dyncall _' | 22:29 | |||||||||||||||||||||||||||||||||||||
* '--moar-option=--cc=egcc --has-dyncall _' | |||||||||||||||||||||||||||||||||||||||
also, i might throw up a couple more bots like BeastieBot/PufferBot in vms on my system | 22:36 | ||||||||||||||||||||||||||||||||||||||
i only have the ram to feasibly run two atm though | |||||||||||||||||||||||||||||||||||||||
what systems desperately need testing? | |||||||||||||||||||||||||||||||||||||||
i was thinking netbsd and solaris, but i'm wondering about systems on other architectures | 22:37 | ||||||||||||||||||||||||||||||||||||||
like maybe testing for arm on debian | 22:42 | ||||||||||||||||||||||||||||||||||||||
one thing i've noticed is the stage parse parts of building rakudo take much longer on openbsd compared to other systems | 23:46 | ||||||||||||||||||||||||||||||||||||||
like ~70s compared to ~30s in an alpine vm | 23:47 | ||||||||||||||||||||||||||||||||||||||
i know there's overhead from the additional security features openbsd has, but i'm wondering if there are ways to help optimize it | |||||||||||||||||||||||||||||||||||||||
like using pledge in moarvm | |||||||||||||||||||||||||||||||||||||||
MasterDuke | your vm must be pretty beefy, i get 80s stage parse not in a vm | ||||||||||||||||||||||||||||||||||||||
Kaiepi | i use moar, if that's what you mean | 23:50 | |||||||||||||||||||||||||||||||||||||
MasterDuke | same here | 23:51 |