当前位置: 首页 > news >正文

北京知名的网站建设公司/上海seo优化培训机构

北京知名的网站建设公司,上海seo优化培训机构,舟山做网站,手机怎么做微信公众号运行坏境:虚拟机下ubuntu10.04, i3处理器今天发现在pjsip开源代码在实现哈希表值的时候竟然不是使用常见的“%”运算,而是“&”这让我很好奇,猜想&运算比%运算要快,于是写了下面代码来验证自己的猜想&#xff…

运行坏境:虚拟机下ubuntu10.04, i3处理器

今天发现在pjsip开源代码在实现哈希表值的时候竟然不是使用常见的“%”运算,而是“&”这让我很好奇,猜想&运算比%运算要快,于是写了下面代码来验证自己的猜想,事实确实是这样的。

下面是比较运算符 (乘*、除/ 、求余数%、与&、或| )的运算时间比较

#include

#include

#include

#define TOTAL_TIMES 1000000000

int main()

{

int i, res[5] = {12389};

struct timeval time[6];

unsigned long sub[5] = {0}, least;

//struct timeval tv1, tv2, tv3;

gettimeofday(&time[0], NULL);

for (i=0; i

res[0] *= 64;

gettimeofday(&time[1], NULL);

for (i=0; i

res[1] &= 64;

gettimeofday(&time[2], NULL);

for (i=0; i

res[2] |= 64;

gettimeofday(&time[3], NULL);

for (i=0; i

res[3] /= 64;

gettimeofday(&time[4], NULL);

for (i=0; i

res[4] %= 64;

gettimeofday(&time[5], NULL);

//time(&t2);

for (i=0; i<6; i++)

{

printf("second:%d,micro:%d\n", time[i].tv_sec, time[i].tv_usec);

if (i > 0)

{

sub[i-1] = time[i].tv_sec*1000000-time[i-1].tv_sec*1000000 + time[i].tv_usec-time[i-1].tv_usec;

printf("sub[%d] = %ld\n", i-1, sub[i-1]);

if (i==1)

least = sub[i-1];

else

{

if (sub[i-1] < least)

least = sub[i-1];

}

}

}

printf("the least:%ld\n", least);

printf("ratio:(* & | / %)\n");

for (i=0; i<5; i++)

printf("%f\n", ((float)sub[i])/least);

return 0;

}

结果1:

second:1357635420,micro:84629

second:1357635422,micro:485139

sub[0] = 2400510

second:1357635424,micro:886265

sub[1] = 2401126

second:1357635427,micro:266230

sub[2] = 2379965

second:1357635430,micro:549131

sub[3] = 3282901

second:1357635434,micro:144127

sub[4] = 3594996

the least:2379965

ratio:(* & | / %)

1.008632

1.008891

1.000000

1.379390

1.510525

结果2:

second:1357635378,micro:207999

second:1357635380,micro:686956

sub[0] = 2478957

second:1357635383,micro:92050

sub[1] = 2405094

second:1357635385,micro:506162

sub[2] = 2414112

second:1357635388,micro:834081

sub[3] = 3327919

second:1357635392,micro:546280

sub[4] = 3712199

the least:2405094

ratio:(* & | / %)

1.030711

1.000000

1.003750

1.383696

1.543474

多次运行后发现,每次的结果并不完全相同,有时候“&=”计算最快,有时候“|=”计算最快,还有时候“*=”计算最快,所以总的说来可以确定的是:

1.  &= 、|= 和*= 的计算时间大体相当,至于谁最快也不必过于计较了。

2.  /=比%=运算更快些,但是都要比前面三个慢不少。

http://www.lbrq.cn/news/1334071.html

相关文章:

  • 中堂做网站/四川刚刚发布的最新新闻
  • 最新在线免费网站/怎样做竞价推广
  • 阿里云网站架构怎么做/怎么制作网页里面的内容
  • 网站手机端模板库/青岛快速排名
  • 成都网站建设优秀公司/百度关键字排名软件
  • 24小时在线客服/整站优化seo
  • 响应式模板网站建设/百度搜索下载
  • 江阴网站设计/长沙网站搭建优化
  • 湖南人文科技学院图书馆官网/3分钟搞定网站seo优化外链建设
  • 徐州最好网站建设/本地网络seo公司
  • 千库网ppt模板免费/北京债务优化公司
  • 怎么在网站上做链接/网站推广app
  • 网页浏览器打不开/seo刷网站
  • 购物网站排名大全/淘宝权重查询入口
  • 怎么做刷会员的网站/大型的营销型网站
  • 在百度上做网站怎么做/安卓优化大师最新版下载
  • 中企动力高端网站建设/静态网页设计与制作
  • 阿坝县建设局网站/怎样才能上百度
  • 摄影网站设计说明/搜索引擎下载安装
  • 网站开发项目介绍ppt/网络营销师
  • 自主建站/seo点击排名
  • APP网站怎么做/云优客seo排名公司
  • 做简历网站 知乎/360推广登录入口官网
  • 中南路网站建设公司/深圳设计公司
  • 幼儿园主题网络图设计学习心得/找seo外包公司需要注意什么
  • 如何让自己网站排名提高/临沂网站建设方案服务
  • 网站建设自查自评/外贸平台有哪些比较好
  • 广告策划书封面/谷歌seo一个月费用需要2万吗
  • 建一个个人网站多少钱/seo软文是什么
  • 香港做网站什么费用/网络开发
  • XGBoost 的适用场景以及与 CNN、LSTM 的区别
  • 间隙锁(Gap Lock)
  • Rocky Linux 10 部署 Kafka 集群
  • 5G NR NTN 在 PHY 层和 MAC 层实现 OAI
  • 关于微信小程序的笔记
  • HTTPS的应用层协议