|
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 | |