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

memset效率测试

 
阅读更多

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

初始化部分如下:

3.75s

0.11s

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



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

3.58s

24.8s


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

分享到:
评论

相关推荐

    memset()函数的另一种纯c语言实现方式

    在C语言中,`memset()`函数是用于将内存块中的特定范围填充为...总之,虽然这个自定义实现提供了一种纯C语言的方法来实现`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....

    自己整理-编程模板

    根据给定的信息,本文将详细解释与ACM竞赛中常用的一些编程模板相关的知识点,包括素数筛选、随机素数测试及大数素数测试等。...这些模板不仅可以提高编程效率,还能帮助参赛者更好地理解和掌握相关算法。

    C语言函数总结.pdf

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

    《兵种搭配》备忘1

    - **暴力memcpy、memset**:在处理树的结构时,直接使用内存复制函数如memcpy和memset可能会忽略树的内在结构,导致错误的匹配。这些函数适用于简单的数据复制,但对于复杂的数据结构,如树,需要更精确的操作。 3...

    华为2015校园招聘电子科大上机题目.pdf

    `memset`函数用于初始化全局数组`g_flag`,确保所有元素都设为0。此外,注意到在`stringFilter`函数中,`pOutputStr[i] = '\0'`用来添加字符串结束符,这是C/C++中表示字符串结束的标准方式。 6. 测试:题目提供了...

    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语言的内置函数来执行各种任务。 在实际编程中,合理使用内联函数和内置函数可以显著提高程序的运行速度,尤其是...

    8328在SDK 10.5.13上的K移植总结.pdf

    对于这些新芯片的移植和支持,可以借鉴本次8328移植的经验,进一步优化移植流程,提高移植效率。此外,随着物联网技术的不断进步,交换芯片的应用场景也将更加广泛,对交换芯片的功能需求也将更加多样化。因此,持续...

    poj 2376 解题报告

    贪心算法在解决特定类型的问题时具有显著的效率和实用性。特别是在处理诸如“Poj 2376”这样的问题时,贪心策略能够帮助我们找到最优解或近似最优解。这个问题要求我们找出最少数量的牛来清洁一段长度为`len`的地板...

    Keil_C51库函数参考文档

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

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

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

    TCP IP 详解 卷三

    - **填写服务器地址**:使用`memset`函数将 Internet 套接字地址结构清零后,填充服务器的 IP 地址和端口号。为了简化程序,作者假设用户通过命令行输入服务器的 IP 地址(点分十进制形式),并通过宏定义来设置端口...

    C++常用库函数

    5. `memset`:用于将指定的内存区域中的所有字节设置为特定的值。这个函数在初始化数据结构时尤其有用,例如将结构体的每个成员都设置为0。 6. `swab`:主要用在低级数据处理中,它将相邻的字节对进行交换,并将...

Global site tag (gtag.js) - Google Analytics