[Jprogramming] [Jsource] Performance improvement in Jengine - status report

Henry Rich henryhrich at gmail.com
Wed May 25 23:22:59 UTC 2016


It turns out that Tonelli-Shanks is tiny & hard to time accurately & 
Superpermutation is totally dominated by time spent managing large 
strings.  Maze Solving took 0.02 seconds per run, and was about 20% 
faster with the new code in.

I reckon I need to time these things before getting excited about them.  
Anyway, of the choices you gave, only Maze Solving is suitable.

Henry Rich

On 5/25/2016 6:58 PM, Henry Rich wrote:
> Those are good candidates.  My top 3:
>
> http://rosettacode.org/wiki/Maze_solving#J
> http://rosettacode.org/wiki/Tonelli-Shanks_algorithm#J
> http://rosettacode.org/wiki/Superpermutation_minimisation#J
>
> I will look at timing those, and you can look into finding more like 
> them.
>
> Henry Rich
>
>
>
> On 5/25/2016 5:08 PM, Raul Miller wrote:
>> On Wed, May 25, 2016 at 4:34 PM, Henry Rich <henryhrich at gmail.com> 
>> wrote:
>>> We would like a benchmark that uses scalar code heavily.  This is 
>>> the kind
>>> of application that you might say is 'not good for J'. We'd like to 
>>> make J
>>> better on those applications.  If you have some old FORTRAN-style code
>>> written in J, we'd like to see it.
>> A quick look through rosettacode finds some plausible possibilities.
>>
>> Note, however, that these are not necessarily "purely scalar". For
>> example, when indexing a matrix you need to use a boxed pair. This is
>> something that would be "scalar" in fortran, but goes a different
>> route in J. Or maybe we're using a rank operator to represent an inner
>> loop. For example:
>>
>> http://rosettacode.org/wiki/Solve_a_Holy_Knight's_tour#J
>>
>> So, anyways, I do not actually know how many of these are actually in
>> the ballpark of what you need. Some of these might also need to use
>> different data to really exercise the machine. But if you could pick
>> out a "top 3" for me, and maybe identify any obvious data
>> deficiencies, I might be able to see if I can find some more things
>> that seem to fit that pattern:
>>
>> http://rosettacode.org/wiki/Cipolla's_algorithm#J
>> http://rosettacode.org/wiki/Dijkstra's_algorithm#J
>> http://rosettacode.org/wiki/Knight's_tour#J
>> http://rosettacode.org/wiki/Levenshtein_distance#J
>> http://rosettacode.org/wiki/Maze_solving#J
>> http://rosettacode.org/wiki/Self-referential_sequence#J
>> http://rosettacode.org/wiki/Superpermutation_minimisation#J
>> http://rosettacode.org/wiki/Tonelli-Shanks_algorithm#J
>>
>> I hope this helps,
>>
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm



More information about the Programming mailing list