zoukankan      html  css  js  c++  java
  • 底层调用一定比上层快吗?

    在我的印象中有一种误区:总是认为底层比上层快,如汇编编的程序比Basic快,操作系统底层调用比上层调用速度快,甚至认为底层开发比上层开发有前途,没想到今天被一段程序推翻。

    这是一段Linux上的C代码,请把复制缓冲区大小SIZE分别改为1和1024编译运行此程序,复制的文件1.mp3大约为5M,上代码:

    Code


    下面是运行结果(Ubutun8.10):

     

    说明:

    库函数当前比系统函数要高级,但此处在SIZE=1时,效率相差非常巨大。合理的解释是:指令从外部(库函数)到操作系统内核函数需要时间,库文件函数在fwrite到一定数量后才调用系统函数write,而如果直接使用系统函数write则每次都需要调用系统内核,故需要多次传递,另外估计应该和多次写磁盘也有关系。

  • 相关阅读:
    不能对同一张表先查询后更新的解决方案
    Maven的一些常用命令
    在sql中使用函数,遇到net.sf.jsqlparser.parser.ParseException异常
    2017年秋季遇到的兼容问题总结
    最近关于css样式重构的一点心得体会
    CSS Modules使用方法
    上传图片获取base64位编码
    移动端自适应莫名其妙撑开高度的问题
    解决ie8下页面刚出现时候的晃动问题
    解决ie8下面placeholder显示问题
  • 原文地址:https://www.cnblogs.com/81/p/1499654.html
Copyright © 2011-2022 走看看