Parrot 3.10.0 "Apple Pi" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 2 December 2011.
cotto kshannon++ 00:15
dalek rrot: 5b125a1 | NotFound++ | src/extend.c:
fix bug in Parrot_ext_try reported by kshannon++:

The fix uses a static function instead of a macro for simplicity, setjmp has much bigger impact in speed than any additional call
00:16
NotFound That should fix it, but unfortunatly I don't have any test case. 00:17
00:44 whiteknight joined
whiteknight good evening, #parrot 01:00
cotto 'evening, whiteknight 01:18
whiteknight hello cotto. How are you doing tonight? 01:55
cotto the evening is my oyster 01:56
I don't really like oysters though.
;)
whiteknight I can't say I'm much of a fan either 01:58
I keep forgetting about #ps because my last couple work-weeks haven't started on monday and my internal calendar gets all thrown off
my internal calendar isn't too robust normally, and when you mix in holidays and vacation days it gets even worse 01:59
02:32 alvis joined 02:40 schmooster joined
cotto ~~ 03:33
03:37 Psyche^ joined 03:50 nbrown joined
ruoso niecza: use Threads; my $a = Threads::ObjectPipe.new(); Threads::Thread.new({ for 1..10 -> $i { $a.put($i); $a.sleep(0.04) } }); say $a.get() for 1..10; 03:53
p6eval niecza v13-73-g71b660d: OUTPUT«1␤␤Unhandled Exception: Unable to resolve method sleep in class ObjectPipe␤ at /tmp/blz7JHg3Tj line 1 (ANON @ 8) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤»
ruoso niecza: use Threads; my $a = Threads::ObjectPipe.new(); Threads::Thread.new({ for 1..10 -> $i { $a.put($i); $self.sleep(0.04) } }); say $a.get() for 1..10;
p6eval niecza v13-73-g71b660d: OUTPUT«[31m===[0mSORRY![31m===[0m��Variable $self is not predeclared at /tmp/Yv3jVf6pFO line 1:�------> [32mead.new({ for 1..10 -> $i { $a.put($i); [33m�[31m$self.sleep(0.04) } }); say $a.get() for[0m��Unhandled exception: Check failed�� at /home/p6eval/…
ruoso niecza: use Threads; my $a = Threads::ObjectPipe.new(); Threads::Thread.new({ for 1..10 -> $i { $a.put($i); sleep(0.04) } }); say $a.get() for 1..10;
p6eval niecza v13-73-g71b660d: OUTPUTĀ«1␤␤Unhandled Exception: System.InvalidCastException: Cannot cast from source type to destination type.␤ at Run.Threads.C24Thread.sleep (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤ at Niecza.Kernel.RunCore (Niecza.Frame& cur) [0x00000] in <filename…
ruoso niecza: use Threads; my $a = Threads::ObjectPipe.new(); Threads::Thread.new({ for 1..10 -> $i { $a.put($i); .sleep(0.04) } }); say $a.get() for 1..10;
p6eval niecza v13-73-g71b660d: OUTPUT«1␤␤Unhandled Exception: Unable to resolve method sleep in class Any␤ at /tmp/ZThyqKiA6j line 1 (ANON @ 8) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤»
sorear try CORE::sleep 0.04 03:54
wait, that won't do
bacek_at_work wrong channel?
ruoso just noticed this wasn't the query
*query window
yep.. wrong channel... sorry
sorear ruoso: seems Threading's sleep is mis-coded to only support Num; try sleep(0.04e0) 03:55
ruoso niecza: use Threads; my $a = Threads::ObjectPipe.new(); Threads::Thread.new({ for 1..10 -> $i { $a.put($i); Threads::Thread.sleep(0.04e0) } }); say $a.get() for 1..10;
p6eval niecza v13-73-g71b660d: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤»
ruoso gah... again
sorry again
05:32 jsut_ joined 07:08 Myhrlin joined 07:40 Mod joined 08:02 baest joined 08:43 mj41 joined 08:46 alin joined 08:58 Hunger joined 09:42 lucian joined 09:59 contingencyplan joined 10:23 PacoAir joined 10:25 lucian joined
dalek kudo/nom: 2046b9d | (Kris Shannon)++ | src/Perl6/Grammar.pm:
No unspace or backslashes allowed during interpolation
10:49
kudo/nom: da49502 | (Kris Shannon)++ | src/core/Parameter.pm:
Visually optimize Paramter.perl() for named parameters
kudo/nom: 1c74c72 | moritz++ | src/core/Parameter.pm:
Merge remote branch 'kshannon/signature-printing' into nom
11:15 baest joined 11:18 bacek joined 11:37 kshannon joined 11:47 alin joined 12:56 bluescreen joined 14:56 awwaiid joined, estrabd joined 15:12 cosimo joined 15:15 cosimo joined
kshannon It'd be nice if parrot --help-debug only showed the flags which actually did stuff... 15:20
PerlJam kshannon: which flags don't do stuff? (If you know that one of them doesn't do anything, surely you can provide a patch that labels it unimplemented or inactive or something) 15:23
15:34 contingencyplan joined
kshannon heh, PARROT_MEM_STAT_DEBUG_FLAG is currently useless, but I'm looking into wiring up the gc_gms_print_stats to it. 15:35
I'm looking into a memory leak in rakudo and was asking parrot for memory stats and getting nothing :( 15:36
PerlJam ah. that would be annoying
16:43 dmalcolm joined 17:58 PacoAir joined 17:59 fperrad joined 18:17 mj41 joined 18:18 contingencyplan joined 19:53 muixirt joined
muixirt hi 19:54
ping *
masak hi muixirt 20:02
muixirt masak: parrot expert? :-) 20:03
masak hardly :)
nopaste "muixirt" at 192.168.1.3 pasted "Two very small winxed code snippets with vast differences in memory consumption (no leak)" (17 lines) at nopaste.snit.ch/106904 20:04
PerlJam This channel is about birds right? ;)
muixirt: the second one eats lots more RAM?
muixirt yes, but it isn't leaking memory 20:05
NotFound The second creates a PMC on each loop iteration, no wonder it uses more memory. 20:06
20:07 lucian joined
PerlJam muixirt: are you sure it doesn't leak? Could it perhaps leak really slowly? 20:07
muixirt NotFound: but it allocates that memory at the beginning, it doesn't eat up memory in the loop, a GC thing
PerlJam muixirt: in any case, run them with --target=mumble and see what they compile to
muixirt a GC thing?
benabik It's creating a new Integer object on every iteration of the loop. Memory size will grow based on the number of iterations that run before GC triggers. 20:08
It _should_ grow to a given size and then hold there. And it should be much larger than the first.
muixirt PerlJam: it only contains an additional ' box $P1, 1'
NotFound muixirt: it probably allocates memory until it reaches a GC threshold. From that point, GC runs will happen frequently.
PerlJam muixirt: that can't be the only differnce. 20:09
muixirt that begs the question how to measure memory consumption better.
benabik GC runs probably won't trigger too frequently. Each GC run should clear away a pile of Integer(1), leaving lots of unused GC space.
NotFound But that won't decreaase OS memory use. 20:10
benabik PerlJam: That should be exactly the difference. Why should there be anything more than just a box op?
NotFound: Right. The OS memory usage should grow to the size needed between GC runs and hold more-or-less stable. 20:11
PerlJam benabik: I was thinking it has to lookup "x" and perform an assignment. But perhaps I'm letting other programming language implementations affect my thinking too much. 20:12
benabik PerlJam: Winxed is more C-like. Variables are registers.
NotFound If you want to optimize real code that behaves like that, use x =: 1 instead of x = 1
PerlJam benabik: ah.
benabik =: ?
NotFound =: assign to an existing PMC, = creates a new one. 20:13
benabik Oh, interesting.
NotFound =: is used to avoid fooling people used to others meanings of := and =
muixirt ok, thanks everybody for the explanations. 20:16
PerlJam still thought "binding" when he saw =: :-)
muixirt Winxed seems to be really good. Why didn't Winxed existed, say , ten years ago :-) the Parrot world might look different today! 20:26
NotFound muixirt: send me a fluzo condenser and I'll fix it. 20:27
muixirt :-) 20:28
will Winxed change in incompatible ways in the foreseeable future? 20:30
NotFound muixirt: I try to avoid incompatible changes as much as possible. 20:31
20:38 bacek joined, lucian joined
muixirt winxed.org is down, any other docs for Winxed other than whiteknights docs? 20:43
NotFound muixirt: no, doc is the weakes part. 20:45
21:02 snearch joined 21:09 snearch joined 21:10 snearch joined 21:11 alvis joined 22:03 donaldh joined 22:07 silug joined
muixirt NotFound: winxed -e 'var i; i =: 1' leads to 'Null PMC access in set_integer_native()' 22:09
NotFound muixirt: you need to initialize it one time before assigning to it. 22:10
benabik var i = 0; i =: 1 22:11
muixirt Ok
NotFound If not, it's null, and you get the Null PMC access.
22:34 pjcj joined 23:06 schmooster joined
muixirt will the pbc format ever get stable and version/platform independent? 23:21
kshannon Re: 5b125a1 | NotFound++ | src/extend.c: | fix bug in Parrot_ext_try reported by kshannon++ 23:46
Should Parrot_ext_try also be popping runloops? 23:47
I needed to do that in nqp.git for a c exception handler (b9c26a) 23:48
If Parroy_ext_try also peeled runloops, I could have used it. 23:49
23:53 whiteknight joined
NotFound The C handler doesn't already pop it? I've not looked at it since long time. 23:54