home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!know!cass.ma02.bull.com!mips2!news.bbn.com!usc!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!rutgers!micro-heart-of-gold.mit.edu!eddie.mit.edu!minya!jc
- From: jc@minya.UUCP (John Chambers)
- Newsgroups: comp.dcom.modems
- Subject: Efficient CRC routine?
- Keywords: CRC
- Message-ID: <1394@minya.UUCP>
- Date: 22 Nov 92 18:03:40 GMT
- Lines: 28
-
- I've generally dismissed the use of CRCs in software, because the only
- algorithm I'd seen to generate (or check) them were so incredibly slow
- (shifting the bits out of each byte, plugging each into a polynomial,
- and all that) that the performance hit was totally out of the range of
- acceptability. This, if you implement the algorithm in McNamara on a
- 386, calculating a CRC for a 1Kbyte chunk takes a major part of a
- second. It might as well take a year. CRCs seemed like something of
- interest only to hardware types, who could implement them with
- parallel hardware and do it quickly.
-
- But recently I ran across a remark that implied that I was wrong, and
- that an efficient algorithm existed to generate CRCs. Does anyone know
- if this is true? Would there perhaps be a C routine that does, for
- example, CRC-CCITT fast enough to be usable by software that needs to
- detect modem failures? It'd be nice to have something that does a
- better job than the familiar Internet checksum.
-
- If this is discussed in some text that I should have but don't, it'd
- be nice to get a reference, too.
-
- [There are few articles in comp.dcom.modems here, so an email reply
- would stand a better chance of getting here than a followup.]
-
- --
- All opinions Copyright (c) 1992 by John Chambers. Inquire for licensing at:
- 1-617-647-1813 ...!{bu.edu,harvard.edu,eddie.mit.edu,ruby.ora.com}!minya!jc
- --
- Pensu tutmonde; agu loke.
-