<b>More Effective C++之考虑变更程序库</b>[VC/C++编程]
本文“<b>More Effective C++之考虑变更程序库</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
程序库的计划就是一个折衷的历程.抱负的程序库应当是短小的、快速的、强盛的、机动的、可扩大的、直观的、广泛实用的、具有杰出的支持、没有利用约束、没有错误的.这也是不存在的.为尺寸和速度而举行优化的程序库普通不能被移植.具有大量功效的的程序库不会具有直观性.没有错误的程序库在利用范围上会有限制.真实的世界里,你不能拥有每一件东西,总得有付出.
差别的计划者给这些条件赋予了差别的优先级.他们从而在计划中牺牲了差别的东西.因此普通两个供应相同功效的程序库却有着完好差别的性能特点.
比方,考虑iostream和stdio程序库,关于C++程序员来说二者都是可以利用的.iostream程序库与C中的stdio相比有几个长处(拜见Effective C++).比方它是范例安全的(type-safe),它是可扩大的.但是在效率方面,iostream程序库老是不如stdio,因为stdio产生的履行文件与iostream产生的履行文件相比尺寸小并且履行速度快.
首先考虑履行速度的问题.要想掌握iostream和stdio之间的性能差别,一种办法就是用这两个程序库来运行benchmark程序.不过你必须记着benchmark也会扯谎.不但很难拿出一组可以代表程序或程序库典型用法的数据,并且就算拿出来也是没用,除非有坚固的办法判断出你或你的客户的具有什么样的特点.不过在办理一个问题的不用办法的对比上,benchmark还是可以供应一些信息,所以固然完好依靠benchmark是笨拙的,但是忽视它们也是笨拙的.
让我们测试一个简单的benchmark程序,只测试最基本的I/O功效.这个程序从尺度输入读取30000个浮点数,然后把它们以固定的格局写到尺度输出里.编译时预处理标记STDIO决意是利用stdio还是iostream.假如定义了这个标记,就是用stdio,不然就利用iostream程序库.
以上是“<b>More Effective C++之考虑变更程序库</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |