中国开发网: 论坛: 程序员情感CBD: 贴子 248878
holly: C++0x 设计 (6)
性能与机器模型

基于一个简单的从语言特性到硬件的映射, 对 C++ 的成功是至关紧要的 (就像在 C 那里一样). 除了特别是 exception 这种例外, C++ 只需要最小的运行时支持. 对 RTTI (dynamic_cast 和 typeid) 以及自由存储区 (new 和 delete) 的支持仅仅在你直接或者间接用到那些功能的时候才会包含进来. 在很多应用领域里, 特别是嵌入式系统编程领域, 消除潜在的昂贵特性的能力是很重要的. Exception 处理近来已经变得相当有效了, 但是不幸的是, 对严格实时程序来说它还是不可预测的. 在需要时, exception 处理能够通过编译器开关将其禁止.

C++0x 中没什么东西会改变这种状态. C++ 是, C++0x 也将保持这种对性能最优和资源关键的应用的支持[6]. 如果 C++0x 加入需要运行时支持的功能, 这些功能也会被设计成仅仅在代码实际使用它们时才会增加额外的支持. 那就是零开销原则: "你不必为没用到的东西付出代价" 和 "你使用的能够被实现成跟手写一样的开销". 这仍然是 C++ 的基石.

C++ 的硬件模型很简单: 基本类型直接映射到硬件支持的实体, 比如字节, 字, 以及寄存器. 对象序列直接映射到硬件的序列. 操作直接映射到机器指令而且任何操作都没有被掩盖的分配, 间接操作, 或者迂回的实现. 挑战将会是怎样把并发放进这个图景之中.

总结一下: C++0x 会遵循零开销原则并保留允许直接和有效使用基本上所有硬件的机器模型.
若你在年轻时上过水木, 它会一生跟随着你, 如一场浮动的盛宴

禁色和禁果仍被保存吗?
这世界有否给潜移默化?
离过家回了家仍住中环吗?
-----信有带到新居里烧吗?

一切美好的都会消失

人要是没有理想, 跟咸鱼有什么两样?

“把人们引向艺术和科学的最强烈动机之一,是要逃避日常生活中令人厌恶的粗俗和使人绝望的沉闷,是要摆脱人们自己反复无常的欲望的桎梏。一个修养有素的人总是渴望逃避个人生活而进入客观直觉和思维的世界。”

不要忘了,这个世界穿透一切高墙的东西,它就在我们的内心深处,他们无法达到,也接触不到,那就是希望。(FROM《肖申克的救赎》)

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录