I agree. I'd like something that looks like FORTRAN translated to J. I've seen a lot of that code on the Forum - where is it when you need it? After looking at the control-structures code, I don't think they have much effect on performance. There might be some gain to be had from a super-fast path for handling (atom op atom).

I will run my timing tests using lint-on-lint and report that to the Programming forum (within the next couple of days). Perhaps this should be a regular part of the release process - I am not signing up to do that.

Since parser and bpctlz, I have been working on bug fixes rather than performance. I think the new reference-count system, when it is finished, will open the door to many other performance improvements.

I think I have cleared out around half of the open bugs, if you get all my branches merged in.

Henry


On 5/23/2016 5:48 PM, Eric Iverson wrote:
The latest builds at download/jengine now include parser and bctlz. Use the process implemented in the script jengine.ijs at that page to install the beta-3 engine (or do in manually).

I think your timing results would be of interest to the group. And any other timings of pet things people would like to do.

Lint is good because it is a real application. But it will change over time and perhaps isn't as good a base line as fixed benchmark scripts in the test suite that are defined to not change. (except perhaps for included comments about past observations).

What I'd like, but am not sure makes sense, is artificial code, that explicitly exercises the JE on scalar data (including control structures). Or better yet, scalar solutions to real problems in areas where J suffers the most.


On Mon, May 23, 2016 at 4:08 PM, Henry Rich <[email protected] <mailto:[email protected]>> wrote:

    As Marshall said, we decided to run lint on the source code for
    lint (2 seconds approx.).  I do it 50 times, then take the average
    of the next 50 times.  The performance is unpredictable enough
    that you need to average over many runs.

    I do not feel well qualified to make this choice officially.  lint
    is just a program I happen to know.  If there are other ideas,
    maybe we should have a suite of parser-heavy applications.  Some
    non-J-like beginner code might be useful at last.

    I don't have a build with bpctlz and parser together, but I expect
    about 10-11% improvement.  Marshall's change, when it comes out,
    will add a further several percent I expect.

    Henry


    On 5/23/2016 2:16 PM, Eric Iverson wrote:

        Your recent JE changes (parser, bpctlz) should be accompanied
        by some test scripts that demonstrate the improvements.

        We need one or more test scripts that are not run as part of
        the test suite, but rather are run by the user to compare
        different releases.

        These scripts should test interpreter-scalar performance, not
        large array performance. Lots of parsing etc and only scalars.

        I would like to run a script on the latest JE and then run it
        on 804 and have something concrete to say about the new release.

        Volunteers?




----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to