给一个数赋值优先级
来源:互联网 发布:apache ab测试百度 编辑:程序博客网 时间:2024/05/19 23:10
转载至:http://blog.chinaunix.net/uid-23242010-id-93355.html
在iocore/hostdb中, TrafficServer设计了一个dns cache,从cache的设计可以看出,TS在细节上几乎也做到了极致,以下是TS为一个bucket赋予优先级的代码,我将其整理出来,供大家学习研究
#include <stdio.h>
int buckets = 6250;
char *lowest_level_data = new char[200000];
int lowest_level_data_size()
{
return (buckets + 3) / 4;
}
int lowest_level(int bucket)
{
int i = (unsigned char) lowest_level_data[bucket / 4];
return 3 & (i >> (buckets % 4));
}
void set_lowest_level(int bucket, int lowest)
{
unsigned char p = (unsigned char) lowest_level_data[bucket / 4];
p &= ~(3 << (buckets % 4));
p |= (lowest & 3) << (buckets % 4);
lowest_level_data[bucket / 4] = (char) p;
}
int
main()
{
printf("lowest_level_data_size() is %d\n" , lowest_level_data_size());
printf("set_lowest_level(200, 2)\n");
set_lowest_level(200, 2);
printf("lowest_level(200) is %d\n", lowest_level(200));
delete []lowest_level_data;
return 0;
}
- 给一个数赋值优先级
- C++的一个细节,用一个浮点数赋值给一个整数变量不会报错
- 二进制数给整型变量赋值?
- 把一个字符串赋值给一个数组
- 将命令结果赋值给一个变量
- 给一个类成员变量struct赋值.
- MySQL给一个字段递增赋值
- Codeblocks中同时给整形数和字符型数组赋值,出现了一个诡异的情况
- 当把一个负数赋值给无符号数时在C、C++中会发生什么?
- 负数赋值给无符号数的陷阱[转]
- 如何通过键盘输入整型数给枚举变量赋值
- 负数赋值给无符号数的陷阱[转]
- 筛选一个DataTable的数据,赋值给另外一个DataTable
- 筛选一个DataTable的数据,赋值给另外一个DataTable
- 给一个地址赋值或从一个地址取值时注意
- 将一个数组赋值给另外一个数组
- 给结构里的char指针赋值的一个难点
- 将一个字符指针赋值给CString变量
- TYVJ 1939 「Poetize4」玉蟾宫
- 《大学物理》复习整理
- latex 错误 !Dimension too large
- 个人整理的一些Xcode中比较好用的快捷键(适用于mac开发的朋友们)
- CDMA手机和GSM手机辐射比较1
- 给一个数赋值优先级
- Think in java万物皆对象
- Greenplum使用gpload通过gpfdist实现文件的高速加载
- Java对象的深复制和浅复制
- scikit-learn : Logistic Regression
- c语言学习笔记45
- CDMA手机和GSM手机辐射比较2
- JavaScript indexOf() 方法
- Top 67 Log Management Tools