Message-Id: Comments: Authenticated sender is From: "Salvador Eduardo Tropea (SET)" Organization: INTI To: djgpp AT delorie DOT com Date: Mon, 22 Sep 1997 14:56:03 +0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: Strange benchmark results Precedence: bulk Jan Hubicka wrote: >I was making some comparsions of EMX and DJGPP. I wanted to write test >to benchamrk speed of systems calls real interrupt and similiar stuff, >that depends at dpmi implementation/EMX extender. I wrote following simple >program to make 10000 times file aaaa, write there 100 bytes (unbuferred >one write call for each byte) and close: [sniped] >And I was really surprised by result: > > DJGPP EMX >cwsdpmi 5.00 0.38(rsx dpmi forced here) >pmode 2.97 ---- >w/o DPMI ---- 0.16(emx extender) >Win DOS 6.04 0.43 >Windows ---- 8.51(rsxwin extender) >QDPMI 7.91 0.22(rsx dpmi forced here) I think a lot of us tried it, no?. My conclution is that Jan is wrong. His conclution is OK, EMX uses buffered open/write/close as Borland does. From the other hand DJGPP doesn't make it and I think that's GOOD!. Open is supposed to be low level and not buffered. Buffered means quick BUT dangerous! Here are the results I got in an AMD DX4 100: MSC 5.10 4.73 <---- 1988 BC++ 3.1 4.84 <---- 1992 DJGPP _write 12.42 CWSDPMI 13.30 <---- 1996 CWSDPMI R0 13.35 WIN 3.1 13.46 CWSDPMI+RHIDE 13.57/14.84 BC and M$ seems to be almost 3 times faster but take a look to the same using fopen: DJGPP 4.01 BC++ 3.1 5.55 MSC 5.10 5.93 Hah!, DJGPP is faster even with pmode/real mode! isn't so bad no? So if you want speed then use fopen and if you want low level and a little more safe use open. An interesting thing that I saw while testing was that MSC was indicating 0.4 seconds but that was because the program was failing to write. Was very hard for me to figure out the switchs for the M$ open. 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