Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: syssrc/sys/lib/libkern/arch/sh3



Module Name:    syssrc
Committed By:   itohy
Date:           Sat Aug 24 06:30:36 UTC 2002

Added Files:
        basesrc/lib/libc/arch/sh3/string: ffs.S
        syssrc/sys/lib/libkern/arch/sh3: ffs.S

Log Message:
Assembly version of ffs(3).
Confirmed to return the same value as that of the C version.

The results of a simple benchmark on SH-4 200MHz, is shown below.
I think this shows acceptable performance.

return value    C version       this version    speed
of ffs()        (ns/call)       (ns/call)       ratio
------------    ---------       ------------    -----
 0                86             86             1.00
 1               110             86             1.27
 2               132             86             1.53
 3               165            105             1.57
 4               201            104             1.93
 5               237            111             2.13
 6               271            111             2.44
 7               307            126             2.43
 8               342            125             2.73
 9               376            122             3.08
10               410            121             3.38
11               446            139             3.20
12               483            140             3.45
13               518            146             3.54
14               551            146             3.77
15               587            161             3.64
16               624            162             3.85
17               658            141             4.66
18               694            142             4.88
19               727            160             4.54
20               764            161             4.74
21               799            167             4.78
22               834            167             4.99
23               868            181             4.79
24               903            181             4.98
25               939            146             6.43
26               974            146             6.67
27              1009            166             6.07
28              1044            165             6.32
29              1080            171             6.31
30              1115            171             6.52
31              1151            185             6.22
32              1185            186             6.37


To generate a diff of this commit:
cvs rdiff -r0 -r1.1 basesrc/lib/libc/arch/sh3/string/ffs.S
cvs rdiff -r0 -r1.1 syssrc/sys/lib/libkern/arch/sh3/ffs.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index