delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/10/13/16:22:48

Message-Id: <m0xKjZC-000S24C@inti.gov.ar>
Comments: Authenticated sender is <salvador AT natacha DOT inti DOT gov DOT ar>
From: "Salvador Eduardo Tropea (SET)" <salvador AT inti DOT edu DOT ar>
Organization: INTI
To: "Alan M. Doerhoefer" <aland AT seanet DOT com>, djgpp AT delorie DOT com
Date: Mon, 13 Oct 1997 15:41:09 +0000
MIME-Version: 1.0
Subject: Re: FYI: speed of Allegro/DJGPP

"Alan M. Doerhoefer" wrote:

> This is my testament to the speed of DJGPP and Allegro:
> 
[Sniped history about the fractal viewer]
>         
> So I set out to make a version faster than my Allegro version. I 
> experimented with my old Borland C++ 3.0 and TASM 3.0. 
:-)), bad idea, I think the slow thing is the fractal calculus, not the screen. 
You can get over than 70 fps for a simple blit.

> I wrote
> my own TASM routine to write directly to VGA in Mode 13 and linked
> it to C code identical to my Allegro version except for putpixel.
> Then I tried different combinations of optimizing levels and or 
> inline assembler. I even wrote a Mode X version just for fun. 
> Here is my inline asm for Mode 13h: (thanks A. LaMothe)
> 
>         asm {    
>                  mov     di, 0a000h
>                  mov     es, di
>                  mov     di, y
>                  shl     di, 6
>                  mov     bx, di
>                  shl     di, 2
>                  add     di, bx
>                  add     di, x
>                  mov     al, BYTE PTR color
>                  mov     es:[di], al
>         }
> 
> All tests done on my Pentium 100 and the same CL-5434 graphics board:
> frac with Win32:                200 + seconds
> frac with bcc, tasm, Mode X     25 seconds
> frac with bcc, tasm, Mode 13h   14 seconds
> frac with DJGPP,Allegro,Mode X  7 seconds
> 
> Allegro and DJGPP are FAST, at least under these circumstances.
> Does anyone know where all this speed is coming from? 
Yes, the optimizer.

> I assume
> it is mainly because of two reasons: 1.) The latest DJGPP gcc is
> 32 bit & well optimized for the 486 
True.

> 2.) Allegro's putpixel is well written.
Yes, but the compiler (GCC) can make a better version of putpixel than you 
;-)). Your real mode version is not so good.

You can't compare the code generated by the old BC++ 3.0 with DJGPP. GCC 
optimize much better.

SET 
------------------------------------ 0 --------------------------------
Visit my home page: http://www.geocities.com/SiliconValley/Vista/6552/
Salvador Eduardo Tropea (SET). (Electronics Engineer)
Alternative e-mail: set-sot AT usa DOT net - ICQ: 2951574
Address: Curapaligue 2124, Caseros, 3 de Febrero
Buenos Aires, (1678), ARGENTINA
TE: +(541) 759 0013

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019