[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl] MacPERL Performace vs. Intel Class systems



pudge@pobox.com (Chris Nandor) writes:
>At 15.15 10/13/97, Paul DuBois wrote:
>>I ran the test program on my 9600/300 and it took ... 1 second.

>At 22.27 10/13/97, Nat Irons wrote:
>>[...]
>>With a test like this one, drive access could easily pose as much of a
>>bottleneck as anything else.
>
>There can be extenuating circumstances, yes, but the speed increase is
>obviously there.

>PowerCenter Pro 180 (604/180 60 MHz bus)
>        MacPerl 5.1.4r4:              2 seconds
>        MacPerl 5.1.3r2:             18 seconds

Right. To prevent a repeat of the last round of this debate, I would appreciate
if we confined this round to a discussion of the relative speeds of 5.1.4
vs. 5.1.3 and did not discuss absolute speeds on various systems further. I
can see a number of reasons for the substantial speed increase:

 - My contribution is that I re-did the cursor spinning code. Spinning waiting
   cursors (and the associated WaitNextEvents) can eat up a substantial
   proportion of the execution time of a script, and all of my previous
   approaches were a bit unsatisfactory.
      To be more specific, previous versions of MacPerl did something like this
   before executing each Perl operation:

      increment(counter)
      if (counter modulo some_constant eq 0)
         calculate elapsed time since last spin
         if (elapsed time > some_number_of_ticks)
            spin

   5.1.4 just does:

      if (must_spin)
         must_spin = 0
         spin

   and installs a separate Time Manager task which simply sets the must_spin
   flag to 1 at regular intervals. The effect of this change alone was
   substantial.
 - The contribution of the Perl core is that Perl 5.1.4 comes with its own
   I/O formatting routines, which probably are faster than the rather slow
   old Metrowerks C libraries.
 - The third contribution is that I switched to sfio for the underlying
   buffered output, which agin is faster than the old Metrowerks stdio
   libraries. 

>Power Mac 7100/66: 14 seconds
>        MacPerl 5.1.4r4:             14 seconds
>        perl5.004_04 (MkLinuxDR2.1): 15 seconds

Now that is an interesting number, too.

Does anybody have the possibility of comparing MacPerl/MacOS 8,
MacPerl/Rhapsody, and perl/Rhapsody on the same machine?

Matthias

-----
Matthias Neeracher   <neeri@iis.ee.ethz.ch>   http://www.iis.ee.ethz.ch/~neeri
  "Have you considered that if you take the list of things you assume and
   invert it you would get a far more useful set of assumptions?"
                                     -- Richard Caley





***** Want to unsubscribe from this list?
***** Send mail with body "unsubscribe" to mac-perl-request@iis.ee.ethz.ch