FYI - 8s on my MacBookPro 13"

Regards Rob


Sent from my iPhone

> On 15 Jan 2014, at 7:12 pm, Ben Gorte - CITG <b.g.h.go...@tudelft.nl> wrote:
> 
> Thanks, this is great. After recompiling libj with -O3 my computer does Fibo 
> 1000000 in 13.6s instead of 41.3. Also Haralick became a bit quicker, 75s now.
> 
> But shouldn't it be like this in the binary downloads as well?
> 
> Regards,
> Ben
> 
> ________________________________________
> From: programming-boun...@forums.jsoftware.com 
> [programming-boun...@forums.jsoftware.com] on behalf of bill lam 
> [bbill....@gmail.com]
> Sent: Wednesday, January 15, 2014 04:10
> To: programm...@jsoftware.com
> Subject: Re: [Jprogramming] On benchmarking results from J programming styles
> 
> I get similar result for Fibo that linux needed about 41s and this is
> strange.  I then recompiled the libj.so using gcc 4.8 -O3 switch,
> and it droped to 14s, a little bit faster than wine's 17s.
> 
> I guess it depends on compiler and optimization level.
> 
> Вт, 14 янв 2014, Ben Gorte - CITG писал(а):
>> With pleasure. Here are two examples. The first is from my work (image 
>> analysis). It computes the good old Haralick texture on a 5000x5000 aerial 
>> image. The adverb Filter uses ;. to activate TextSub at every 25th pixel (1M 
>> times).
>> 
>> ~$ ~/j701/bin/jconsole
>>   load '/home/ben/j701-user/temp/pgm.ijs'
>> 
>>   CM =. 4 : '((# /.)~ y) (<"1 ~.y) } (x,x)$0'"0 2
>>   Norm =: 3 : 'y%+/,y'
>>   Contrast=: 3 : '+/, y * *:(<:#y)%~-/~i.#y'"2
>>   Con =: 3 : 'Contrast Norm (+|:) y'"2             NB. for non-normalized 
>> non-symmetrical cm
>> 
>>   TextSub =: 4 : 0                NB. texture in a sub-image
>> co =. |:,.(_1&}."1 ,: 1&}."1) y
>> cm =. x CM co
>> Con cm
>> )
>> 
>>   im =: <.(%16) * pgmread '/home/ben/data/Danbi/redsub.pgm'
>> NB. Filter applies 12&F to 7x7 subimages of <.im%16, at every 5th line and 
>> column.
>>   6!:2 'conperpix =. <.1000*12 TextSub Filter (5 5,:7 7) <.im%16'
>> 87.5534
>> 
>> ~$ wine /media/Windows/Documents\ and\ Settings/bgorte/j701/bin/jconsole.exe
>> ....
>>   6!:2 'conperpix =. <.1000*12 TextSub Filter (5 5,:7 7) <.im%16'
>> 67.088
>> 
>> It's a 30% speed difference.
>> 
>> Here's a more drastic example. I guess it spends most of its time doing 
>> extended precision things. The Fibo routine is activated recursively just 20 
>> times or so. The result has over 200000 digits.
>> 
>> ~$ ~/j701/bin/jconsole
>>   Fibo =: 3 : 0"0    NB. Compute large Fibonacci numbers like Fibo 1000000
>> if. y<5 do.              NB. returns (F y-1),F y
>>   ((,~<:)y){0 1 1 2 3x
>> elseif. 0=2|y do.
>>   'b c'=.Fibo -:y
>>   a=.c-b
>>   d=.c+b
>>   p=.b*a+c
>>   q=.c*b+d
>>   (q-p),q
>> elseif. do.
>>   'b c'=.Fibo -:>:y
>>   a=.c-b
>>   d=.c+b
>>   p=.b*a+c
>>   q=.c*b+d
>>   p,q-p
>> end.
>> )
>>      6!:2 'z=.{:Fibo 1000000'
>> 41.3298
>> 
>> 
>> ~$ wine /media/Windows/Documents\ and\ Settings/bgorte/j701/bin/jconsole.exe
>> ....
>>       6!:2 'z=.{:Fibo 1000000'
>> 15.5417
>> 
>> #":z           NB.
>> 208988
>> 
>> ________________________________________
>> From: programming-boun...@forums.jsoftware.com 
>> [programming-boun...@forums.jsoftware.com] on behalf of Michael Dykman 
>> [mdyk...@gmail.com]
>> Sent: Tuesday, January 14, 2014 17:02
>> To: J Programming
>> Subject: Re: [Jprogramming] On benchmarking results from J programming styles
>> 
>> As the timings that you are reporting are very tiny values, we should
>> pause for a moment and consider a basic difference between those OSs.
>> Under windows, the finest-grained application timer available tick
>> 18/s; on linux that number is 1024/s. I suggest that you try some
>> longer-running verbs if you expect a fair comparison.
>> 
>> On Tue, Jan 14, 2014 at 6:11 AM, Ben Gorte - CITG
>> <b.g.h.go...@tudelft.nl> wrote:
>>> Speaking about J, performance and Linux, is it true that Windows is 
>>> significantly faster? Or is there something wrong with my installation? 
>>> Also when runnning windows J under wine on my linux PC I get a better 
>>> performance than with native linux J:
>>> 
>>> NB. Native Linux
>>>   JVERSION
>>> Engine: j701/2011-01-10/11:25
>>> Library: 7.01.087
>>> Platform: Linux 32
>>> Installer: j701a_linux32.sh
>>> InstallPath: /home/ben/j701
>>>   time'locs=:nudge"1 locs'
>>> 1.43086e_5
>>>   time'locs=:pfn"1 locs'
>>> 7.41384e_6
>>>   time'locs=:(pfn f.)"1 locs'
>>> 3.77003e_6
>>>   time'locs=:pfns"1 locs'
>>> 3.7135e_5
>>> 
>>> NB. wine + Windows J
>>> JVERSION
>>> Engine: j701/2011-01-10/11:25
>>> Library: 7.01.040
>>> Platform: Win 32
>>> Installer: j701a_win.exe
>>> InstallPath: z:/media/windows/documents and settings/bgorte/j701
>>>   time'locs=:nudge"1 locs'
>>> 1.09025e_5
>>>   time'locs=:pfn"1 locs'
>>> 5.56416e_6
>>>   time'locs=:(pfn f.)"1 locs'
>>> 2.88706e_6
>>>   time'locs=:pfns"1 locs'
>>> 2.77585e_5
>>> 
>>> Regards,
>>> Ben
>>> ________________________________________
>>> From: programming-boun...@forums.jsoftware.com 
>>> [programming-boun...@forums.jsoftware.com] on behalf of Raul Miller 
>>> [rauldmil...@gmail.com]
>>> Sent: Monday, January 13, 2014 06:44
>>> To: Programming forum
>>> Subject: Re: [Jprogramming] On benchmarking results from J programming 
>>> styles
>>> 
>>> That sounds about right.
>>> 
>>> The big caution I would place on interpreting these results is: "This
>>> won't necessarily apply for games implemented in J for Linux, where I
>>> intend to rely on the SDL and byte-per-pixel graphics layouts.
>>> Nonetheless, I retain the logic here, since it's representative of a
>>> real-world design decision which directly influences performance on
>>> the slower Kestrel architecture."
>>> 
>>> If J is to perform well when applied in suboptimal fashion we'll need
>>> some way of representing the code which strips out a lot of the
>>> functionality (type checks, size checks, rank handling, maybe even
>>> overflow handling?), at least for the time-critical routines. (As much
>>> as possible, hoisting redundant operations out of primitives used in
>>> bottleneck loops.)
>>> 
>>> Thanks,
>>> 
>>> --
>>> Raul
>>> 
>>> 
>>> On Sun, Jan 12, 2014 at 11:59 PM, William Tanksley, Jr
>>> <wtanksle...@gmail.com> wrote:
>>>> A friend of mine wrote the following paper describing his attempt to
>>>> characterize the differences between a few different styles of
>>>> implementing the same code in J a few different ways -- explicit,
>>>> implicit, and a few variations. He also baselined against a Forth
>>>> implementation.
>>>> 
>>>> I found his writeup very interesting. What do you think?
>>>> 
>>>> http://sam-falvo.github.io/2014/01/05/subroutine-performance-in-j/
>>>> 
>>>> -Wm
>>>> ----------------------------------------------------------------------
>>>> 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
>> 
>> 
>> 
>> --
>> - michael dykman
>> - mdyk...@gmail.com
>> 
>> May the Source be with you.
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> --
> regards,
> ====================================================
> GPG key 1024D/4434BAB3 2008-08-24
> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3
> ----------------------------------------------------------------------
> 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

Reply via email to