00:09 (quit) jonrafkind: Ping timeout: 255 seconds 00:11 (join) jonrafkind 00:19 (quit) jonrafkind: Ping timeout: 245 seconds 00:26 (join) jonrafkind 00:44 (quit) jonrafkind: Ping timeout: 256 seconds 00:57 (join) jonrafkind 01:29 (quit) jao: Ping timeout: 245 seconds 01:31 (quit) yoklov: Quit: Leaving. 01:38 (quit) dmac: Ping timeout: 260 seconds 01:39 (join) jao 03:06 (quit) jonrafkind: Ping timeout: 245 seconds 04:04 (quit) jao: Ping timeout: 260 seconds 04:45 (join) MayDaniel 05:09 (quit) MayDaniel: Read error: Connection reset by peer 05:10 (join) realitygrill_ 05:11 (quit) realitygrill: Ping timeout: 245 seconds 05:11 (nick) realitygrill_ -> realitygrill 05:12 (join) MayDaniel 05:14 (join) Blkt 05:16 Blkt: good day eveyone 05:17 (quit) MayDaniel: Read error: Connection reset by peer 05:17 ohwow: hi 05:44 (join) Blkt` 05:46 (quit) Blkt: Ping timeout: 248 seconds 06:12 (join) neilv 06:20 (quit) neilv: Quit: Leaving 06:20 (join) masm 07:24 (quit) Blkt`: Ping timeout: 276 seconds 08:11 (join) mceier 08:49 (join) bluezenix 08:55 (join) yoklov 09:30 (quit) yoklov: Quit: Leaving. 09:37 (join) Lajla 10:04 (quit) bluezenix: Quit: Leaving. 10:25 (join) yoklov 10:34 (join) Blkt 11:29 (join) MayDaniel 11:31 (quit) MayDaniel: Read error: Connection reset by peer 11:40 (quit) yoklov: Quit: Leaving. 11:48 (join) bmp 11:49 (quit) bmp: Client Quit 12:02 (join) jonrafkind 12:31 (quit) jonrafkind: Ping timeout: 245 seconds 12:35 (join) anRch 12:36 (join) dmac 12:38 (join) jonrafkind 12:45 (quit) anRch: Quit: anRch 12:50 (join) anRch 12:52 (quit) anRch: Client Quit 12:56 (quit) mceier: Ping timeout: 260 seconds 12:57 (quit) chemuduguntar: Remote host closed the connection 12:57 (join) mceier 13:05 (join) anRch 13:07 (quit) dmac: Ping timeout: 276 seconds 13:10 (quit) jonrafkind: Ping timeout: 256 seconds 13:13 (join) dnolen 13:17 (quit) anRch: Quit: anRch 13:20 (join) jonrafkind 13:37 (join) yoklov 14:15 (join) jao 14:17 yoklov: if i'm already using flonums, is there anything i can do to improve the performance of math-intensive code? 14:17 yoklov: assuming the computation can't be like memoized 14:21 jonrafkind: use typed/racket 14:21 yoklov: yeah i had considered that, is it still able to work with things like racket/gui? 14:22 jonrafkind: well im not sure.. 14:22 (quit) dnolen: Quit: dnolen 14:22 bremner: I guess if you split things into modules appropriately, it should be ok 14:22 bremner: emphasis on guess 14:22 yoklov: yeah 14:23 jonrafkind: how much faster do you need things to go? 14:23 jonrafkind: maybe its time to write stuff in C? 14:24 yoklov: haha, i mean its possible 14:24 yoklov: i'm implementing a (basic) 3d rendering engine myself doing pixel operations, and the framerate is about 20fps right now 14:24 yoklov: it was 3 to start out with though 14:25 yoklov: i could get better performance if i used draw-polygon, but i've done that before. 14:26 yoklov: and the point of it is that i'm not doing it in C or a faster language, because i've seen impressive results with racket before, but how they're achieved seems totally mysterious to me. 14:28 (quit) Blkt: Ping timeout: 256 seconds 14:29 (quit) jao: Ping timeout: 245 seconds 14:33 yoklov: but yeah i'm already rendering to a bytestring before drawing it so i could just do that in typed racket and see if that helps at all 14:37 (join) jao 14:43 (quit) jonrafkind: Ping timeout: 256 seconds 14:52 (nick) samth_away -> samth 14:53 samth: yoklov: are you using the unsafe operations? 14:55 yoklov: no 14:55 yoklov: but i was about to try them 14:56 (join) jonrafkind 14:56 yoklov: are they significantly unsafe like the reference implies, or are they just like c code unsafe 14:56 samth: those are the same thing, yoklov :) 14:57 samth: if you follow the contracts, they work correctly 14:57 samth: if you don't, your behavior will be unpredictable 14:57 samth: but they will allow you to get significantly faster performance 14:57 samth: jonrafkind: look here: http://shootout.alioth.debian.org/u32/benchmark.php?test=mandelbrot&lang=all 14:57 rudybot: http://tinyurl.com/3zhzebm 14:58 yoklov: yeah, i've seen that before 14:58 yoklov: very impressive 14:58 samth: note that racket #3 (the serial version) is faster than racket #4 (the parallel version) 14:58 samth: i'm mostly just answering jonrafkind's question from thursday 14:58 samth: he wasn't sure if they'd both be up there still 14:58 yoklov: hm, i think the last time i saw the mandelbrot function was a macro. 14:59 samth: it still is 14:59 jonrafkind: shouldnt the cpu secs be much larger than elapsed secs for the parallel version? 14:59 samth: look at `M' 14:59 jonrafkind: they lookt o be the same for all racket versions 14:59 yoklov: i'm looking at the wrong one then 14:59 samth: jonrafkind: that's on the single core machine 14:59 samth: jonrafkind: look here: http://shootout.alioth.debian.org/u32q/benchmark.php?test=mandelbrot&lang=all 14:59 rudybot: http://tinyurl.com/c4qfut 14:59 samth: that's on 4 cores 14:59 yoklov: ah 15:00 yoklov: yeah i didnt realize there were four 15:00 jonrafkind: on the quad core are all the languages parallel? 15:00 jonrafkind: i mean racket is close to ocaml, but is ocaml serial or parallel? 15:01 jonrafkind: oh i guess it is.. oops 15:01 jonrafkind: thats impressive that racket is at the same level as ocaml 15:03 yoklov: yeah 15:03 samth: jonrafkind: if you look at the ocaml impl, you'll see that it forks separate processes 15:03 samth: b/c ocaml doesn't have a parallel runtime 15:03 samth: also, you shouldn't be so surprised that racket is as fast as ocaml 15:04 samth: your advisor is pretty good at this stuff :) 15:04 jonrafkind: i thought it became competitive due to typed/racket optimizations 15:04 jonrafkind: no? 15:05 samth: jonrafkind: typed/racket doesn't do anything you can't do yourself (with a lot of effort) 15:06 jonrafkind: that was not the answer i was looking for 15:06 jonrafkind: is the mandelbrot benchmark using typed/racket with optimizations turned on? 15:06 samth: jonrafkind: racket is competetive w/ ocaml b/c the runtime and compiler and jit compiler are all well implemented 15:06 samth: jonrafkind: no 15:07 samth: currently, using typed racket incurs noticeable startup performance cost 15:07 samth: so using it for benchmarketing isn't a good idea 15:07 samth: the plan is that sub-modules will fix this 15:08 samth: at which point i hope to use TR in some shootout benchmarks 15:08 samth: also, TR can't prove the safety of some of the fixnum and bounds-check optimization being done manually in those programs 15:10 (quit) realitygrill: Ping timeout: 248 seconds 15:10 (join) realitygrill 15:13 (join) bluezenix 15:13 yoklov: well, i guess this is slightly faster 15:13 yoklov: it feels a lot smoother 15:14 yoklov: but my fps counter still says that it's about 2fps faster than it was now that i'm using the unsafe ops 15:14 yoklov: maybe i'm loosing my speed elsewhere 15:24 (quit) yoklov: Quit: Leaving. 15:26 (join) yoklov 15:27 yoklov: weird, switching to unsafe operations offered almost no speed increase on my laptop, but it's around 4x faster on my desktop 15:32 samth: yoklov: presumably the speed on your laptop is dominated by something else 15:32 (quit) mceier: Read error: Operation timed out 15:32 (join) mceier 15:34 yoklov: hm, maybe its that profiling is turned on on my laptop 15:36 samth: yoklov: are you running this under drracket? 15:36 yoklov: yeah, now it's about twice as fast on my laptop as it was 15:36 yoklov: yes 15:36 yoklov: should i not be? 15:36 samth: that's likely to introduce overhead that makes benchmarking less reliable 15:36 yoklov: yeah 15:36 samth: when i want to benchmark something, i just run it in plain racket at the shell 15:37 yoklov: that was far more significant of a performance boost than i expected 15:38 yoklov: 80fps -> 260fps 15:39 yoklov: do you guys still use drracket to edit code? or do you use emacs or something? 15:39 samth: i use drracket all the time 15:39 samth: except when i've broken it :) 15:40 samth: online check-syntax is so nice to have; now i'll definitely never go back to emacs 15:40 yoklov: hm, i wasn't really aware that was a thing 15:40 samth: yoklov: you need the nightly/git versions of drracket 15:40 samth: it'll be in the next release 15:41 yoklov: oh, i have the nightly version on my laptop 15:41 yoklov: because it runs mac and was incredibly buggy for a while 15:48 yoklov: still though, thanks for letting me know that running in racket creates overhead. 15:50 samth: yoklov: one of the interesting things about drracket is that it runs programs in-process 15:51 samth: racket has, over the past 15 years, developed a lot of interesting technology for safely running user programs in-process, whereas other systems (eclipse, chrome, firefox) are moving to running everything out-of-process 15:58 (nick) samth -> samth_away 16:35 (quit) bluezenix: Quit: Leaving. 16:40 (join) dnolen 17:04 (join) poet 17:30 (quit) adzuci: Ping timeout: 255 seconds 17:38 (quit) jao: Ping timeout: 248 seconds 17:43 (quit) dnolen: Quit: dnolen 17:44 (join) dnolen 17:56 (join) chturne 18:13 (quit) realitygrill: Read error: Connection reset by peer 18:15 (join) realitygrill 18:30 (quit) mceier: Quit: leaving 18:34 (join) adzuci 19:21 (join) jao 19:43 (join) neilv 20:10 (quit) neilv: Remote host closed the connection 20:15 (quit) chturne: Ping timeout: 256 seconds 20:25 (join) offby1` 20:26 (join) neilv 20:27 (quit) offby1: Ping timeout: 245 seconds 20:31 (quit) masm: Quit: Leaving. 20:36 (join) _danb_ 20:47 (nick) offby1` -> offby1 21:24 (quit) offby1: Changing host 21:24 (join) offby1 21:39 (quit) jao: Ping timeout: 248 seconds 21:42 (join) ChibaPet 21:47 (quit) ChibaPet: Quit: Leaving. 23:32 (join) chemuduguntar