Subject: Re: printf() using floating point ...
To: Chris G Demetriou <Chris_G_Demetriou@lagavulin.pdl.cs.cmu.edu>
From: Andrew Cagney <cagney@highland.com.au>
List: tech-kern
Date: 06/15/1995 12:04:08
Excerpts from mail: 14-Jun-95 Re: printf() using floating.. Chris G
Demetriou@lagavu (935)
> I'd definitely like to see such numbers, for a couple of different
> processors, before this was jumped into.
(Using the back of a spare envelope ...)
Lets make some rash assumptions:
o all the data has to come from/to memory
o the memory path is (8bytes @ 70ns or 70*10^-9)
o we ignore things like writeback caches stalls etc
o 32 double precision fp registers.
First how much data is being moved ...
user -> kernel
save 32*8 bytes, restore 32*8 bytes
kernel -> user
ditto
giving:
4*32*8 bytes
or 4*32*8 / 8 = 128 lines of data
Using the above, this takes:
128 * 70ns ~= 8960*10^-9 or ~ 10*10^-6
doesn't look like much. How does it compare to the frequence of a
context switch.
Andrew