Path: utzoo!mnetor!uunet!husc6!bloom-beacon!gatech!hubcap!ncrcae!ncr-sd!crash!pnet01!haitex From: haitex@pnet01.cts.com (Wade Bickel) Newsgroups: comp.sys.amiga Subject: Re: Practical task switch and software interrupt switching speed Message-ID: <2742@crash.cts.com> Date: 29 Mar 88 03:16:12 GMT Sender: news@crash.cts.com Organization: People-Net [pnet01], El Cajon CA Lines: 51 dillon@CORY.BERKELEY.EDU (Matt Dillon) writes: > > Here are some timing tests on the relative speed of message >passing and software interrupt overhead. The code is included. >(It's too small to bother the moderators). > > -Matt > > >TEST 1: > Given two tasks running at priority 0 (the priority doesn't > really effect the results) with no other applications running, > how fast can these two tasks bandy a message back and forth? > > Each cycle is defined by: A-(msg)->B, B-(msg)->A > > results: 1000 cycles / second > >TEST 2: > Given a task running at priority 1 (again, the priority could > just as well be 0), with no other applications running, > how fast can this task bandy a message to a software interrupt > handler (e.g. the port type is SOFTINT and the handler replies > the message): > > Each cycle is defined by: A-(msg)->SoftHndlr, SoftHndlr-(msg)->A > > results: 1736 cycles / second > >TEST Conditions: > > The test programs are written in C. They use standard calls for > everything. NOTE: The software interrupt handler is also written > in C, and thus has a bit more overhead than one would normally > associate with a software interrupt. However, the task-switch > tester has no more overhead than equivalent assembly. In my interrupt server I have been useing shared memory with a few conventions applied to prevent conflicts. Seems to me that 1700 cycles is at least two orders of magnitude smaller than the possble communications rate I can achieve. Are you sure this is correct? Thanks, Wade. UUCP: {cbosgd, hplabs!hp-sdd, sdcsvax, nosc}!crash!pnet01!haitex ARPA: crash!pnet01!haitex@nosc.mil INET: haitex@pnet01.CTS.COM