Parrot 3.4.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today
Set by moderator on 17 May 2011.
00:00 kid51 is now known as kid51_at_dinner
dalek sella: 5ca7208 | Whiteknight++ | src/unstable/file/Directory.winxed:
A few fixes so Directory passes a handful of manual tests
00:00
rrot/leto/embed_grant: 70ebe91 | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_(get|set)_attr_str
00:01
rrot/leto/embed_grant: 271d5be | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_instantiate
rrot/leto/embed_grant: dba2c0f | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_i_repeat(_int)
dukeleto msg kid51 do you still have questions about getting access to the gcc compile farm?
aloha OK. I'll deliver the message.
dalek rrot/leto/embed_grant: b735ced | dukeleto++ | t/src/extend_vtable.t:
[t] Parrot_PMC_repeat(_int)
00:09
00:16 dmalcolm left
dukeleto incoming 00:16
dalek Heuristic branch merge: pushed 29 commits to parrot by leto
dukeleto dalek fails to say which branch or give karma 00:17
benabik anticlimatic
dukeleto benabik: indeed
dukeleto sacrifices a virgin floppy disk to the test coverage elder gods
benabik dukeleto++ dukeleto++ # commits skipped by dalek 00:18
benabik isn't going to do all 29, sorry.
sorear rakudo: say " dukeleto{""}++ " x 27;
p6eval rakudo 0d3c71: OUTPUTĀ« dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++ dukeleto++
..dukel…
00:19 theory left
dukeleto sorear: i apprecate it, even though dalek only counts 1 karma per line :) 00:20
cotto ~ 00:26
karma foo 00:29
aloha foo has karma of 5.
cotto foo++ foo++ foo++
karma foo 00:30
aloha foo has karma of 6.
benabik karma bar
aloha bar has karma of 4.
cotto I thought bacek fixed that.
benabik karma baz
aloha baz has karma of 0.
00:32 TonyC left, nopaste left, TonyC joined
soh_cah_toa cotto: have you ever seen the "error: expected specifier-qualifier-list before ā€˜opcode_t’" message from gcc before? 00:38
00:40 nopaste joined
cotto soh_cah_toa, that's a new one 00:40
soh_cah_toa, have you pushed? 00:41
soh_cah_toa cotto: yeah
cotto I see
soh_cah_toa, it'll be tricky for gcc to figure out what opcode_t means before any parrot headers are included. 00:42
benabik cotto: details 00:43
cotto benabik, I know, right?
stupid compilers
soh_cah_toa cotto: i tried it when include include/parrot/parrot.h but then i got a whole new bunch of errors
cotto soh_cah_toa, the right approach may be to include hbdb.h in interpreter.h, similar to debugger.h 00:45
soh_cah_toa cotto: alright, let's see...
cotto: nope 00:47
cotto sadness 00:48
add typedef struct hbdb_breakpoint hbdb_breakpoint; before the struct definition 00:53
soh_cah_toa wtf? 00:56
it works
how does having a hbdb_breakpoint struct and hbdb_breakpoint type fix that? 00:57
cotto tbh, I found a similar-looking problem via ddg 00:58
soh_cah_toa weird... 01:00
cotto the sum of my understanding is that there needs to be a placeholder definition that tells the compiler that hbdb_breakpoint is a struct before it starts parsing hbdb_breakpoint's full definition 01:02
01:28 kid51_at_dinner left
dukeleto got a PL/Perl6 talk accepted to PDXPUGDay wiki.postgresql.org/wiki/PDXPUGDay2011 01:44
02:00 bacek joined
whiteknight soh_cah_toa: the C compiler is a 1-pass compiler. That means you need to have a declaration of things before you use them 02:08
so you need to declare a data structure before you declare a function which uses it
and in some cases, you need to have forward-declarations of each before the "real" declarations, to resolve loops
dalek sella: b8284b7 | Whiteknight++ | src/unstable/file/ (2 files):
walk is a method on Directory. Fix Visitor.List so it works again
02:09
sella: 71653bb | Whiteknight++ | src/unstable/file/ (3 files):
move is_file/is_dir logic into Visitor base class
sella: aad9693 | Whiteknight++ | s (11 files):
rename 'file' library to 'filesystem'
sella: 75e705c | Whiteknight++ | setup.winxed:
Add the new FileSystem.winxed file to the build and fix things so it passes my little adhoc tests again
sella: d64113b | Whiteknight++ | src/unstable/filesystem/FileSystem.winxed:
really really add the file this time
02:13 whiteknight left 02:15 contingencyplan joined 02:17 bacek left 02:59 bubaflub left 03:40 mtk left 03:49 mtk joined 04:23 preflex left 04:25 preflex joined 04:27 soh_cah_toa left 04:32 ShaneC joined 05:00 gbacon left
dukeleto 95.5% coverage of tapir2.ro.vutbr.cz/cover/latest-c_c...ble-c.html ! 06:01
the elder gods were pleased
sorear yay
cotto ~~ 06:15
dukeleto, ping 06:40
06:47 jsut_ joined 06:51 jsut left
cotto msg dukeleto I put some more (and better-formed) questions for tomorrow in the gist. Feel free to fork and add or modify. 06:57
aloha OK. I'll deliver the message.
08:45 mj41 joined 08:47 ShaneC left 10:09 mj41 left 10:13 jsut joined 10:15 gbacon joined 10:17 jsut_ left 10:49 Kulag left 10:51 whiteknight joined 10:58 Kulag joined
whiteknight good morning, #parrot 11:00
tadzik goo morning whiteknight 11:02
or even good!
whiteknight hello tadzik, how is the coding going? 11:04
tadzik whiteknight: fighting my way through PAST
or now it's maybe Perl6 11:05
11:10 dodathome joined 11:12 jsut_ joined 11:15 JimmyZ joined 11:16 jsut left 11:20 ligne left 11:30 mtk left 11:36 mtk joined 11:40 preflex left 11:43 preflex joined 11:59 ambs joined 12:02 lucian joined 12:11 preflex left 12:13 preflex joined 12:23 Kulag left 12:37 Kulag joined 12:40 lucian left 12:47 lucian joined 12:54 contingencyplan left 13:15 ligne joined 13:39 bubaflub joined
dalek sella: 03d1946 | Whiteknight++ | VERSION:
Add filesystem to VERSION
13:54
sella: f00a966 | Whiteknight++ | src/core/IO.winxed:
add sayf and printf functions. They're simple but I end up using them all the time
sella: c0b911a | Whiteknight++ | / (4 files):
Add a deletion visitor to delete directories recursively. Implement Directory.delete with it.
14:24 gbacon left 14:26 hudnix joined 14:28 kid51 joined 14:38 rohit_nsit08 joined 14:58 jsut joined 15:03 jsut_ left 15:21 cotto left 15:50 kid51 left 16:51 JimmyZ left 16:56 rohit_nsit08 left
dukeleto ~~ 17:31
17:41 lucian_ joined, lucian left
whiteknight hello dukeleto 17:48
dukeleto whiteknight: wazzup 18:00
dukeleto is prepping to meet up with cotto++, chromatic++ and allison++ about M0 18:01
sorear YAPC::RU? 18:05
18:06 jsut_ joined
dukeleto sorear: nope, we are all meeting in Porland, OR :) 18:07
tadzik YAPCOR! 18:10
18:10 jsut left 18:14 soh_cah_toa joined
dukeleto tadzik: :) 18:22
sorear how is M0 doing? 18:29
dalek TT #2126 created by dukeleto++: Parrot_PMC_morph acting odd 18:38
TT #2126: trac.parrot.org/parrot/ticket/2126
18:54 ambs left
sorear dukeleto: most of Rakudo's C code is in dynpmcs 18:55
dukeleto: dynpmcs are forced to include <parrot/parrot.h>
19:00 cotto joined
cotto ~~ 19:01
sorear hello cotto. 19:02
cotto hi sorear 19:04
19:16 mtk left 19:25 mtk joined 19:36 kid51 joined 19:41 spinclad left 19:48 contingencyplan joined 19:49 mj41 joined
whiteknight heh, fun new results 19:59
N = 100000 20:00
sort with .sort BUILTIN - 4.757166s - %100.000000 (%0.000000 diff)
sort with Rosella Query - 3.422617s - %71.946559 (%-28.053441 diff)
qsort+insertion sort - 2.789996s - %58.648283 (%-41.351717 diff)
41% less time than the built-in if we use a hybrid insertion sort + quicksort
well, that's for an input array which is in perfect reverse order 20:01
cotto talking with dukeleto, allison and chromatic about m0 20:02
20:02 mtk left
whiteknight cotto++ nice 20:04
N = 100000
sort with .sort BUILTIN - 4.853371s - %100.000000 (%0.000000 diff)
qsort+insertion sort - 2.571077s - %52.975080 (%-47.024920 diff)
that's with the transition value tuned to 14 items
that seems to be the sweet spot
so, 47% better than the current sort routine
I need to test with a random array too 20:08
kid51 Barcelona 3, Man United 1 20:11
lucian_ whiteknight: interesting. this also shows that a nicer language makes experimenting easier 20:17
whiteknight I've got a much larger test coming up soon
N = 100000 20:24
sort with .sort BUILTIN (presorted) - 4.791100s - %100.000000 (%0.000000 diff)
sort with .sort BUILTIN (reversed) - 4.817222s - %100.545221 (%0.545221 diff)
sort with .sort BUILTIN (random) - 7.011140s - %146.336751 (%46.336751 diff)
sort with Rosella Query (reversed) - 3.358541s - %70.099580 (%-29.900420 diff)
sort with Rosella Query (random) - 4.409708s - %92.039573 (%-7.960427 diff)
qsort+insertion sort (reversed) - 2.662546s - %55.572747 (%-44.427253 diff)
qsort+insertion sort (random) - 4.098206s - %85.537889 (%-14.462111 diff)
sorear hmm, did we switch .sort to n/2 pivoting? 20:25
lucian_ again, quite interesting
sorear ISTR that sort(N =100000, presorted) did not finish at all last time I tried
lucian_ the difference is indeed gigangic
i'd heard a handwavy and interesting story from cotto about M0 being a target for a C-like language, without the stack. this sort of results reinforce that 20:26
also, PyPy and JikesRVM
lucian_ should stop blabbering
20:27 lucian_ is now known as lucian 20:28 dafrito joined 20:29 estrabd left 20:30 estrabd joined 20:34 dodathome left 20:52 jsut joined 20:57 jsut_ left 21:10 dafrito left 21:42 dafrito joined 21:45 Psyche^ joined 21:51 Patterner left, Psyche^ is now known as Patterner 21:59 kid51 left 22:02 lucian left
bubaflub dukeleto: ping 22:14
22:16 davidfetter joined
whiteknight I should rearrange those result sets better. What's the most interesting result is the random list on the builtin, and the random list on my hybrid implementation 22:17
7.01s - 4.10s
that's not anything to sneeze at
sorear: the builtin version has always used pivot=N/2. The Rosella version does now too 22:19
bubaflub whiteknight: why is the builtin one so slow? C -> PIR barrier?
whiteknight bubaflub: as best I can tell, yes
sorear: I'm thinking about moving to a median-of-three pivot selection, or a random selection for Rosella 22:20
22:30 mj41 left 22:49 dafrito left
dalek sella: 6589eff | Whiteknight++ | src/ (2 files):
+docs for Rosella.IO
23:21
sella: 11b669b | Whiteknight++ | s (4 files):
Add in a visitor which executes an arbitrary function on all files. Add in a method on Directory to do this easily
sella: 8578b07 | Whiteknight++ | src/unstable/filesystem/ (7 files):
+docs for filesystem
sella: 2707402 | Whiteknight++ | benchmarks/query/sort.winxed:
update the sort benchmark, to show more data sets and more sorting options, including the qsort+isort hybrid which I am exploring
23:27 davidfetter left 23:36 spinclad joined 23:48 contingencyplan left 23:50 Limbic_Region joined
dalek rrot-gmp: aa7c432 | bubaflub++ | gmph2ncidef.pl:
first shot at gmph2ncidef

script to read gmp.h and output nci2def so far parses correctly need to add more type mappings i.e. void -> v
23:56
dukeleto waves from YAPC::OR 23:57
bubaflub dukeleto: unping