logs will always be slow since the most common ways of calculating em use recursion, what you should do is what we used to do in the 8 bit days when every bit of speed was critical, use a lookup table, calculate the logs for the range you want and stick em in an array, then just use the values in the array for your calculations , we used to do this with sine/cos a lot, 360x2 elements was a lot of memory in those days (about 3k from a 16k machine with 11k free for example), but the speed gain made it worth it.
Mentor.
PC1:XP, P4 3ghz, 1gig mem, 3x160gig hd`s, Radeon 9800pro, 6 way sound.
PC2: Linux, AMD 2ghz, 512mb ram, Nvidia GeForce4mx, 16 bit SB.
PC3: XP, laptop, intel 2.6ghz celeron, ATI 9000igp, 256mb