Re[48]: пример eao197: "сообщения" рвут "разделяемую память"
От: remark Россия http://www.1024cores.net/
Дата: 13.12.08 20:28
Оценка: -1 :)
Здравствуйте, Gaperton, Вы писали:

G>Здравствуйте, eao197, Вы писали:


G>>Мне очень жаль, но это совершенно очевидно будет работать медленнее, чем мое решение на очередях сообщений. Потому, что у меня будет просто обычный read на каждый lookup. Я думал, еще раз тебе этого объяснять не стоит, и ты придумал что-то новенькое?


G>Ты что, не знаешь, что atomic_read заметно медленнее обычного read? Может быть, ты наконец перестанешь прикидываться валенком? Обкакался, так будь мужиком, блин, и имей смелость это признать. Тем более — это всего лишь форум, и всего знать невозможно. Я был о тебе лучшего мнения, короче.


Даже на архитектуре POWER, с одной из самых расслабленных моделей памяти на сегодняшний день, atomic_read с требуемым в данном случае упорядочиванием consume, является не более чем обычной инструкцией загрузки из памяти ld (той самой, которая десятками встречается в любой функции и занимает доли такта):
Example POWER Implementation for C/C++ Memory Model:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2745.html
(раздел "PowerPC Code Sequences")

И точно так же, atomic_read с упорядочиванием consume является обычной инструкцией загрузки на архитектурах x86, IA-64, SPARC RMO/PSO/TSO, ARM, и на всех остальных современных архитектурах.


1024cores — all about multithreading, multicore, concurrency, parallelism, lock-free algorithms
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.