举个例子:考虑iostream和stdio库,任何一位C++程序员对这两者应该都不陌生。如iostream库具有类型安全特性,并且可扩充。然而在效率方面stdio的可执行文件通常比iostream更小更快。
然而,iostream和stdio之间的性能对比只是个例子,重点是:不同的程序库即使提供相似的机能,也往往表现出不同的性能取舍策略,所以一旦你找出程序的瓶颈,你应该思考是否有可能因为改用另一个程序库而移除了那些瓶颈。如果你的程序有一个I/0瓶颈,你可以考虑以stdio代替iostream,但如果你花太多的时间在动态内存分配和释放方面,你或许应该看看是否有其他提供了operator new和operator delete的程序库。
结论:由于不同的程序库将效率、扩充性、移植性、类型安全性等不同设计具体化,有时候可以找找看是否存在另一个功能相近的程序库而其在效率上较高的设计权重,如果有,改用它。