`
yanlijun250
  • 浏览: 758448 次
文章分类
社区版块
存档分类
最新评论

memset效率测试

 
阅读更多

刚刚AC了一题,需要将数组部分初始化为零,为了简单我就用memset将整个数组置零了,在我印象中memset函数的速度是快得惊人的,没想到居然超时了,让我不得不重新审视memset的效率和我那想当然的愚昧。

初始化部分如下:

3.75s

0.11s

速度相差了三十倍,难怪会超时,为了知道memset的效率,又试了下如下案例



上述代码就为了初始化一个大数组,执行结果如下:

3.58s

24.8s


测试结果表明:memset比普通的初始化快7倍,所以应该多用memset来完成初始化工作。但,最根本还是应该减少计算机的计算量。

分享到:
评论

相关推荐

    nvtlibc.rar 优化linux系统memcpy,及memset

    在实际应用中,应谨慎使用这样的优化,并且进行充分的性能测试,以确保优化确实带来了预期的性能提升,并且不会对其他部分的代码产生负面影响。同时,考虑到兼容性和调试的便利性,通常会在必要时才采用这种底层级别...

    memset-sh4.rar_sh4

    另一方面,"ciu.txt"可能是一个持续集成/单元测试的配置文件,或者包含了测试用例和结果,用于验证`memset-sh4.c`中的实现是否正确且高效。这样的测试对于确保优化后的`memset`在各种场景下都能正常工作至关重要,...

    【STM32MP1系列】DDR内存测试用例,stressapptest源码

    总之,通过这个DDR内存测试用例,开发者可以对STM32MP1系列的内存管理能力进行全面评估,确保其在实际应用中的可靠性和效率,这对于开发高质量、高性能的嵌入式系统至关重要。同时,这也体现了软件工程中的一个重要...

    刘汝佳《算法入门经典》答案.docx

    * 使用时间函数 clock() 和 CLOCKS_PER_SEC 常数测试程序的效率 八、常见问题解决方法 * 开灯问题:使用 if 语句控制数组的元素 * 蛇形填数:使用四个循环走控制数组的元素 * 最长回文:使用 fgets 函数读取字符串...

    C读取txt文件,获取数据

    文档中提到的压力测试可能是为了评估读取大量数据的速度和效率。在这种情况下,可能会关注CPU使用率、内存占用、I/O性能等指标。可以使用各种性能分析工具,如gprof、valgrind、strace等,对代码进行分析优化。 7....

    C语言高效编程的四大绝招

    在处理字符串赋值时,方法A使用了`memset`和`strcpy`两个函数,而方法B则直接使用了常量字符串,减少了函数调用的开销。当系统对实时性要求较高,且内存资源相对充足时,采用这种方法可以提高程序执行效率。此外,宏...

    C语言函数总结.pdf

    C语言函数总结 C语言函数是C语言中的一种基本组成部分,它们提供了许多有用的功能,可以帮助开发者快速实现各种任务。...通过对C语言函数的总结,我们可以更好地理解和应用这些函数,提高开发效率和质量。

    北航计算机系考研复试上机真题及答案(06-12年)

    - 题目中提到可以利用标准输入重定向(如 `freopen` 函数)来快速测试代码的正确性,这对于提高调试效率非常有帮助,尤其是在处理大量输入数据时。 4. **编程基础**: - 熟悉 C 语言的常用函数,如 `scanf` 和 `...

    Keil C51库函数参考.docx

    Keil C51 库函数提供了 9 个本征库函数,这些函数可以直接将固定的代码插入当前行,而不是用 ACALL 和 LCALL 语句来实现,从而提高函数访问的效率。这些本征库函数包括: * `_crol_` 和 `_cror_`:将 char 型变量...

    c++ 面试题 总结

    memset(a,0,sizeof(a)); int i=0,j; char t; cin.getline(a,50,'\n'); for(i=0,j=strlen(a)-1;i(a)/2;i++,j--) { t=a[i]; a[i]=a[j]; a[j]=t; } cout; } //第二种 string str; cin>>str; str.replace; ...

    C语言常用系统函数[借鉴].pdf

    在C语言中,系统函数是...在进行软件开发时,了解并熟练使用这些函数能够提高代码的效率和可读性。在不同的编译环境中,某些函数可能有不同的实现或支持,因此在跨平台编程时需要查阅相应编译器的文档来确保兼容性。

    C 代码 阐释了 C 语言提供的内部函数的使用.rar

    通过分析这些测试用例,我们可以学习如何有效地利用内联函数来提升代码执行效率,以及如何正确使用C语言的内置函数来执行各种任务。 在实际编程中,合理使用内联函数和内置函数可以显著提高程序的运行速度,尤其是...

    Keil_C51库函数参考文档

    九个本征库函数包括_crol_和_cror_用于循环左右移位,_iorl_和_irol_针对int型变量的移位,_lrol_和_lror_适用于long型变量的移位,_nop_插入空操作指令,_testbit_则可以测试并跳转位变量,最后是.chkfloat_用于...

    C51库函数参考 C51库函数参考 C51库函数参考 C51库函数参考

    C51 提供的本征函数是指编译时直接将固定的代码插入当前行,而不是用 ACALL 和 LCALL 语句来实现,这样就大大提高了函数访问的效率。本征库函数只有 9 个,但都非常有用,包括: * `_crol_` 和 `_cror_`:将 char ...

    刘汝佳《算法入门经典》答案.pdf

    5. 使用计时器可以测试程序的效率,可以使用#include和printf("%.2lf",(double)clock()/CLOCKS_PER_SEC)。 三、文件操作 1. 输入输出重定向:可以使用#define LOCAL和freopen函数来重定向输入和输出。 2. 文件...

    猴子吃桃.含源码和解析c语言

    在实际编程中,为了测试代码的正确性,通常需要编写一些测试用例,包括边界情况和一些复杂的输入,例如桃子数量很大或为0的情况。 总的来说,“猴子吃桃”问题是一个很好的练习动态规划和递归思维的实例,通过解决...

    刘汝佳习题答案

    使用计时器可以测试程序的效率。例如,#include<time.h> printf("%.2lf", (double)clock() / CLOCKS_PER_SEC); 注意的是,将其放入程序时,测试时会把键盘输入的时间一块算上,而如果不计可以使用命令行测试。 八、...

    局域网远程唤醒(WOL)源代码.docx

    Magic Packet 的构造过程中,首先 memset 将前 6 个字节设置为 FF,接着将 MAC 地址复制到 Magic Packet 中 16 次。 在发送 Magic Packet 前,需要启动 WSA(Windows Socket Architecture),并创建一个 UDP socket...

    Linux系统C语言库函数大全

    `mem*`系列函数如`memcpy`、`memmove`和`memset`处理内存块的复制、移动和填充。 6. 数学计算函数: 这些函数提供了基本的数学运算,如`abs`计算绝对值,`acos`、`asin`、`atan`等提供三角函数计算。`ceil`返回...

    马踏棋盘问题C++解决

    在实际编程练习中,我们可以根据需要调整代码,例如添加输入功能,让用户选择起始位置,或者优化代码以提高效率,如使用迭代而不是递归,以及使用数据结构如队列来存储待访问的棋盘位置。 马踏棋盘问题不仅有助于...

Global site tag (gtag.js) - Google Analytics