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

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

根据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下的一个分支。

原文:http://www.iteye.com/news/23446

【编辑推荐】

  1. C++11标准发布 附标准草案文本
  2. 给程序员介绍一些C++开源库
  3. C++反汇编与逆向分析技术揭秘
  4. C++一个网络编程实例
  5. Dart之于JavaScript正如C#之于C++
责任编辑:陈贻新 来源: iteye
相关推荐

2013-06-24 15:32:00

c++GCC

2010-01-15 18:57:58

C++CLI

2023-01-02 18:15:42

PythonC++模块

2010-02-06 13:47:08

C++标准扩展

2010-06-02 09:14:53

GCC编译器Linux

2011-04-13 16:50:54

CC++内存

2011-06-21 11:16:24

cc++

2011-04-11 09:47:50

C++内存管理

2011-07-15 01:10:13

C++内存分配

2009-08-28 10:14:45

C#内存泄露

2009-10-22 09:17:16

C++ CLR

2023-01-12 23:21:15

编程GCC 标志Linux

2024-01-09 09:23:12

指针C++

2011-06-16 09:28:02

C++内存泄漏

2011-07-01 10:16:08

C++内存管理

2010-02-04 14:58:06

C++内存分配

2023-12-12 13:13:00

内存C++编程语言

2023-11-17 11:40:51

C++内存

2011-07-14 17:45:06

CC++

2012-08-20 10:43:50

IBMdW
点赞
收藏

51CTO技术栈公众号