BSD license compatible hash algorithm?

Brooks Davis brooks at freebsd.org
Thu Dec 27 16:59:00 PST 2007


On Thu, Dec 27, 2007 at 04:47:26PM -0800, Garrett Cooper wrote:
> 
> On Dec 27, 2007, at 4:37 PM, Brooks Davis wrote:
> 
>> On Thu, Dec 27, 2007 at 04:30:40PM -0800, Garrett Cooper wrote:
>>> Hi all,
>>> 	Just wondering if anyone knew of a good BSD license compatible key-based
>>> hash placement / retrieval algorithm that was available anywhere.
>>> 	I'm looking for a reliable way to lookup objects to see if a given 
>>> action
>>> would be performed in my revised pkg_install(1), to thus efficiently
>>> pre-plan out the installation dependencies and fully utilize
>>> multiprocessing capabilities of contemporary machines / eliminate 
>>> duplicate
>>> dependency install requirements.
>>> 	I know I can use tree structures or hash(3), but I want to avoid trees
>>> (inefficient with large data sets of course) and I was looking for a
>>> non-BDB based solution (for right now, with this given structure as I 
>>> don't
>>> want to write everything to disk). Later on it might be a good idea to
>>> cache the results using BDB on disk, but for now I was just wondering if
>>> there were any non-BDB based hashing solutions that anyone knew of.
>> 
>> We imported hash(9) from Open/NetBSD recently.  It may do what you want.
>> 
>> -- Brooks
> 
> Brooks,
> 	Looks promising, but how difficult would it be to port the code to other 
> platforms (Win32 for instance?). If possible (and this is lower prio 
> because FreeBSD has a lot more apps available as pkgs / ports compared to 
> Win32), I'm looking for a solution that would be easily portable, as I'm 
> trying to effectively kill two birds with one stone by programming an 
> equivalent generalized app / infrastructure for my current job (large scale 
> Windows administration and staying on top of software updates is a pain 
> with and without M$ products), and maybe for open market as well.

Why not try compiling it there?

If you're looking from a hash algorithm for pkg_install(1) you'll need
a good technical reason why you can't use sys/hash.h and need to import
something else.

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20071228/edd78ad9/attachment.pgp


More information about the freebsd-hackers mailing list