00:37
AlexDani` joined
00:39
AlexDaniel left
02:10
hungrydonkey left
02:55
hungrydonkey joined
03:32
hungrydonkey left
03:43
hungrydonkey joined
03:52
hungrydonkey left,
hungrydonkey joined
04:28
hungrydonkey left,
hungrydonkey joined
05:30
hungrydonkey left
|
|||||||||||||||||||||||||||||||||||||||
tyil | jjatria: my docker-perl6 repo has 2 kind of images for that purpose, a *-dev image with all those utilities, and a regular image without | 05:33 | |||||||||||||||||||||||||||||||||||||
you would install your application with a *-dev image, and let users run it with the regular image | 05:34 | ||||||||||||||||||||||||||||||||||||||
using a multi-stage dockerfile to make the Docker image for users | |||||||||||||||||||||||||||||||||||||||
www.tyil.nl/post/2019/04/11/perl6-...er-images/ for more information | 05:35 | ||||||||||||||||||||||||||||||||||||||
05:37
hungrydonkey joined
05:50
hungryd36 joined
05:51
hungrydonkey left
06:53
tyil is now known as mieko
06:54
mieko is now known as tyil
07:03
hungryd36 left
07:16
hungrydonkey joined
07:20
hungrydonkey left
07:36
hungrydonkey joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | Files=1306, Tests=111210, 32445 wallclock secs (29.32 usr 8.16 sys + 3338.82 cusr 428.21 csys = 3804.51 CPU) | 07:37 | |||||||||||||||||||||||||||||||||||||
sadly, S17-promise/nonblocking-await.t hung | 07:38 | ||||||||||||||||||||||||||||||||||||||
07:48
hungrydonkey left
|
|||||||||||||||||||||||||||||||||||||||
tyil | jjatria: looking at your bash script, you're using `sed -ri`, both of those options are not POSIX defined, and can't be expected to be available on a system | 07:55 | |||||||||||||||||||||||||||||||||||||
you can undo the -i quite easily by also dropping the `cat` earlier | 07:57 | ||||||||||||||||||||||||||||||||||||||
I dont think -r is needed at all | |||||||||||||||||||||||||||||||||||||||
sed "s/{{TAG}}/$tag/g" < "$template" > "$dockerfile" | 08:00 | ||||||||||||||||||||||||||||||||||||||
or, to combine both sed calls as well: `sed -e "s/{{TAG}}/$base_tag/g" -e "s/{{INSTALL_OPTIONS}}/$install_options/g" < "$template" > "$dockerfile"` | 08:03 | ||||||||||||||||||||||||||||||||||||||
its probably a bit faster as well, as you only spawn 1 sed, and only write the output to a file once | 08:05 | ||||||||||||||||||||||||||||||||||||||
but it's mostly more portable :> | |||||||||||||||||||||||||||||||||||||||
[Tux] |
|
09:05 | |||||||||||||||||||||||||||||||||||||
lizmat | yikes | 09:11 | |||||||||||||||||||||||||||||||||||||
jnthn ^^ | |||||||||||||||||||||||||||||||||||||||
this conforms what I've seen in spectest benchmarking | |||||||||||||||||||||||||||||||||||||||
lizmat feels 4221f8225feae17 is the cause | 09:12 | ||||||||||||||||||||||||||||||||||||||
linkable6 | (2020-04-01) github.com/rakudo/rakudo/commit/4221f8225f Adopt MoarVM-provided value_desc_cont | ||||||||||||||||||||||||||||||||||||||
09:12
Altai-man_ joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat guesses jnthn's intuition was right | 09:12 | ||||||||||||||||||||||||||||||||||||||
09:22
sena_kun joined
09:23
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo: bbed2255f3 | (Elizabeth Mattijsen)++ | src/core.c/operators.pm6 More correctly implement ^... and ^...^ At least for now: problems found while writing tests for ^... and ^...^ . Main problems is that the simplification of just removing the last value generated, does not work with ... if the RHS is a list: then the value that should be skipped (or not) is the first value of that list, *not* the last value of that list. |
09:25 | |||||||||||||||||||||||||||||||||||||
lizmat | m: dd 1 ... -Inf # LTA hang | 10:29 | |||||||||||||||||||||||||||||||||||||
camelia | (timeout) | 10:30 | |||||||||||||||||||||||||||||||||||||
lizmat | m: dd 1 ... *, "foo","bar" # feels to me this should warn on never being able to produce "foo" and "bar" | 10:59 | |||||||||||||||||||||||||||||||||||||
camelia | (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,… | ||||||||||||||||||||||||||||||||||||||
11:21
Altai-man_ joined
11:23
sena_kun left
11:35
Xliff joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | o/ | 11:35 | |||||||||||||||||||||||||||||||||||||
AlexDani` | Xliff: any news? :) | ||||||||||||||||||||||||||||||||||||||
11:35
AlexDani` is now known as AlexDaniel,
AlexDaniel left,
AlexDaniel joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | No. Been real busy with $dayJob. | 11:36 | |||||||||||||||||||||||||||||||||||||
Then there's family stuff. | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: that LTA hang is because of is-lazy | 11:37 | |||||||||||||||||||||||||||||||||||||
lizmat: see github.com/rakudo/rakudo/wiki/is-lazy | 11:38 | ||||||||||||||||||||||||||||||||||||||
lizmat | AlexDaniel: yeah, I know: it's lazy but not telling us it is | ||||||||||||||||||||||||||||||||||||||
a thing to fix :-) | |||||||||||||||||||||||||||||||||||||||
11:38
MasterDuke left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | yeah, everything else in that table should be fixed too :) | 11:38 | |||||||||||||||||||||||||||||||||||||
Geth | rakudo: 30e7a67c55 | (Elizabeth Mattijsen)++ | lib/Test.rakumod Add s/PERL6/RAKU test environment variables - RAKU_TEST_DIE_ON_FAIL as the new versio of PERL6_TEST_DIE_ON_FAIL - RAKU_TEST_TIMES as the new version of PERL6_TEST_TIMES None of these are actually documented, it seems. |
||||||||||||||||||||||||||||||||||||||
AlexDaniel | well ok not everything | ||||||||||||||||||||||||||||||||||||||
probably (-∞...42) | |||||||||||||||||||||||||||||||||||||||
and that's it, actually, just two bugs :) | |||||||||||||||||||||||||||||||||||||||
11:41
patrickb joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | I've got a C question I can't find an answer to anywhere else. Can anyone help? | 11:47 | |||||||||||||||||||||||||||||||||||||
It has to deal with LOCAL vs GLOBAL | |||||||||||||||||||||||||||||||||||||||
11:48
MasterDuke joined
|
|||||||||||||||||||||||||||||||||||||||
nine | Xliff: if you ask your question, someone may be able to help | 12:11 | |||||||||||||||||||||||||||||||||||||
Xliff | I have static routines in a .so that I'd like to use externally. What's the best way to accomplish that? | 12:13 | |||||||||||||||||||||||||||||||||||||
12:13
hungrydonkey joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | roast: 5ddc9b9f47 | (Elizabeth Mattijsen)++ | S03-sequence/exhaustive.t First batch of exhaustive ... ...^ ^... ^...^ tests Still work in progress, mainly intended to easily allow for testing the ... refactoring work. |
12:18 | |||||||||||||||||||||||||||||||||||||
lizmat | afk for a few hours& | ||||||||||||||||||||||||||||||||||||||
Geth | nqp: 80cc573700 | MasterDuke17++ (committed using GitHub Web editor) | docs/ops.markdown Add $whence values to seekfh entry |
12:30 | |||||||||||||||||||||||||||||||||||||
12:40
samcv left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | Xliff: Make them non-static. | 13:12 | |||||||||||||||||||||||||||||||||||||
Xliff: afaik, the compiler is free to inline away `static` routines and not leave a trace of them in the .so | 13:13 | ||||||||||||||||||||||||||||||||||||||
Xliff | jnthn: How can you accomplish that? | 13:14 | |||||||||||||||||||||||||||||||||||||
nine | Looks like heaptrack's custom allocator API is ridiculously simple to use - just include the header and add some calls. Alas I don't get anything to actually show up in results :/ | 13:15 | |||||||||||||||||||||||||||||||||||||
Xliff | jnthn: Do you mean at the source level? | ||||||||||||||||||||||||||||||||||||||
jnthn | Xliff: Delete the word "static" in the source and recompile? | ||||||||||||||||||||||||||||||||||||||
Xliff | Yeah. That's what I was afraid of. | ||||||||||||||||||||||||||||||||||||||
13:16
hungrydonkey left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | Oh, you were trying to do this without modifying the source...now I understand the question more. :) But yeah, such things surely ain't API. | 13:17 | |||||||||||||||||||||||||||||||||||||
Xliff | Yes, but they should be. | 13:18 | |||||||||||||||||||||||||||||||||||||
This is GObject based stuff, and I'm dealing with GStreamer. | |||||||||||||||||||||||||||||||||||||||
gstreamer.freedesktop.org/ | |||||||||||||||||||||||||||||||||||||||
jnthn | Are they static things in a .h (e.g. the static inline trick to replace macros)? | ||||||||||||||||||||||||||||||||||||||
Xliff | Unfortunately it's plugin-based. No. It's using the static keyword in the function implementation in the .c | 13:19 | |||||||||||||||||||||||||||||||||||||
jnthn | Oh...so then it's not usable from other C code outside that file either... | 13:21 | |||||||||||||||||||||||||||||||||||||
So it's not part of the C API either. | |||||||||||||||||||||||||||||||||||||||
nine | That's the whole point of static... | 13:22 | |||||||||||||||||||||||||||||||||||||
13:22
sena_kun joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | Weirdly enough, I CAN access it if I use it in a .c and link it with the .o it's compiled in. | 13:22 | |||||||||||||||||||||||||||||||||||||
So I tried wrapping it in a self-created .so, but that didn't work. | 13:23 | ||||||||||||||||||||||||||||||||||||||
13:23
hungryd12 joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | It's been a while since I've done a lot of C and I've always avoided the use of the static keyword. | 13:24 | |||||||||||||||||||||||||||||||||||||
13:24
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
Xliff | It means a whole other thing in C++ where I HAVE used it. | 13:24 | |||||||||||||||||||||||||||||||||||||
And the weird thing is that it should be a part of the API. At least as far as I understand the GObject system. | 13:25 | ||||||||||||||||||||||||||||||||||||||
Thanks for helping. Don't mean to go OT. | |||||||||||||||||||||||||||||||||||||||
13:43
samcv joined
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | sourceable6: 2 ... 5 | 13:47 | |||||||||||||||||||||||||||||||||||||
sourceable6 | AlexDaniel, github.com/rakudo/rakudo/blob/30e7...s.pm6#L129 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | heh, thank you magical bot | 13:49 | |||||||||||||||||||||||||||||||||||||
huh | 13:51 | ||||||||||||||||||||||||||||||||||||||
13:51
samcv left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | m: say (1 .. -Inf).reverse[^10] | 13:51 | |||||||||||||||||||||||||||||||||||||
camelia | (Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | that looks very wrong to me :) | ||||||||||||||||||||||||||||||||||||||
c: all say (1 .. -Inf).reverse[^10] | 13:52 | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/aa6da581c5d910b8ee...c9397e3dea | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | hm | 13:53 | |||||||||||||||||||||||||||||||||||||
bisect: say (1 .. -Inf).reverse[^10] | |||||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, Bisecting by output (old=2015.12 new=30e7a67) because on both starting points the exit code is 0 | ||||||||||||||||||||||||||||||||||||||
13:53
samcv joined
|
|||||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, bisect log: gist.github.com/e8fb64602ae0231c45...b680086897 | 13:53 | |||||||||||||||||||||||||||||||||||||
AlexDaniel, (2016-03-16) github.com/rakudo/rakudo/commit/ec...57924bfc39 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | R#3595 | 13:55 | |||||||||||||||||||||||||||||||||||||
linkable6 | R#3595 [open]: github.com/rakudo/rakudo/issues/3595 (1 .. -Inf).reverse is wrong | ||||||||||||||||||||||||||||||||||||||
AlexDaniel squints | 14:03 | ||||||||||||||||||||||||||||||||||||||
m: say (Inf .. Inf)[^10] | |||||||||||||||||||||||||||||||||||||||
camelia | (-Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf -Inf) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | it almost feels like I already reported it… but I can't find a ticket | 14:05 | |||||||||||||||||||||||||||||||||||||
not even in old-issue-tracker | |||||||||||||||||||||||||||||||||||||||
c: all say (Inf .. Inf)[^10] | 14:06 | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/6583c1c0b3d7e9cd2e...8651b5797d | 14:07 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | bisect: say (Inf .. Inf)[^10] | ||||||||||||||||||||||||||||||||||||||
bisectable6 | AlexDaniel, Bisecting by output (old=2015.12 new=30e7a67) because on both starting points the exit code is 0 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, bisect log: gist.github.com/025cbeb14408af7326...4e2eedf877 | 14:08 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, (2018-08-24) github.com/rakudo/rakudo/commit/a9...330c2eaf60 | |||||||||||||||||||||||||||||||||||||||
AlexDaniel | 6c: say (Inf ^.. Inf).reverse[^10] | 14:09 | |||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/b2fd1a8d7ec07f790f...5dae186991 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | 6c: say (Inf ..^ Inf).reverse[^10] | 14:10 | |||||||||||||||||||||||||||||||||||||
6c: say (Inf ..^ Inf)[^10] | |||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/87e7ce4988523d5fcc...3c6a43d1de | ||||||||||||||||||||||||||||||||||||||
AlexDaniel, gist.github.com/3ae27c0327ffe77818...8aedabe431 | 14:11 | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: all say (Inf ^.. Inf).reverse[^10] | 14:14 | |||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/64f5f7a42ddbb85cbd...f728ff1983 | 14:15 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | lizmat: so… this is weird, turns out you *can* count down with .. if you use .reverse? | 14:24 | |||||||||||||||||||||||||||||||||||||
m: say (2.5 .. 5).reverse[^10] | 14:25 | ||||||||||||||||||||||||||||||||||||||
camelia | (5 4 3 Nil Nil Nil Nil Nil Nil Nil) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | notice how it truly goes starting from 5 | ||||||||||||||||||||||||||||||||||||||
insead of reversing the actual values 2.5 .. 5 range would give you | |||||||||||||||||||||||||||||||||||||||
tyil | you're reversing the Range after all | 14:30 | |||||||||||||||||||||||||||||||||||||
if you do the reverse after the [^10] it would reverse the list returned by [^10], and give you a couple Nils followed by 4.5, 3.5, 2.5 | 14:31 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | nine: the bytecode files should end up being identical when built from master and my new branch, correct? | 14:47 | |||||||||||||||||||||||||||||||||||||
Geth | nqp: patrickbkr++ created pull request #611: Static nqp home hll var |
14:54 | |||||||||||||||||||||||||||||||||||||
nine | MasterDuke: yes | 14:55 | |||||||||||||||||||||||||||||||||||||
14:56
samcv left,
samcv joined
15:21
Altai-man_ joined
15:23
sena_kun left
15:24
ufobat_ joined
15:28
ufobat__ left
|
|||||||||||||||||||||||||||||||||||||||
AlexDaniel | tyil: is it supposed to do that? | 15:33 | |||||||||||||||||||||||||||||||||||||
yesterday I was defending the behavior of … because it mimicked what .. does | 15:34 | ||||||||||||||||||||||||||||||||||||||
but | |||||||||||||||||||||||||||||||||||||||
m: say (2.5 ... 5).reverse | |||||||||||||||||||||||||||||||||||||||
camelia | (4.5 3.5 2.5) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | m: say (2.5 … 5).reverse | ||||||||||||||||||||||||||||||||||||||
camelia | (4.5 3.5 2.5) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | m: say (2.5 .. 5).reverse | ||||||||||||||||||||||||||||||||||||||
camelia | (5 4 3) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | these are different, understandably, but uh… huh? | ||||||||||||||||||||||||||||||||||||||
tyil | the ... operator produces a Seq, the .. operator produces a Range | 15:46 | |||||||||||||||||||||||||||||||||||||
which, when you know that, explains the behaviour | |||||||||||||||||||||||||||||||||||||||
but I do agree that the ... behaviour seems out of place to me at first glance | |||||||||||||||||||||||||||||||||||||||
m: (2.5 .. 5).WHAT | 15:47 | ||||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
tyil | m: (2.5 .. 5).WHAT.say | ||||||||||||||||||||||||||||||||||||||
camelia | (Range) | ||||||||||||||||||||||||||||||||||||||
tyil | m: (2.5 ... 5).WHAT.say | ||||||||||||||||||||||||||||||||||||||
camelia | (Seq) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | just because it produces a Range doesn't mean that its .reverse should be what it is | 16:44 | |||||||||||||||||||||||||||||||||||||
m: say (2.5 .. 5).reverse | |||||||||||||||||||||||||||||||||||||||
camelia | (5 4 3) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | m: say (2.5 .. 5).list.reverse | ||||||||||||||||||||||||||||||||||||||
camelia | (4.5 3.5 2.5) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | sure, it is understandable, but should it be this way? | ||||||||||||||||||||||||||||||||||||||
c: all say (0 .. NaN)[^10]; say (NaN .. 0).reverse[^10]; | 16:56 | ||||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/b1dfa4e78b589a8112...6bfffe1b6f | 17:01 | |||||||||||||||||||||||||||||||||||||
AlexDaniel | m: say (Inf ... Inf)[^10] | 17:05 | |||||||||||||||||||||||||||||||||||||
camelia | (Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf) | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | why? | ||||||||||||||||||||||||||||||||||||||
m: say Inf ~~ Inf | |||||||||||||||||||||||||||||||||||||||
camelia | True | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | it should've stopped after the first Inf, no? | ||||||||||||||||||||||||||||||||||||||
timotimo | m: say (5 ... 5)[^10] | 17:06 | |||||||||||||||||||||||||||||||||||||
camelia | (5 Nil Nil Nil Nil Nil Nil Nil Nil Nil) | ||||||||||||||||||||||||||||||||||||||
timotimo | m: say Inf cmp Inf; say Inf <=> Inf | ||||||||||||||||||||||||||||||||||||||
camelia | Same Same |
||||||||||||||||||||||||||||||||||||||
timotimo | it probably should | ||||||||||||||||||||||||||||||||||||||
AlexDaniel | c: all say (Inf ... Inf)[^10] | 17:07 | |||||||||||||||||||||||||||||||||||||
committable6 | AlexDaniel, gist.github.com/900516e19bd427cd93...faae994244 | ||||||||||||||||||||||||||||||||||||||
17:18
maggotbrain joined
17:22
sena_kun joined
17:23
Altai-man_ left
18:04
hungryd12 left
18:30
camelCaser joined,
camelCaser left
18:31
camelCaser joined
|
|||||||||||||||||||||||||||||||||||||||
nine | This seems to be growing happily without bounds: | 18:49 | |||||||||||||||||||||||||||||||||||||
raku -e 'class Foo { }; loop { my $foo = Foo.new; y $role := Metamodel::ParametricRoleHOW.new_type; $role.^set_body_block(-> |args {}); $role.^compose; $foo does $role; use nqp; nqp::force_gc; $i::j; }' | |||||||||||||||||||||||||||||||||||||||
raku -e 'class Foo { }; loop { my $foo = Foo.new; my $role := Metamodel::ParametricRoleHOW.new_type; $role.^set_body_block(-> |args {}); $role.^compose; $foo does $role; use nqp; nqp::force_gc; $i::j; }' | |||||||||||||||||||||||||||||||||||||||
Seems to be the source of the remaining couple of gigs of memory usage of our Cro app. This ^^^ is part of Inline::Perl5 | 18:51 | ||||||||||||||||||||||||||||||||||||||
timotimo | correct me if i'm wrong, but i can't getattr_o on an object with one REPR using a type object that has another REPR, right? | 18:57 | |||||||||||||||||||||||||||||||||||||
i.e. i can't do something like getattr_o($foo, AClassThatUsesAsyncTask, AClassThatIsP6Opaque, '$!blergh') | 18:58 | ||||||||||||||||||||||||||||||||||||||
er, that's wrong | |||||||||||||||||||||||||||||||||||||||
i.e. i can't do something like getattr_o($foo-of-AClassThatUsesAsyncTask, AClassThatIsP6Opaque, '$!blergh') | |||||||||||||||||||||||||||||||||||||||
because spesh currently looks only at the 2nd argument for whether there is a spesh function in the repr or not | 18:59 | ||||||||||||||||||||||||||||||||||||||
but it's more likely that it knows the argument after that | |||||||||||||||||||||||||||||||||||||||
and i think those can not differ in REPR | |||||||||||||||||||||||||||||||||||||||
19:21
Altai-man_ joined
19:23
sena_kun left
|
|||||||||||||||||||||||||||||||||||||||
jnthn | nine: Mixins types are cached, so if you produce ever more roles and keeping mixing them in, then yes, the mixin cache is going to grow without bounds. Are you really repeatedly forming new parametric roles? 'cus that's costly... | 19:47 | |||||||||||||||||||||||||||||||||||||
(I'd somewhat expect the roles to be cached somehow...) | 19:48 | ||||||||||||||||||||||||||||||||||||||
MasterDuke | it looks sort of related to the native array stuff recently, where lizmat++'s attempted fix for the types not being composed ended up composing a new type every time a new native array was created | 19:54 | |||||||||||||||||||||||||||||||||||||
20:24
Xliff left
|
|||||||||||||||||||||||||||||||||||||||
nine | jnthn: that was the csv-ip5xs speedup before I started using a custom HOW. Inline::Perl5::Object's FALLBACK generates these roles to containing optimized versions of the called method. Works great for when it's always the same CSV object, less well when you get fresh objects all the time | 20:29 | |||||||||||||||||||||||||||||||||||||
I really should cache those roles. It'll always be the same class and method names and Inline::Perl5 object. | 20:30 | ||||||||||||||||||||||||||||||||||||||
That'll make it a lot faster. Or at least a lot less slower. | 20:31 | ||||||||||||||||||||||||||||||||||||||
When I cache them, I can also extend them to have one role per Perl 5 class that gets extended instead of mixing in a new role for every method | 20:33 | ||||||||||||||||||||||||||||||||||||||
Or...ditch the whole thing and try to use Inline::Perl5::ClassHOW instead. | |||||||||||||||||||||||||||||||||||||||
Threads make the latter a little difficult. But maybe I find a good way to do it anyway. | 20:34 | ||||||||||||||||||||||||||||||||||||||
21:22
sena_kun joined,
Xliff joined
|
|||||||||||||||||||||||||||||||||||||||
Xliff | AlexDaniel: Have a recent blin invocation that I can test? | 21:23 | |||||||||||||||||||||||||||||||||||||
21:23
Altai-man_ left
|
|||||||||||||||||||||||||||||||||||||||
Geth | ¦ rakudo: lizmat self-assigned (1 .. -Inf).reverse is wrong github.com/rakudo/rakudo/issues/3595 | 21:44 | |||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-assigned (Inf ^.. Inf).reverse is wrong github.com/rakudo/rakudo/issues/3597 | 21:45 | ||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-assigned Run time SORRY when dividing an Inf range by 0 github.com/rakudo/rakudo/issues/3598 | |||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-assigned (Inf .. Inf) is wrong github.com/rakudo/rakudo/issues/3596 | |||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-assigned Reversed ranges with NaN are wrong (maybe?) github.com/rakudo/rakudo/issues/3599 | 21:46 | ||||||||||||||||||||||||||||||||||||||
¦ rakudo: lizmat self-assigned (Inf ... Inf) is wrong github.com/rakudo/rakudo/issues/3600 | |||||||||||||||||||||||||||||||||||||||
21:57
patrickb left
|
|||||||||||||||||||||||||||||||||||||||
jjatria | tyil: Nice. I'll make some changes to my commit then. Thanks! | 22:05 | |||||||||||||||||||||||||||||||||||||
jnthn | nine: If you have a very rarely updated cache that's a hash, then a good trick is to keep it in a Scalar, and only ever update it by building a new hash and cas'ing the reference; that way you don't ever need a lock to read the cache. | ||||||||||||||||||||||||||||||||||||||
nine: But yes, caching them should fix the leak too | |||||||||||||||||||||||||||||||||||||||
Also, it explains why the amount of memory eating is so high I guess; it's a non-small amount of data involved. | 22:06 | ||||||||||||||||||||||||||||||||||||||
Geth | Blin: Xliff++ created pull request #23: - Adds creation of overview.md to Blin |
23:21 | |||||||||||||||||||||||||||||||||||||
23:21
Altai-man_ joined
23:23
sena_kun left
23:24
hungrydonkey joined
|