delorie.com/archives/browse.cgi | search |
From: | Damian Yerrick <DONT DOT YOU DOT DAREd_yerrick AT hotmail DOT comSEND DOT SPAM> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: Fastest bitblt? |
Organization: | Pin Eight Software http://pineight.8m.com/ |
Message-ID: | <fqfubsc9f6pcgd2vjt2adj7l3eaokf6b0a@4ax.com> |
References: | <fk6pbssnsuuhcoai79al4bvu6kk1ns9k7s AT 4ax DOT com> <Pine DOT LNX DOT 4 DOT 10 DOT 10003012019380 DOT 1919-100000 AT darkstar DOT grendel DOT net> |
X-Newsreader: | Forte Agent 1.7/32.534 |
MIME-Version: | 1.0 |
Lines: | 56 |
X-Trace: | +4QiDEHIDJERZdc189G1N66yB3PrGoOP7enTM4rbB07pFsyhQqSSsQzNPJyc8/6VqItDzYrfIi6/!47El0UNH2v9+QIkQ9FJ8N4LMmLlJhiYw942K1F1hxEQ8yiSnWt2aMiSq5dBNbA0yNQy1krO+Ny67!zyZs |
X-Complaints-To: | abuse AT gte DOT net |
X-Abuse-Info: | Please be sure to forward a copy of ALL headers |
X-Abuse-Info: | Otherwise we will be unable to process your complaint properly |
NNTP-Posting-Date: | Fri, 03 Mar 2000 04:43:10 GMT |
Distribution: | world |
Date: | Fri, 03 Mar 2000 04:43:10 GMT |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
On Wed, 1 Mar 2000 20:34:47 +0600 (LKT), Kalum Somaratna aka Grendel <kalum AT crosswinds DOT net> wrote: >Say there is a interrupt handler which is called 100 times per sec. >And say that there is only one call to movedata in the interrupt >handler. That would mean that a total of 100 calls to movedata >per sec. so imagine the overhead of setting up even >the segregs repetetively. The rep movsd would most likely take much longer than the setup, if a non-trivial-size buffer is being moved. But if it's that time critical, it'll be in assembly anyway. >Since it is in the interest of getting a interrupt handler to >finish execution as soon as possible I think that incorporating >the movedata into a time critical interrupt routine will result >in unnecessary waste of the cpu. One word: inline. >IMHO farpoke* would be a better alternative And farpoke* is how you inline movedata(). >but nearptrs would result in the least number of insn >and the fastest code. Show us the benchmarks (farpoke*() vs. nearptr). >Anyway since ID was instrumental in adding nearptrs to DJGPP I'm a bit >curious as to why the required it. Was it because it made porting Watcom >code easier or something else like easy (char *p) acesssto <1mb memory? > >Would there be anyone who can enlighten us on this matter? I'd say Watcom legacy code and coders. >IMHO nearptr's would be the least troublesome and easier to code. >especially if you are used to the dosbuffer[1]=0x80; etc syntax rather >than the farpokeb(...) etc C++ can do operator overloading, which converts farpokel() into an array access. OK. I'll give up pushing movedata(). Can anyone show me a non-trivial example where farpoke*() is significantly slower than a nearptr access? S h o w m e t h e s o u r c e . -- Damian Yerrick http://yerricde.tripod.com/ Comment on story ideas: http://home1.gte.net/frodo/quickjot.html AOL is sucks! Find out why: http://anti-aol.org/faqs/aas/ View full sig: http://www.rose-hulman.edu/~yerricde/sig.html This is McAfee VirusScan. Add these two lines to your .sig to prevent the spread of .sig viruses. http://www.mcafee.com/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |