DragonFly kernel List (threaded) for 2006-09
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: Batch/At (if it wasn't broken, no worries I broke it :-) )
And just as a side note... procedure call overhead on a modern cpu can
be as little as 0 cpu cycles for small procedures, and typically do not
cost more then 5 nanoseconds in any case. This is because procedure calls
use the same hardware branch prediction cache that conditionals use,
procedural returns use a special hardware call-return stack, and stack
memory for arguments is virtually guarenteed to be in the cpu L1 cache
or, even better, the arguments are likely still in the memory write
pipe and can be directly picked up by the instruction pipeline.
In the DragonFly kernel we only inline the tiniest, most heavily-used
critical path routines, though there are still a lot of 'old' inlines
inherited from FreeBSD that have not yet been unwound (the most aggregious
being in the NFS code and containing out-of-band goto's).
-Matt
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]