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