欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

GCC 4.7为C/C++带来事务内存扩展

程序员文章站 2022-04-08 20:42:08
...
根据GCC Wiki上的介绍,在GCC的下一个版本GCC 4.7中将支持事务内存技术。GCC表示,事务内存扩展已经纳入了GCC的工作日程中,在GCC 4.7中将可以使用。目前,该分支工作已成为Velox项目的一部分

事务内存(Transactional Memory)是一种并行程序设计的方式,其来自于数据库管理系统中的事务(Transaction)概念。GCC称,“事务性内存旨在让线程编程更简单,特别是在利用了事务的不同线程间同步访问数据方面。”

事务的精确语义在C++11/C1X的内存模型中进行了定义(GCC 4.7中已合并C++11),关于GCC对C++事务扩展的规范描述你可以参见这个文档。GCC表示新的规范将很快发布。一份尚处于编写中的文档则透露GCC 4.7中的事务内存实现将非常灵活,其运行时库(libitm)可同时基于STM、HTM或者混合事务内存系统。

GCC表示,目前这一支持还只是实验性的。这也意味着,一些实现尚未完全完善。如果你在使用过程中发现性能不足,不该认为事务内存天生就是缓慢的,而应向GCC提交BUG。

GCC 4.7目前还处于开发阶段,不过据透露,该版本变化颇大,而且可能还有几个分支要合并。今年8月份,英特尔宣布开源Cilk Plus C和C++语言并行编程扩展,之后它便成为了GCC 4.7下的一个分支。

Via  gnu.org