我的编程空间,编程开发者的网络收藏夹
学习永远不晚

cpu时钟预取实例代码分享

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

cpu时钟预取实例代码分享

测试下预取的效果,利用CPU始终查看效果。根据实验发现,预取地址在地址使用之前的十行左右代码处效果比较好!


#include <stdio.h>

#define MAX_LEN 1000000

static inline void prefetchnta(void *addr) //预取部分
{
__asm__("movl %0, %%eax"::"a"(addr));
__asm__(".byte 0x0f, 0x18, 0x00");
}

inline unsigned long long GetCPUTickCount()
{
unsigned long high32 = 0;
unsigned long low32 = 0;

__asm__("RDTSC" : "=a"(low32), "=d"(high32));

unsigned long long counter = high32;
counter = (counter<<32) + low32;

return counter;
}

int main(int argc, char* argv[])
{
long long start, end;
long long array[MAX_LEN];
int i;

for(i = 0; i < MAX_LEN; i++) //让cache失效
array[i]++;

start = GetCPUTickCount();
array[0]++;
end = GetCPUTickCount();
printf("don't use prefetch time:%ldn", end - start);


for(i = 0; i < MAX_LEN; i++)
array[i]++;

prefetchnta(array);
start = GetCPUTickCount();
array[0]++;
end = GetCPUTickCount();
printf("use prefetch time:%ldn", end - start);

return 0;
}

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

cpu时钟预取实例代码分享

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

cpu时钟预取实例代码分享

测试下预取的效果,利用CPU始终查看效果。根据实验发现,预取地址在地址使用之前的十行左右代码处效果比较好!#include #define MAX_LEN 1000000 static inline void prefe
2022-06-04

如何编写cpu时钟预取代码

这篇文章主要讲解了“如何编写cpu时钟预取代码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写cpu时钟预取代码”吧!测试下预取的效果,利用CPU始终查看效果。根据实验发现,预取地址在
2023-06-09

android实现widget时钟示例分享

一、在 AndroidManifest.xml文件中配置Widgets:代码如下:
2022-06-06

Java获取时间差(天数差,小时差,分钟差)代码示例

网上有很多博文是讲如何获取时间差的,我看了一下,多数是使用Calendar类来实现,但是都讲得比较乱,在这里我用SimpleDateFormat来实现,比较简单,我认为比较适合拿来用。SimpleDateFormat 是一个以国别敏感的方式
2023-05-30

Java反射机制实例代码分享

本文旨在对Java反射机制有一个全面的介绍,希望通过本文,大家会对Java反射的相关内容有一个全面的了解。阅读本文之前,大家可先行参阅《重新理解Java泛型》。前言Java反射机制是一个非常强大的功能,在很多大型项目比如Spring, My
2023-05-30

如何编写代码实现15分钟时间提醒

这篇文章主要讲解了“如何编写代码实现15分钟提醒”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写代码实现15分钟提醒”吧!保存为.vbs代码如下:today=Date() years=
2023-06-09

Android录音时获取分贝值的方法代码实例

参考文章Android中实时获取音量分贝值详解://www.jb51.net/article/64806.htm public class MediaRecorderDemo { private final String TAG = "Me
2022-06-06

Java编程几个循环实例代码分享

有关Java循环的内容,编程中还是比较常用的,下面分享给大家几个循环的示例代码,练习一下。1、循环输出1到100之间所有能被3或能被4整除的数。package com.hz.loop02;/** * 1、循环输出1到100之间所有能被3或能
2023-05-30

Python中将秒转换为小时、分钟和秒的示例代码

这篇文章主要介绍了在Python中将秒转换为小时、分钟和秒,本篇文章将讨论使用Python中的四种不同方法来使用、管理秒并将其转换为天、小时、分钟和秒,需要的朋友可以参考下
2023-05-19

Android实现新浪微博一键分享的实例代码

写在本章前愈来愈多的APP支持一键分享至QQ空间、微信朋友圈、新浪微博的功能,同时支持第三方账号登录,如QQ、微信、新浪微博等第三方平台的账号。本章结合当下流行的设计,兼顾免费的开源ShareSDK,结合项目中的实际需求,整合出一套分享源码
2023-05-30

Java NIO实例UDP发送接收数据代码分享

Java的NIO包中,有一个专门用于发送UDP数据包的类:DatagramChannel,UDP是一种无连接的网络协议,一般用于发送一些准确度要求不太高的数据等。完整的服务端程序如下:public class StatisticsServe
2023-05-30

php时间戳转换实例代码分析

本文小编为大家详细介绍“php时间戳转换实例代码分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“php时间戳转换实例代码分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、时间戳的概念Unix时间戳,也叫做
2023-07-05

python字典添加值的方法及实例代码分享

在本篇文章里小编给大家整理的是一篇关于python字典添加值的方法及实例代码讲解,有兴趣的朋友们可以学习下。
2022-11-21

编程热搜

目录