[comp.sys.mac.apps] Any users of 4D compiler?

nd@doc.ic.ac.uk (N Dulay) (10/04/90)

I would interested to learn whether anyone has used ACI's new 4th Dimension
Compiler on their existing 4th Dimension databases. And if so, how much
improvement they have noticed?


N Dulay
Dept of Computing
Imperial College
180 Queen's Gate
London SW7 2BZ
Tel: +44 71 589 5111 ext 5091

paulr@syma.sussex.ac.uk (Paul T Russell) (10/05/90)

From article <2299@gould.doc.ic.ac.uk>, by nd@doc.ic.ac.uk (N Dulay):
> I would interested to learn whether anyone has used ACI's new 4th Dimension
> Compiler on their existing 4th Dimension databases. And if so, how much
> improvement they have noticed?

The compiler only really speeds up scripts and procedures. If your
database is mostly automatic (ie. using 4D's default behaviour) then
you won't see much improvement. If you spend a lot of time interpreting
long and/or complex procedures then you will get a considerable speed
increase (an order of magnitude or thereabouts). To squeeze the
maximum performance out of the compiled version you need to
declare all your string and integer variables (otherwise they
will default to the (slower) text and real types). This applies
to procedure parameters and function results too. It took me
about a day to get one of my systems 'compiler-ready' and then
a little more time to debug a few minor run-time problems.
The best speed improvement I have seen is x 50 on a particularly
long-winded procedure...

//Paul

-- 
           Paul Russell, Department of Experimental Psychology
         University of Sussex, Falmer, Brighton BN1 9QG, England
     Janet: paulr@uk.ac.sussex.syma  Nsfnet: paulr@syma.sussex.ac.uk
    Bitnet: paulr%sussex.syma@ukacrl.bitnet  Usenet: ...ukc!syma!paulr

bmug@garnet.berkeley.edu (BMUG) (10/05/90)

In article <2299@gould.doc.ic.ac.uk> nd@doc.ic.ac.uk (N Dulay) writes:
>I would interested to learn whether anyone has used ACI's new 4th Dimension
>Compiler on their existing 4th Dimension databases. And if so, how much
>improvement they have noticed?
>

I've spent some time with the compiler, and in general it's a good (though
expensive) complement to 4th Dimension.

Depending on what your particular database application does, it can make
a minor or major difference in speed.  For apps which are almost all
disk I/O intensive, little or no difference.  For those which use a lot
of calculations, iterative structures, looping, or other interpreter-
heavy operations, the increase in speed can be amazing.  If you have
access to MacWEEK, check out the October 1st issue, which has a review
of the compiler and fairly typical, "real world" tests.

A less obvious use for the compiler is its debugger, which will catch
things the source-level debugger in 4D's interpreter doesn't.  The
interpreter can live with a certain amount of programming ambiguity;
the compiler (because it's reducing the interpreted code to machine
code) can't.  Using the compiler can train you to be a more careful
programmer by catching sloppy techniques.

John Heckendorn
                                                             /\
BMUG                      ARPA: bmug@garnet.berkeley.EDU    A__A
1442A Walnut St., #62     BITNET: bmug@ucbgarne             |()|
Berkeley, CA  94709       Phone: (415) 549-2684             |  |

francis@giza.cis.ohio-state.edu (RD Francis) (10/05/90)

In article <1990Oct5.150511.14473@agate.berkeley.edu> bmug@garnet.berkeley.edu (BMUG) writes:
>In article <2299@gould.doc.ic.ac.uk> nd@doc.ic.ac.uk (N Dulay) writes:
>>I would interested to learn whether anyone has used ACI's new 4th Dimension
>>Compiler on their existing 4th Dimension databases. And if so, how much
>>improvement they have noticed?

As long as we're talking about the compiler, have they ever gotten the
version 2.0 xref utility done?  As I recall, it was farmed out to
After Hours, but I know that a number of people, some of whom work at
Acius, expressed a concern that without a cross-referencing tool (like
what *came* *with* version 1.0), writing a program for compilation
would become much more difficult, and it was likely that the programs
compiled without reference to the cross reference dump would be much
less efficient.  In particular, large programs rewritten from verison
1.0 might be likely to have numerous "temporary" global variables (I
used to make all variables fair game for being cleared (i.e., removed
from memory) unless they began G_; in particular, v* variables were
wiped out at the end of every menu procedure).
--
R David Francis   francis@cis.ohio-state.edu

rad@genco.uucp (Bob Daniel) (10/06/90)

In article <2299@gould.doc.ic.ac.uk> nd@doc.ic.ac.uk (N Dulay) writes:
>I would interested to learn whether anyone has used ACI's new 4th Dimension
>Compiler on their existing 4th Dimension databases. And if so, how much
>improvement they have noticed?

The speed improvment is simply astronomical!  Even on a Plus, 4D is actually
tolerable.  A loop of 65000 took over 10 minutes to run noncompiled and
took less than 3 seconds compiled!  Get it!  It is worth $700 (US developers
cost)

bmug@garnet.berkeley.edu (BMUG) (10/06/90)

In article <84448@tut.cis.ohio-state.edu> francis@giza.cis.ohio-state.edu (RD Francis) writes:
>
>As long as we're talking about the compiler, have they ever gotten the
>version 2.0 xref utility done?  

The xref utility is still being worked on by After Hours Software (who
produced 4D Mover); I suspect we'll see it around the same time as the
4D Environment modules (4DWrite, etc.) appear.  I'm betting by November
15th...

BTW, word is that Xref 2.1 will be several orders of magnitude more
powerful than the wimpy one that was shipped with 4D 1.0 (and will cost
more, as well, but you get what you pay for).

John Heckendorn
                                                             /\
BMUG                      ARPA: bmug@garnet.berkeley.EDU    A__A
1442A Walnut St., #62     BITNET: bmug@ucbgarne             |()|
Berkeley, CA  94709       Phone: (415) 549-2684             |  |