LINUX.ORG.RU

История изменений

Исправление hateyoufeel, (текущая версия) :

насколько понял, теперь он таки будет уметь отслеживать некоторые побочные эффекты

Он в принципе это не может делать, потому что есть побочные библиотеки. У C++ в типе функции не содержится подобной информации.

Есть процы, где работает прямо сейчас: Haswell-EX, Broadwell-C. Наверное, скоро починят, и будет всем счастье.

На Xeon E7 v3 работает, только они стоят от $1.2k за чип.

На самом деле, с аппаратной транзакционной памятью будет ещё хуже чем с STM. Если ты внимательно почитаешь спеки TSX, заметишь, что многие инструкции процессора гарантированно вызывают отмену транзакции. Среди подобных инструкций есть, например, syscall. Добавь к этому тот факт, что некоторые функции в libc могут быть реализованы как через сискол так и без него (gettimeofday - каноничный пример), и получится, что использование транзакционной памяти в C/C++ превратится в непрекращающуюся стрельбу себе по ногам из пулемёта.

Исправление hateyoufeel, :

насколько понял, теперь он таки будет уметь отслеживать некоторые побочные эффекты

Он в принципе это не может делать, потому что есть побочные библиотеки. У C++ в типе функции не содержится подобной информации.

Есть процы, где работает прямо сейчас: Haswell-EX, Broadwell-C. Наверное, скоро починят, и будет всем счастье.

На Xeon E7 v3 работает, только они стоят от $1.2k за чип.

На самом деле, с аппаратной транзакционной памятью будет ещё хуже чем с STM. Если ты внимательно почитаешь спеки TSX, заметишь, что многие инструкции процессора гарантированно вызывают отмену транзакции. Среди подобных инструкций есть, например, syscall. Добавь к этому тот факт, что некоторые функции в libc могут быть реазилованы как через сискол так и без него (gettimeofday - каноничный пример), и получится, что использование транзакционной памяти в C/C++ превратится в непрекращающуюся стрельбу себе по ногам из пулемёта.

Исходная версия hateyoufeel, :

насколько понял, теперь он таки будет уметь отслеживать некоторые побочные эффекты

Он в принципе это не может делать, потому что есть побочные библиотеки. У C++ в типе функции не содержится подобной информации.

Есть процы, где работает прямо сейчас: Haswell-EX, Broadwell-C. Наверное, скоро починят, и будет всем счастье.

На Xeon E7 v3 работает, только они стоят от $1.2k за чип.

На самом деле, с аппаратной транзакционной памятью будет ещё хуже. Если ты внимательно почитаешь спеки TSX, заметишь, что многие инструкции процессора гарантированно вызывают отмену транзакции. Среди подобных инструкций есть, например, syscall. Добавь к этому тот факт, что некоторые функции в libc могут быть реазилованы как через сискол так и без него (gettimeofday - каноничный пример), и получится, что использование транзакционной памяти в C/C++ превратится в непрекращающуюся стрельбу себе по ногам из пулемёта.