Duh! Thanks. Must be time for bed!!!
On Wed, May 8, 2013 at 12:29 AM, Raul Miller <[email protected]> wrote: > multiplying milliseconds by 1000 would give microseconds. > > also, the original post says "in milsec" > > FYI, > > -- > Raul > > On Tue, May 7, 2013 at 8:15 AM, Ric Sherlock <[email protected]> wrote: > > Your timeit verb is defined as 1000 times the result of 6!:2 > > > > Could it be that you are expecting the result of 6!:2 to be milliseconds, > > when it is actually already reporting seconds? > > > > On Tue, May 7, 2013 at 12:00 PM, elton wang <[email protected]> wrote: > > > >> Julia is a new number crunching language that claims to have near c > speed. > >> On their homepage there is a set of benchmark to compare Julia with > >> matlab/python/R etc. I made a try to add J into the table.Please see > table > >> below for my results. All programs runs on a windows 64 bit machine. My > >> script enclosed at the end of this message. Welcome to improve it > since I > >> dont have any practical experience on J other than toy exercises. > >> > >> Please see http://julialang.org/ for the offical Julia benchmarks, and > >> links therein for source codes of other languages. (like > >> https://github.com/JuliaLang/julia/blob/master/test/perf/perf.m for the > >> matlab code.) > >> > >> > >> > >> note that in the random matrix multiply test, J lags behind all other > >> peers. The code I use is > >> > >> rand_nn =. 0 ?@$~ 2 # ] > >> mp =. +/ . * > >> randmatmul =. rand_nn mp rand_nn > >> 1000 * 6!:2 'randmatmul 1000' > >> > >> I suspect that other languages use some library like BLAS for matrix > >> rather than raw calculation. Is there a way to speed up code above? > >> > >> results: > >> in milsec Julia Matlab2013a R3.0.0 Python3.3+numpy(MKL) J801 > >> >fib <1 123 60 4 11 > >> >parse_int <1 163 10 5 7 > >> >mandel <1 13 230 8 47 > >> >quicksort <1 45 30 23 11 > >> >pi_sum 30 48 810 1192 64 > >> >rand_mat_stat 20 60 150 261 65 > >> >rand_mat_mul 210 216 880 90 1768 > >> > > >> > > >> > > >> >benchmark code: > >> > > >> >timeit =. 1000 * 6!:2 > >> > > >> >> > >> >NB. double recursive fib. > >> >fib =. (-&2 +&$: -&1) ^: (1&<) > >> > > >> >> > >> >timeit 'fib 20' > >> > > >> >> > >> >NB. parse int > >> >parsintPerf =. 3 : 0 > >> >for. i.y do. > >> >a =. ?<:2^32x > >> >s =. ":a > >> >b =. ".s > >> >assert b = a > >> >end. > >> >) > >> > > >> >> > >> >timeit 'parsintPerf 1000' > >> > > >> >> > >> >NB. mandel > >> >mandel =. 3 : 0 > >> >c =. y > >> >m =. 0 > >> >for_n. i.80 do. > >> >if. 2 <|y do. m =.n break. end. > >> >y =. c + *:y > >> >m =. n > >> >end. > >> >) > >> > > >> >> > >> >assert 14628 = +/+/ mandel"0 (_2 + 0.1*i.26) j./ (_1 + 0.1*i.21) > >> >timeit '+/+/ mandel"0 (_2 + 0.1*i.26) j./ (_1 + 0.1*i.21)' > >> > > >> >> > >> >NB. quicksort > >> >quicksort=: (($:@(<#[) , (=#[) , $:@(>#[)) ({~ ?@#)) ^: (1<#) > >> >timeit 'quicksort ? 5000 $ 0' > >> > > >> >> > >> >NB. pi sum > >> >pisum =. 3 : 'for. i.500 do. +/ %*:>:i.y end.' > >> >assert '1e_12 > | _1.644834071848065 + pisum 10000' > >> >timeit 'pisum 10000' > >> > > >> >> > >> >NB. random matrix multiply. > >> >rand_nn =. 0 ?@$~ 2 # ] > >> >mp =. +/ . * > >> >randmatmul =. rand_nn mp rand_nn > >> >timeit 'randmatmul 1000' > >> > > >> >> > >> >NB. rand mat stats/ > >> >load 'stats/base' > >> >randn_nn =. [: normalrand 2 # ] > >> >trace =. [: +/ (<0 1)&|: > >> >randstats =. 3 : 0 > >> >n =.5 > >> >v =. 0 > >> >w =. 0 > >> >for. i.y do. > >> >a =. randn_nn n > >> >b =. randn_nn n > >> >c =. randn_nn n > >> >d =. randn_nn n > >> >P =. a,.b,.c,.d > >> >Q =. (a,.b),c,.d > >> >PP =. P mp |:P > >> >QQ =. Q mp |:Q > >> >v =.v, trace PP mp PP mp PP mp PP > >> >w =. w, trace QQ mp QQ mp QQ mp QQ > >> >end. > >> >((stddev % mean) v), ((stddev % mean) w) > >> >) > >> > > >> >> > >> >timeit 'randstats 1000' > >> > > >> > > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > >> > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
