Здравствуйте, gandjustas, Вы писали:
DC>>А если передавать объект которым управляет GC между потоками, синхронизации не надо? G>Не надо.
Объясни почему или дай ссылку на источник. Интересно, как происходит сериализация доступа если у нас два потока лежат на разных GC?
DC>>Да и синхронизации будет требовать не только посчёт ссылок. G>А что еще?
Ну собственно работа с самим объектом, например.
G>Тест уже был, читайте холивары.
Ну и тебя туда же .
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Здравствуйте, dr.Chaos, Вы писали:
DC>>>А если передавать объект которым управляет GC между потоками, синхронизации не надо? G>>Не надо. DC>Объясни почему или дай ссылку на источник. Интересно, как происходит сериализация доступа если у нас два потока лежат на разных GC?
Сейчас на вскидку не скажу, но есть lock-free алгоритмы, позволяющие обойтись без прямой синхронизации в этом случае. Пробегало где-то у Sun. Если найду, скину ссылку.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, gandjustas, Вы писали:
DC>>Ну я могу сказать что ручное управление памятью в любом случае быстрее и дешевле . G>Теоретически быстрее может быть. А практически добиться таких результатов в сложных случаях выйдет настолько дорого, что реально этим никто заниматься не будет.
С чего ты это взял? Простой Thread-local pool с соответствующими указателями вполне дёшев и в реализации, и в использовании. И скорость даёт очень приличную.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Сейчас на вскидку не скажу, но есть lock-free алгоритмы, позволяющие обойтись без прямой синхронизации в этом случае. Пробегало где-то у Sun. Если найду, скину ссылку.
Не, ну с подсказками нечестно .
ЗЫ Обязательно кинь.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Здравствуйте, Геннадий Васильев, Вы писали:
DC>>>Ну я могу сказать что ручное управление памятью в любом случае быстрее и дешевле . G>>Теоретически быстрее может быть. А практически добиться таких результатов в сложных случаях выйдет настолько дорого, что реально этим никто заниматься не будет.
ГВ>С чего ты это взял? Простой Thread-local pool с соответствующими указателями вполне дёшев и в реализации, и в использовании. И скорость даёт очень приличную.
плюсадин!
Тем более что как раз такой "Простой Thread-local pool" уже как то порвал его (ганжустаса) тест на скорость аллокации.
Здравствуйте, IID, Вы писали:
IID>Здравствуйте, IID, Вы писали:
IID>>Здравствуйте, Antikrot, Вы писали:
A>>>было бы еще интересно на кваде проверить опенмпишный вариант
IID>>Вечером заценю на домашнем Q6600. И опенмпшный, и сишарповский
IID>Заценил.
не могли бы вы выложить оба бинарники?
хотелось бы и сюда статистики добавить, и посмотреть, настолько ли мой проц такой тупой на вычисления, как говорят... да и вообще посмотреть на его возможности: core i7 920 (не гнался), который о четырех ядрах, но типа как их там восемь, и с трехканальной памятью
И что таки нужно установить для .нетовского примера? четвертый фреймворк? потому что в шарпах я уже практически ничего не смыслю
IID>
IID>Честно попытался запустить C# вариант с Parallel.For, но замучался. По дефолту 2008-ая этого не умеет. Скачал и установил ParallelExtensions_Jun08CTP.msi Всё равно неймспейс System.Threading.Concurrency, как и System.Concurrency неизвестен. А т.к. в шарпе я не большой спец — забил.
IID>Так что время исполнения C# кода пока остаётся тем же, и мы уже имеем 1353% преимущества.
Здравствуйте, Sheridan, Вы писали:
S>gandjustas wrote:
>>>> Сразу приводи название софта, который "заметно тормозит". >> S>rsdn@home vs. knode например >> Там тормозит нативная БД вроде как. S>И изза этого окно при перетаскивании не отрисовывалось?
>> Тупо отрисовка — это сплошной нэтив. Считй что ты сравниваешь один нэтив фреймворк с другим. S>И что? Это както лишает приложение тормозов?
>> Кстати, покажи в каком WPF приложении тормозит "тупо отрисовка". S>В любом. ___Любое___ дотнет приложение, которое я когда-либо видел — так или иначе тормозило.
ну, я видел очень много приложений на плюсах, которые невероятно тормозили. И видел дельфийские и ява программы, которые субъективно обгоняли приложения на плюсах и .нете
имхо, некорректно сравнивать языки (фреймворки, платформы, библиотеки — подчеркните нужное), меряя написанные на них приложения
Здравствуйте, dr.Chaos, Вы писали:
ГВ>>Сейчас на вскидку не скажу, но есть lock-free алгоритмы, позволяющие обойтись без прямой синхронизации в этом случае. Пробегало где-то у Sun. Если найду, скину ссылку. DC>Не, ну с подсказками нечестно .
Да ладно.
DC>ЗЫ Обязательно кинь.
Покопайся вот тут. Именно ту бумажку, о которой я упоминал, я пока не нашёл, нашлась довольно интересная другая: Lock-free reference counting. Вообще, кстати, достаточно просто погуглить по "lock free", в сети много любопытного по этому поводу.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, fuyant, Вы писали:
F>хотелось бы и сюда статистики добавить, и посмотреть, настолько ли мой проц такой тупой на вычисления, как говорят... да и вообще посмотреть на его возможности: core i7 920 (не гнался), который о четырех ядрах, но типа как их там восемь, и с трехканальной памятью
Их там 4. Но Intel опять вернулись к идее HyperThreding-а — вобщем по два конвеера на ядро.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Покопайся вот тут. Именно ту бумажку, о которой я упоминал, я пока не нашёл, нашлась довольно интересная другая: Lock-free reference counting. Вообще, кстати, достаточно просто погуглить по "lock free", в сети много любопытного по этому поводу.
Так, из занудства замечу, что lock-free это лишь гарантия отсутствия дедлоков, а вовсе не скорости выполнения .
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Здравствуйте, dr.Chaos, Вы писали:
DC>Так, из занудства замечу, что lock-free это лишь гарантия отсутствия дедлоков, а вовсе не скорости выполнения .
Правильно заметишь. Правда, это ещё и гарантия того, что параллельные процессы не буду сталкиваться, кроме как на атомарных операциях.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!