LINUX.ORG.RU

Intel Threading Building Blocks


0

0

Intel начала распространение C++ runtime library, которая позволит оптимизировать разработку многонитевых приложений, и достигнуть заметного увеличения производительности на многоядерных CPU.

Рекомендуемые системные требования.
Intel Pentium 4 (HT Technology), Intel Xeon, или Intel Itanium 2, 1 GB памяти.
Red Hat Enterprise Linux 3 или 4
Red Hat Fedora Core 4 (не поддерживается для систем на базе Itanium)
Red Flag DC Server (не поддерживается для систем на базе Itanium)
SuSE Linux Enterprise Server 9
SGI Propack 4.0 (только для систем на базе Itanium)
Intel C++ Compiler 9.0 для Linux или более старший
GCC 3.2, 3.3, 3.4, или 4.0

>>> Подробности

Ответ на: комментарий от filin

Никогда не думал, что такое скажу, но вот, говорю. Это чего вообще такое? Попытка сделать нечто, похожее на STL, только от Intel? Какой в этом смысл, чем оно лучше STL/Boost? Сразу сознаюсь, я "подробности" не читал, мне как-то влом даже.

Casus ★★★★★
()
Ответ на: комментарий от Casus

> Попытка сделать нечто, похожее на STL, только от Intel? Какой в этом смысл, чем оно лучше STL/Boost?

NIH-синдром? :-)

no-dashi ★★★★★
()
Ответ на: комментарий от Casus

> Это чего вообще такое? Попытка сделать нечто, похожее на STL, только от Intel? Какой в этом смысл, чем оно лучше STL/Boost?

ну например, в STL контейнеры не thread-safe, плюс "стандартные блоки" - алгоритмы заточенные под определённые модели организации тредов (несознательные товарищи ругают boost::thread за низкоуровневость)

Вот по поводу thread-safe контейнеров у меня есть подозрение в чрезвычайной хреновости такого решения, когда каждая операция с контейнером будет автоматом лочиться, то при интенсивной работе с контейнерами cpu будет заниматься за/раз-лачиванием и подавлением конвееризации и out-of-order операций повсеместными barier. Я только что разобрался с подобным случаем, где я ставил локи только по необходимости и тогда, когда это действительно нужно и всё равно бОльшая часть времени уходит на синхронизацию :(.

> С другой стороны не надо балываться с локами в каждом встречном поперечном месте, и как следствие воевать с дедлоками в больших сложных приложениях.

плохо это, описал выше почему

> Если так - дык и STL гавно. И вообще любые библиотеки - гавно. Да и POSIX гавно - понагородят из стандарных библиотек, а как захочешь "странного" так...

нет, Г, когда лишают выбора как делать. Если я хорошо запомнил, то в интеловых контейнерах нет итераторов, всё, пипец, работа только через стандартные алгоритмы, а какие стандартные будет решать интель :(

> Про некоторые части STL надо большими красными буквами написать "НИКОГДА НЕ ИСПОЛЬЗУЙТЕ ДЛЯ ПАРАЛЛЕЛЬНОГО ДОСТУПА", и ведь не пишут, <редиски>. Как классно я (по неопытности) со строчками нарвался, хоть и только для чтения использовал... После этого внимательно изучал каждый объект в STL, чтобы понять как в многопоточном окружении с ним работать...

STL _не_ thread-safe, если синхронизоваться, то проблем быть не должно

filin ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.