crc32: major optimization efikamx-10.07.11
authorJoakim Tjernlund <Joakim.Tjernlund@transmode.se>
Mon, 24 May 2010 21:33:31 +0000 (14:33 -0700)
committerMatt Sealey <matt@genesi-usa.com>
Mon, 30 Aug 2010 15:16:05 +0000 (10:16 -0500)
commit8674ba3c7f412c2a78bd3089bc817d7c3df78f1d
tree8cc2574b1aa9eb375d9e8dd5fbbadf7c668c3a6b
parent1ed5a65df9778e67639e187b9d923f81165914b7
crc32: major optimization

Precompute more crc32 values(0xcc00, 0xcc0000 and 0xcc000000) into tables.
 This increases the table size from 1KB to 4KB but the performance benfit
makes it worth it:

28% faster on MPC8321, 266 MHz
2x faster on Core 2 Duo, 3.1GHz

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
lib/crc32.c
lib/gen_crc32table.c