linux的hash函数hash_long等,用了golden ratio来计算。因为桶(bits)的数量需要由hash函数和对冲突的期望来决定,那么对于hash_long这样的hash函数,我们怎么确定桶的数量呢?有兄弟在项目中用过吗?能具体讲讲分析过程吗? 谢谢
我在写个通用点的哈希表。略知一点kobject的内容,现在我这个哈西表中有个hash_obj,也是嵌入到大的对象之中。在destory哈希表的时候, 我想要吧外面这个大对象也free掉。 只知道gcc有typeof这个东西,获得某个对象的类型,(也就是结构体布局),我想知道typeof的结果, 也就是一个对象的类型,是否可以作为函数参数传进去。然后类似于container_of宏那样获得外面的大对象 具体来说,像这样: struct hash_entry_s{ int key; ...
hash表 这个代码是自己模拟哈希表实现的一个简单的学生统计系统,具体是实现的散列表中的开散列,即用数组保存一组数据,这一组数据中通过链表连结彼此,于是达到增加,查找,替换,删除的功能。 hash的预映射算法比较简单,即将学生学号的各个位相加,得到的个位数数值即为散列值,因为个位数所以数组大小为10. Java代码[code]1.private int handdata(Student stu) { 2. int num = stu.numb; 3. ...
source如下
gnuhash.h
[code]
#ifndef _GUN_hash_LIST
#define _GNU_hash_LIST
#include
使用apache apr创建hash表,为何在hash表中存储的关键字和值的长度只能是三个字符? 代码如下: static void modify_hashtab( apr_hash_t *ht, apr_pool_t *mp) { const char *key; const char *val; char ch; do { printf(" \nInput the key:"); scanf("%s",&key); printf(" \nInput the value:"); scanf("%s",&val); /* 存储于hash表中 */ apr_hash_set(ht,apr_pstrdup(mp,&key),APR_hash_KEY_ST...
实现的功能: 1. 从指定文件target.txt中得到需要的字符串A,B,C,字符串是以"[%A%]"为标记 2. 将A,B,C作为hash表的key保存,同时赋值相应的Value,不能重复 3. hash的Value是变量名$a, $b, $c 目前只完成第一步,输出内容还是错的,请高手纠错,并能否提示一下第2,3怎么实现?! #!/usr/bin/perl -w use strict; my $file = "target.txt"; if (-e $file) { open (FH, $file) or die...
昨天无意中发现了一篇文档,解决了我很久以来的一些问题,于是花了半天的时间把它翻译了一下,可是翻译的却不好,如果您的E文还好的话,建议您直接看原文更好。 这是关于使用iptables来调优防火墙性能的一篇短文。 谢谢freenode 上#debian-zh中的pnt_。 原文地址: http://www.wallfire.org/misc/netfilter_conntrack_perf.txt 翻译:NetDC 如果您有什么好的想法可以和我交流。 转载注明出处,谢谢。 Netfilter conntrack 性能调...
[quote] /* Idea from tcp.c: use 1/16384 of memory. On i386: 32MB * machine has 256 buckets. >= 1GB machines have 8192 buckets. */ if (!ip_conntrack_htable_size) { ip_conntrack_htable_size = (((num_physpages << PAGE_SHIFT) / 16384) / sizeof(struct list_head)); if (num_physpages > (1024 * 10...
首先为5000台机器的网吧的规模感到震惊! 2.4的内核我觉得有必要升级到2.6。 5000台机器,每台约100个并发连接(在实际的应用中,如NAT后面的机器打开迅雷、BT、Flashget之类的软件,大概会在ip_conntrack增加500-1000个连接/机器,当然如果只是简单的网页浏览不会达到100), 约50万并发链接,每个IP理论端口65535,实际可用到50000左右,我觉得大概用10个IP地址做NAT 的POOL比较合适。 因此应考虑多VLAN,用多条SNAT规则将这5000...
看情景分析文件系统部分,里边有很多hash表。比如文件的dentry结构挂入hash表的时候是通过上一级目录dentry的地址和该文件的文件名映射到一个hash table中。我不明白的地方是这样计算出来的hash值到底是不是唯一的,我觉得应该是,但是看代码感觉不是,好像还可能有别的dentry结构通过hash以后也能得到同一个hash值,请问这是为什么?