All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick Schaaf <bof@bof.de>
To: netfilter-devel@lists.samba.org
Subject: cttest-0.4
Date: Sun, 7 Jul 2002 19:37:18 +0200	[thread overview]
Message-ID: <20020707193717.P13116@oknodo.bof.de> (raw)
In-Reply-To: <20020707181007.O13116@oknodo.bof.de>; from bof@bof.de on Sun, Jul 07, 2002 at 06:10:07PM +0200

> 	http://bei.bof.de/ex2crc
> 	http://bei.bof.de/ex3crc

These are updated with a faster version of crc32, called crc32_bof for now.
A seed is XORed with the source IP, and an unrolled CRC is done over the
sport, dip, and dport. Curves look close enough to crc32, as far as I
can see. For the speedup, I must caution that the timing is done for
the unrealistic case of a dense loop doing not much of anything
besides calculating the hash function over and over. This means that
the 1k crc32_table will be in L1 cache on all interesting processors.
However, this may not be the case for a system doing more than calculating
hashes. It is likely that the crc32 timings here are best-case values.
For the other hashes, the timings should reflect reality.

I have made cttest-0.4.tar.gz. In addition to the crc32_bof, this includes
seed selection, which may be interesting for experimentors. The seed used
in the crc32 hashes, can be set in the ctreport.hashes.XXX control file,
by appending "+1234" to the hash name.  Append "+R" for random seed
selection. By default, the new crc32 functions use one of Don's
constants (C) as a default seed. The crc32 itself is unmodified.

I haven't done anything yet with that seed selection. Feel free to play.

While you compare these functions, I'd like to mention something we _may_ need
to look out for. Some of the hash functions we are looking at, behave the
same whether big endian or little endian. Others factually are two different
hash functions, one on little endian, and one on big endian. Up to now I did
not care much about this, but I see all our known results so far have been
on little endian machines. We need some runs on big endian gear.

That's it for today - have a nice evening, whereever you are.

best regards
  Patrick

      reply	other threads:[~2002-07-07 17:37 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-07 13:17 cttest-0.3 Patrick Schaaf
2002-07-07 15:10 ` cttest-0.3 Martin Josefsson
2002-07-07 15:53   ` cttest-0.3 Patrick Schaaf
2002-07-07 16:10   ` cttest-0.3 Patrick Schaaf
2002-07-07 17:37     ` Patrick Schaaf [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020707193717.P13116@oknodo.bof.de \
    --to=bof@bof.de \
    --cc=netfilter-devel@lists.samba.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.