Parrot 4.1.0 "Black-headed Parrot" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 28 February 2012.
00:06 contingencyplan joined 00:13 contingencyplan joined 00:16 contingencyplan joined 00:17 jsut joined
dalek rrot/remove_sub_flags: 98d1232 | Whiteknight++ | / (2 files):
Remove automagic fallback behavior where alternate file extensions are tested if the requested one did not exist
00:19
00:21 contingencyplan joined 00:24 jsut_ joined 00:30 contingencyplan joined
whiteknight if I can fix one test failure every day or so, I think this branch will be complete in.....4 years, 3 months, 31 days 00:49
dalek rrot/remove_sub_flags: c7af11c | Whiteknight++ | t/compilers/imcc/syn/file.t:
Fix t/compilers/imcc/syn/file.t by using load_bytecode_p_s and ripping out tests specifically for using load_bytecode to load .pir files
01:00
whiteknight luben++ 01:02
01:41 bacek_at_work joined
bacek_at_work aloha, humans 01:41
01:44 luben joined
luben ~ 01:44
bacek_at_work luben, aloha. Nice benchmarks!
luben bacek, I have sent a replay: basicly we have a choice to make if we want to store FLOATVALS directrly in hashtables 01:45
1. use float as FLOATVAL on 32bit platforms 01:46
2. make value in hashtables bigger on 32 bit platforms
if somebody is interesed I could upload the benchmaks to github 01:47
whiteknight luben: yes, very much 01:51
luben ok, I will clean up them a little bit and will upload them on github 01:52
whiteknight luben++ 01:54
I'm out. Goodnight 01:56
02:02 jsut joined
luben ok, here are the scripts: github.com/luben/sparse_bench 02:29
msg whiteknight, here are the scripts: github.com/luben/sparse_bench
aloha OK. I'll deliver the message.
bacek_at_work luben, you've made terrible stuff in C++ version. That's why it's so slow. Just change functions to accept constant references instead of copying objects all the time 03:00
luben aha :) 03:03
my C++ in not good, I admit 03:05
bacek_at_work luben, something like "vector_distance ( const unordered_map<int,float>& a, const unordered_map<int,float>& b )" should work 03:37
and similar to "distances". Try to return const reference as well. 03:38
luben ok, I have some success passing references but not const-ing them 03:59
I will push in a minute 04:00
04:20 preflex_ joined
bacek_at_work luben, "result += i->second * b.find(i->first)->second;" 04:26
luben, to use constant reference
but it shouldn't affect performance anyway 04:27
luben, and do you have benchmark for new C++ version?
luben 9 seconds 04:28
bacek_at_work yes, this looks better :)
luben, which compiler do you use? g++? With -O2 flags? 04:29
you can also try to compile it with -funroll-loops 04:30
it should make it faster (hopefully)
luben gcc-4.6: g++ -std=c++0x -O3 -o vec_in_cpp vec_in.cpp 04:31
"result += i->second * b.find(i->first)->second;" compiles but segfaults :( 04:32
bacek_at_work luben, hmm... 04:34
luben I know :( 04:35
b.find(i->first)->second != 0 for not existing values
bacek_at_work auto j = b.find(i->first); 04:36
result += i->second * ( j == b.end() ? 0 : j->second );
try this
and feel free to use "auto" in quite few other places :)
luben wow, finishing in 3.6 secs 04:38
bacek_at_work yes :)
You almost can't beat C++ in terms of raw performance 04:39
At least not in this test
luben yes, it was my mistake 04:41
a lot of them, bacek++
pushed the result 04:42
04:46 davidfetter joined
bacek_at_work try to run it with redirecting output into /dev/null 04:49
luben, and -march=core2 (if you have Intel Core2+ cpu can help a bit) 04:55
luben yes, it helps a bit 05:00
05:15 eternaleye joined
dalek rrot: 2d2a1a5 | petdance++ | src/alarm.c:
remove redundant declaration
05:28
rrot: d923903 | petdance++ | config/auto/warnings.pm:
strengthening some warnings as errors
05:58 travis-ci joined
travis-ci [travis-ci] parrot/parrot#159 (master - d923903 : Andy Lester): The build was broken. 05:58
[travis-ci] Change view : github.com/parrot/parrot/compare/8......d923903
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/870204
05:58 travis-ci left 06:06 mdupont joined 07:18 johbar_work joined
bacek msg alester you broke the build :) And probably nqp will be broken badly because it uses Parrot's CFLAGS but doesn't fully follow coding standards. 07:19
aloha OK. I'll deliver the message.
jlaire luben: is that haskell benchmark code meant to be serious? 07:27
bacek jlaire, "This are my first programs in some of this languages, so if you find 07:37
some mistakes or ways to make the programs better or if you have
implementation in other language, please send me a pull request.
"
jlaire, just fork repo, do it better and send pull request.
it's basically what I did for C++
jlaire ok
07:57 fperrad joined 08:12 mj41 joined 08:42 lucian joined 09:32 lucian joined 09:43 jevin joined
bacek ~~ 10:06
seen cotto
aloha cotto was last seen in #parrot 12 hours 24 mins ago saying "yes".
bacek oookey
dalek rrot/pcc_reorder: 4646b11 | bacek++ | src/pmc/sub.pmc:
Create new CallContext inside Sub.invoke
11:19
rrot/pcc_reorder: eeaf8b3 | bacek++ | src/pmc/sub.pmc:
Workaround for handling tailcalls in Subs.
rrot/pcc_reorder: b38b9c2 | bacek++ | src/ops/core (2 files):
Break the build horribly. Use current CallContext as "signature"
11:29
11:35 jsut_ joined 11:48 benabik joined
benabik Good morning, #parrot 11:50
tadzik hey benabik 11:55
benabik 'lo tadzik, how are you this $time-of-day?
tadzik oh, moderately. My HDD slowly goes down, and I'm backing up stuff 11:58
benabik Eep.
tadzik I've already ordered an SSD, which kicked my budget in the head a bit
how's your job interview?
benabik I had an HDD failure recently. Fortunately it was part of a RAID array and it rebuilt just fine after swapping in a new drive. 11:59
The interview went alright. Much faster than I expected, which I hope wasn't a bad thing.
12:10 bluescreen joined 12:36 mdupont joined 12:51 mtk joined 13:12 luben_at_work joined
luben_at_work ~~ 13:12
jlaire: it's my first try to write haskell so I am sure there are a lot of terrible things that I have done - though I have some experience writing lisps, haskell way of thinking is quite new to me. If you have suggestions, please fork the repo and send pull request 13:17
benabik Haskell?
luben_at_work hi benabik :)
benabik luben_at_work: Sorry, functional languages catch my attention. 13:18
benabik should probably start hanging out in #haskell
luben_at_work I wrote some simple benchmarks that stress-test hash tables
benabik Oh! Yes, saw that e-mail. Very awesome.
Nice to know we're not slow at something. :-) Although the memory usage is... unfortunate. 13:19
luben_at_work here are some corrected results: github.com/luben/sparse_bench 13:22
and the code
benabik code is good.
luben++ 13:23
luben_at_work bacek++ for finding why C++ was terribly slow 13:24
benabik I had wondered that.
Oh, copying collections around is bad. 13:25
But easy to do by accident, sadly.
luben_at_work yes, that was the bug :)
benabik I cheated and looked that the github history. :-) 13:26
luben_at_work yes, it's all there :) 13:27
benabik "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off." ~~ Stroustrup
luben_at_work haha, it is quite true 13:30
benabik std::move() is probably one of the best features in C++11 13:31
Not that that would have helped that benchmark. But it removes one of the most common places to accidentally copy things.
13:34 myhrlin joined
luben_at_work my C++ is quite rusty so I have a lot of new stuff to catch 13:36
benabik Well C++11 isn't all that widely supported yet. :-/ 13:38
dalek kudo/forbid-our-multi: b4caaa4 | moritz++ | src/ (2 files):
forbid scopes on individual multi candidates
13:41
13:48 nnunley joined
dalek kudo/nom: b4caaa4 | moritz++ | src/ (2 files):
forbid scopes on individual multi candidates
14:04
14:10 bluescreen joined 14:46 luben_at_work joined 14:50 PacoAir joined 15:01 myhrlin joined 15:25 dmalcolm joined 15:45 Psyche^ joined, myhrlin joined 16:16 lateau joined 16:25 lateau joined 16:29 contingencyplan joined
dukeleto ~~ 17:14
17:26 mdupont joined 17:28 johbar_work joined
cotto ~~ 17:55
Coke ~ 18:01
benabik It's a tilde party! 18:02
~~
atrodo ~~
dukeleto ~~waves of tilde~~ 18:04
msg allison it is good to see your wisdom on parrot-dev again 19:08
aloha OK. I'll deliver the message.
tadzik hello 19:11
what's wrong with current GMS?
(re modern GC)
Coke Last I heard, bacek had rewritten the whole thing. I took that kind of negatively. 19:26
msg alester your "how to contribute to os" article got mentioned on a local college list here that tries to encourage contributions. and it wasn't by me! 19:30
aloha OK. I'll deliver the message.
Coke (RPI) 19:31
19:40 mj41 joined 19:52 eternaleye joined 20:09 lucian joined 20:17 Hunger joined 21:18 alester joined 21:35 uvtc joined
uvtc Hi #parrot. The current best-practice approach to implementing a language on Parrot is to use PCT, correct? 21:36
At trac.parrot.org/parrot/wiki/Languages I see that language have taken a number of different approaches. 21:37
PIR, Perl6Grammar, NQP, NQP-rx 21:38
s/language/language implementors/ 21:41
21:56 perlite joined
NotFound uvtc: parrot evolves, and the preferred tool at each point keeps changing. 22:14
msg whitheknight Forgot to tell you, the winxed snapshot is already updated 22:15
aloha OK. I'll deliver the message.
uvtc NotFound, Sorry -- was afk. Guess I shouldn't try IRC at EST dinner/commute time. :) 22:28
NotFound uvtc: No problem, we are from lots of time zones here. 22:29
uvtc NotFound, is a good modern choice to use NQP?
NotFound uvtc: I think so-
uvtc Does Parrot currently have a JIT? 22:30
NotFound There was some recent talk about writing an updated tutorial, but I think it's still not done.
uvtc: no, the old one was killed and a new one is not expected in short time. 22:31
uvtc Cool. Thanks for the info, NotFound.
bacek_at_work ~~ 22:37
22:49 lateau joined 22:52 whiteknight joined
whiteknight good evening, #parrot 23:01
23:02 kid51 joined
cotto hio whiteknight 23:08
whiteknight Hey cotto 23:15
23:16 dmalcolm joined
dukeleto wazzup 23:51