Camelia, the Perl 6 bug

IRC log for #parrot, 2012-03-15

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:06 contingencyplan joined #parrot
00:13 contingencyplan joined #parrot
00:16 contingencyplan joined #parrot
00:17 jsut joined #parrot
00:19 dalek parrot/remove_sub_flags: 98d1232 | Whiteknight++ | / (2 files):
00:19 dalek parrot/remove_sub_flags: Remove automagic fallback behavior where alternate file extensions are tested if the requested one did not exist
00:19 dalek parrot/remove_sub_flags: review: https://github.com/parrot/parrot/commit/98d1232ecf
00:21 contingencyplan joined #parrot
00:24 jsut_ joined #parrot
00:30 contingencyplan joined #parrot
00:49 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
01:00 dalek parrot/remove_sub_flags: c7af11c | Whiteknight++ | t/compilers/imcc/syn/file.t:
01:00 dalek parrot/remove_sub_flags: 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 dalek parrot/remove_sub_flags: review: https://github.com/parrot/parrot/commit/c7af11c0ff
01:02 whiteknight luben++
01:41 bacek_at_work joined #parrot
01:41 bacek_at_work aloha, humans
01:44 luben joined #parrot
01:44 luben ~
01:44 bacek_at_work luben, aloha. Nice benchmarks!
01:45 luben bacek, I have sent a replay: basicly we have a choice to make if we want to store FLOATVALS directrly in hashtables
01:46 luben 1. use float as FLOATVAL on 32bit platforms
01:46 luben 2. make value in hashtables bigger on 32 bit platforms
01:47 luben if somebody is interesed I could upload the benchmaks to github
01:51 whiteknight luben: yes, very much
01:52 luben ok, I will clean up them a little bit and will upload them on github
01:54 whiteknight luben++
01:56 whiteknight I'm out. Goodnight
02:02 jsut joined #parrot
02:29 luben ok, here are the scripts: https://github.com/luben/sparse_bench
02:29 luben msg whiteknight, here are the scripts: https://github.com/luben/sparse_bench
02:29 aloha OK. I'll deliver the message.
03:00 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:03 luben aha :)
03:05 luben my C++ in not good, I admit
03:37 bacek_at_work luben, something like "vector_distance ( const unordered_map<int,float>& a, const unordered_map<int,float>& b )" should work
03:38 bacek_at_work and similar to "distances". Try to return const reference as well.
03:59 luben ok, I have some success passing references but not const-ing them
04:00 luben I will push in a minute
04:20 preflex_ joined #parrot
04:26 bacek_at_work luben, "result += i->second * b.find(i->first)->second;"
04:26 bacek_at_work luben, to use constant reference
04:27 bacek_at_work but it shouldn't affect performance anyway
04:27 bacek_at_work luben, and do you have benchmark for new C++ version?
04:28 luben 9 seconds
04:28 bacek_at_work yes, this looks better :)
04:29 bacek_at_work luben, which compiler do you use? g++? With -O2 flags?
04:30 bacek_at_work you can also try to compile it with -funroll-loops
04:30 bacek_at_work it should make it faster (hopefully)
04:31 luben gcc-4.6: g++ -std=c++0x -O3 -o vec_in_cpp vec_in.cpp
04:32 luben "result += i->second * b.find(i->first)->second;" compiles but segfaults :(
04:34 bacek_at_work luben, hmm...
04:35 luben I know :(
04:35 luben b.find(i->first)->second != 0 for not existing values
04:36 bacek_at_work auto j = b.find(i->first);
04:36 bacek_at_work result += i->second * ( j == b.end() ? 0 : j->second );
04:36 bacek_at_work try this
04:36 bacek_at_work and feel free to use "auto" in quite few other places :)
04:38 luben wow, finishing in 3.6 secs
04:38 bacek_at_work yes :)
04:39 bacek_at_work You almost can't beat C++ in terms of raw performance
04:39 bacek_at_work At least not in this test
04:41 luben yes, it was my mistake
04:41 luben a lot of them, bacek++
04:42 luben pushed the result
04:46 davidfetter joined #parrot
04:49 bacek_at_work try to run it with redirecting output into /dev/null
04:55 bacek_at_work luben, and -march=core2 (if you have Intel Core2+ cpu can help a bit)
05:00 luben yes, it helps a bit
05:15 eternaleye joined #parrot
05:28 dalek parrot: 2d2a1a5 | petdance++ | src/alarm.c:
05:28 dalek parrot: remove redundant declaration
05:28 dalek parrot: review: https://github.com/parrot/parrot/commit/2d2a1a51bd
05:28 dalek parrot: d923903 | petdance++ | config/auto/warnings.pm:
05:28 dalek parrot: strengthening some warnings as errors
05:28 dalek parrot: review: https://github.com/parrot/parrot/commit/d923903bdf
05:58 travis-ci joined #parrot
05:58 travis-ci [travis-ci] parrot/parrot#159 (master - d923903 : Andy Lester): The build was broken.
05:58 travis-ci [travis-ci] Change view : https://github.com/parrot/par​rot/compare/86bb3b3...d923903
05:58 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/870204
05:58 travis-ci left #parrot
06:06 mdupont joined #parrot
07:18 johbar_work joined #parrot
07:19 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.
07:27 jlaire luben: is that haskell benchmark code meant to be serious?
07:37 bacek jlaire, "This are my first programs in some of this languages, so if you find
07:37 bacek some mistakes or ways to make the programs better or if you have
07:37 bacek implementation in other language, please send me a pull request.
07:37 bacek "
07:37 bacek jlaire, just fork repo, do it better and send pull request.
07:37 bacek it's basically what I did for C++
07:37 jlaire ok
07:57 fperrad joined #parrot
08:12 mj41 joined #parrot
08:42 lucian joined #parrot
09:32 lucian joined #parrot
09:43 jevin joined #parrot
10:06 bacek ~~
10:06 bacek seen cotto
10:06 aloha cotto was last seen in #parrot 12 hours 24 mins ago saying "yes".
10:06 bacek oookey
11:19 dalek parrot/pcc_reorder: 4646b11 | bacek++ | src/pmc/sub.pmc:
11:19 dalek parrot/pcc_reorder: Create new CallContext inside Sub.invoke
11:19 dalek parrot/pcc_reorder: review: https://github.com/parrot/parrot/commit/4646b11af0
11:19 dalek parrot/pcc_reorder: eeaf8b3 | bacek++ | src/pmc/sub.pmc:
11:19 dalek parrot/pcc_reorder: Workaround for handling tailcalls in Subs.
11:19 dalek parrot/pcc_reorder: review: https://github.com/parrot/parrot/commit/eeaf8b3343
11:29 dalek parrot/pcc_reorder: b38b9c2 | bacek++ | src/ops/core (2 files):
11:29 dalek parrot/pcc_reorder: Break the build horribly. Use current CallContext as "signature"
11:29 dalek parrot/pcc_reorder: review: https://github.com/parrot/parrot/commit/b38b9c23dc
11:35 jsut_ joined #parrot
11:48 benabik joined #parrot
11:50 benabik Good morning, #parrot
11:55 tadzik hey benabik
11:55 benabik 'lo tadzik, how are you this $time-of-day?
11:58 tadzik oh, moderately. My HDD slowly goes down, and I'm backing up stuff
11:58 benabik Eep.
11:58 tadzik I've already ordered an SSD, which kicked my budget in the head a bit
11:58 tadzik how's your job interview?
11:59 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 benabik The interview went alright.  Much faster than I expected, which I hope wasn't a bad thing.
12:10 bluescreen joined #parrot
12:36 mdupont joined #parrot
12:51 mtk joined #parrot
13:12 luben_at_work joined #parrot
13:12 luben_at_work ~~
13:17 luben_at_work 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?
13:17 luben_at_work hi benabik :)
13:18 benabik luben_at_work: Sorry, functional languages catch my attention.
13:18 * benabik should probably start hanging out in #haskell
13:18 luben_at_work I wrote some simple benchmarks that stress-test hash tables
13:18 benabik Oh!  Yes, saw that e-mail.  Very awesome.
13:19 benabik Nice to know we're not slow at something.  :-)  Although the memory usage is... unfortunate.
13:22 luben_at_work here are some corrected results: https://github.com/luben/sparse_bench
13:22 luben_at_work and the code
13:22 benabik code is good.
13:23 benabik luben++
13:24 luben_at_work bacek++ for finding why C++ was terribly slow
13:24 benabik I had wondered that.
13:25 benabik Oh, copying collections around is bad.
13:25 benabik But easy to do by accident, sadly.
13:25 luben_at_work yes, that was the bug :)
13:26 benabik I cheated and looked that the github history.  :-)
13:27 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
13:30 luben_at_work haha, it is quite true
13:31 benabik std::move() is probably one of the best features in C++11
13:31 benabik 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 #parrot
13:36 luben_at_work my C++ is quite rusty so I have a lot of new stuff to catch
13:38 benabik Well C++11 isn't all that widely supported yet.  :-/
13:41 dalek rakudo/forbid-our-multi: b4caaa4 | moritz++ | src/ (2 files):
13:41 dalek rakudo/forbid-our-multi: forbid scopes on individual multi candidates
13:41 dalek rakudo/forbid-our-multi: review: https://github.com/rakudo/rakudo/commit/b4caaa41fe
13:48 nnunley joined #parrot
14:04 dalek rakudo/nom: b4caaa4 | moritz++ | src/ (2 files):
14:04 dalek rakudo/nom: forbid scopes on individual multi candidates
14:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b4caaa41fe
14:10 bluescreen joined #parrot
14:46 luben_at_work joined #parrot
14:50 PacoAir joined #parrot
15:01 myhrlin joined #parrot
15:25 dmalcolm joined #parrot
15:45 Psyche^ joined #parrot
15:45 myhrlin joined #parrot
16:16 lateau joined #parrot
16:25 lateau joined #parrot
16:29 contingencyplan joined #parrot
17:14 dukeleto ~~
17:26 mdupont joined #parrot
17:28 johbar_work joined #parrot
17:55 cotto ~~
18:01 Coke ~
18:02 benabik It's a tilde party!
18:02 benabik ~~
18:02 atrodo ~~
18:04 dukeleto ~~waves of tilde~~
19:08 dukeleto msg allison it is good to see your wisdom on parrot-dev again
19:08 aloha OK. I'll deliver the message.
19:11 tadzik hello
19:11 tadzik what's wrong with current GMS?
19:11 tadzik (re modern GC)
19:26 Coke Last I heard, bacek had rewritten the whole thing. I took that kind of negatively.
19:30 Coke 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.
19:31 Coke (RPI)
19:40 mj41 joined #parrot
19:52 eternaleye joined #parrot
20:09 lucian joined #parrot
20:17 Hunger joined #parrot
21:18 alester joined #parrot
21:35 uvtc joined #parrot
21:36 uvtc Hi #parrot. The current best-practice approach to implementing a language on Parrot is to use PCT, correct?
21:37 uvtc At http://trac.parrot.org/parrot/wiki/Languages I see that language have taken a number of different approaches.
21:38 uvtc PIR, Perl6Grammar, NQP, NQP-rx
21:41 uvtc s/language/language implementors/
21:56 perlite joined #parrot
22:14 NotFound uvtc: parrot evolves, and the preferred tool at each point keeps changing.
22:15 NotFound msg whitheknight Forgot to tell you, the winxed snapshot is already updated
22:15 aloha OK. I'll deliver the message.
22:28 uvtc NotFound, Sorry -- was afk. Guess I shouldn't try IRC at EST dinner/commute time. :)
22:29 NotFound uvtc: No problem, we are from lots of time zones here.
22:29 uvtc NotFound, is a good modern choice to use NQP?
22:29 NotFound uvtc: I think so-
22:30 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.
22:31 NotFound 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.
22:37 bacek_at_work ~~
22:49 lateau joined #parrot
22:52 whiteknight joined #parrot
23:01 whiteknight good evening, #parrot
23:02 kid51 joined #parrot
23:08 cotto hio whiteknight
23:15 whiteknight Hey cotto
23:16 dmalcolm joined #parrot
23:51 dukeleto wazzup

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced