[comp.sys.amiga.tech] 2.0 Slowness???

lkoop@pnet01.cts.com (Lamonte Koop) (11/20/90)

I'm hoping perhaps someone can come up with a few ideas about a strange 
oddity that I've come across with a program of mine and AmigaOS2.0. 
I've written a program (and put it out generally) known as Amiga Intuition
Based Benchmarks (AIBB).  The program performs 6 benchmark tests (Writepixel,
Sieve, Savage, Sort, Matrix, and Dhrystone) with an Intuition front end
(click a test gadget and go).  The problem is this: Running the tests under
AmigaOS 1.3 is just fine...results come up generally as expected.  AmigaOS 2.0
is a completely different story.  The tests are running _slower_!  And not
just a bit slower, but a great deal so.  At first, I thought it was a strange
quirk with the A3000 doing this, but 'tis not the case.  The same thing shows
up on an A2000 with an A2620 card running a current 2.01.  What I want to know
is why????  Something is quite odd here, to be sure.  The tests are nothing
special, and I see no reason why 2.0 should be causing such strange results.
Anyone have a simple 'well, this is what's up...' answer?
 
regards,
     LaMonte

UUCP: {hplabs!hp-sdd ucsd nosc}!crash!pnet01!lkoop
ARPA: crash!pnet01!lkoop@nosc.mil
INET: lkoop@pnet01.cts.com

jesup@cbmvax.commodore.com (Randell Jesup) (11/21/90)

In article <5748@crash.cts.com> lkoop@pnet01.cts.com (Lamonte Koop) writes:
>(click a test gadget and go).  The problem is this: Running the tests under
>AmigaOS 1.3 is just fine...results come up generally as expected.  AmigaOS 2.0
>is a completely different story.  The tests are running _slower_!  And not
>just a bit slower, but a great deal so.  At first, I thought it was a strange

	There are a number of possibilities.  First, background processes (such
as commodities like screenblankers) may be eating some CPU time.  Second, some
calls might not be quite as fast due to relaxing certain limits on them (like
the longest line that can be drawn: was ~1024, now it's much larger).

	A good way to remove most extraneous variables is to turn off the
startup-sequence (hold both mouse buttons down, and disable it when the
BootMenu comes up).  Then run your benchmark.

-- 
Randell Jesup, Keeper of AmigaDos, Commodore Engineering.
{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com  BIX: rjesup  
Thus spake the Master Ninjei: "If your application does not run correctly,
do not blame the operating system."  (From "The Zen of Programming")  ;-)

es1@cunixb.cc.columbia.edu (Ethan Solomita) (11/21/90)

In article <15987@cbmvax.commodore.com> jesup@cbmvax.commodore.com (Randell Jesup) writes:
>In article <5748@crash.cts.com> lkoop@pnet01.cts.com (Lamonte Koop) writes:
>>(click a test gadget and go).  The problem is this: Running the tests under
>>AmigaOS 1.3 is just fine...results come up generally as expected.  AmigaOS 2.0
>>is a completely different story.  The tests are running _slower_!  And not
>>just a bit slower, but a great deal so.  At first, I thought it was a strange
>
>	There are a number of possibilities.  First, background processes (such
>as commodities like screenblankers) may be eating some CPU time.  Second, some
>calls might not be quite as fast due to relaxing certain limits on them (like
>the longest line that can be drawn: was ~1024, now it's much larger).
>
>	A good way to remove most extraneous variables is to turn off the
>startup-sequence (hold both mouse buttons down, and disable it when the
>BootMenu comes up).  Then run your benchmark.
>
	I ran dhrystones using Forbid(), so other tasks should be
irrelevant. On my 3000 I got a difference of 120 dhrystones/sec
between 1.3 and 2.0.

>-- 
>Randell Jesup, Keeper of AmigaDos, Commodore Engineering.
>{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com  BIX: rjesup  
>Thus spake the Master Ninjei: "If your application does not run correctly,
>do not blame the operating system."  (From "The Zen of Programming")  ;-)


	-- Ethan

	Woody Allen on Los Angeles:

	"I mean, who would want to live in a place where the only
cultural advantage is that you can turn right on a red light?"

jesup@cbmvax.commodore.com (Randell Jesup) (11/21/90)

In article <1990Nov20.233747.16565@cunixf.cc.columbia.edu> es1@cunixb.cc.columbia.edu (Ethan Solomita) writes:
>	I ran dhrystones using Forbid(), so other tasks should be
>irrelevant. On my 3000 I got a difference of 120 dhrystones/sec
>between 1.3 and 2.0.

	Not neccesarily.  It depends on what interrupt services they
register with (for example, vblank, or timers, etc.)  Also, for such
a small difference (relative to timing quantums), it could just be a more
complex vblank handler (which is what handles hedley screens, etc - even
if not active, it has to check if they are).  Video setups might be different -
the amount of overscan, screen position, etc, etc, etc.  Timer device
could be returning more accurate values under 2.0, or maybe it has a bit
more overhead.

	If you want to really test JUST the processor, turn off interrupts, 
turn off sprites and the screen, and use a CIA timer directly (since 
timer device can affect you).

-- 
Randell Jesup, Keeper of AmigaDos, Commodore Engineering.
{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com  BIX: rjesup  
Thus spake the Master Ninjei: "If your application does not run correctly,
do not blame the operating system."  (From "The Zen of Programming")  ;-)