|
hash functions and other comments
Alex Shinn
(08 Sep 2015 06:19 UTC)
|
|
Re: hash functions and other comments
John Cowan
(08 Sep 2015 12:57 UTC)
|
|
Re: hash functions and other comments
Alex Shinn
(08 Sep 2015 13:32 UTC)
|
|
Re: hash functions and other comments
John Cowan
(08 Sep 2015 14:59 UTC)
|
|
Re: hash functions and other comments
Alex Shinn
(09 Sep 2015 04:29 UTC)
|
|
Re: hash functions and other comments
John Cowan
(09 Sep 2015 13:18 UTC)
|
|
Re: hash functions and other comments
Alex Shinn
(10 Sep 2015 02:09 UTC)
|
|
Re: hash functions and other comments John Cowan (10 Sep 2015 03:46 UTC)
|
|
Re: hash functions and other comments
Arthur A. Gleckler
(10 Sep 2015 03:56 UTC)
|
|
Re: hash functions and other comments
Alex Shinn
(10 Sep 2015 10:05 UTC)
|
|
Re: hash functions and other comments
Kevin Wortman
(11 Sep 2015 19:01 UTC)
|
|
Re: hash functions and other comments
John Cowan
(11 Sep 2015 19:51 UTC)
|
|
Re: hash functions and other comments
Alex Shinn
(12 Sep 2015 06:29 UTC)
|
|
Re: hash functions and other comments
John Cowan
(12 Sep 2015 22:16 UTC)
|
|
Re: hash functions and other comments
Alex Shinn
(15 Sep 2015 03:23 UTC)
|
|
Re: hash functions and other comments
John Cowan
(15 Sep 2015 11:31 UTC)
|
|
Re: hash functions and other comments
Alex Shinn
(15 Sep 2015 12:57 UTC)
|
|
Re: hash functions and other comments
Alex Shinn
(16 Sep 2015 03:01 UTC)
|
Alex Shinn scripsit:
> 1. Since we give leeway to replace the hash function in special
> cases, and since the function is never exposed, there's no reason
> we can't replace it with 2 or more functions.
I've just posted a new draft to <http://www.ccil.org/~cowan/temp/srfi-125.html>.
In this one, the SRFI 69 reflective functions are back, but the implementation
is free to return #f if it didn't use the user-supplied hash function.
> 2. I realize now that the SRFI-114 hash functions are severely
> underspecified for use in this SRFI - they need to produce values
> suitable for any number of buckets, but the range is unspecified.
Yes, if you have a really vast number of buckets there may be a problem.
> R6RS hash-tables are similarly underspecified, but SRFI-69 does
> not have this problem because it uses an explicit `bound' argument.
You can't rely on that argument actually being the number of hash buckets,
though; it can just always be max-fixnum or something.
> If we don't add a bound argument, we should specify the range of
> hash functions to be at least the largest imaginable number of
> buckets in an application.
Done.
> Another consideration is a "salt" argument to the hash functions
> to be mixed in with the result, which is one way to avoid the
> hash collision DoS attack. This would also effectively allow an
> arbitrary number of hash functions, which is useful for more
> than just cuckoo hashing (double hashing).
I think the framework is free to do this, since the hash code returned
by the hash function may be used in any way the framework wishes.
Arthur: please pull from the URL above for the next draft.
--
John Cowan http://www.ccil.org/~cowan xxxxxx@ccil.org
Raffiniert ist der Herrgott, aber boshaft ist er nicht.
--Albert Einstein