Re[20]: С# vs C++, голые цифры
От: CreatorCray  
Дата: 17.06.09 11:34
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Ссылки дашь?

Например Hoard, аллокатор в Intel TBB
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[20]: С# vs C++, голые цифры
От: FR  
Дата: 17.06.09 11:47
Оценка:
Здравствуйте, gandjustas, Вы писали:

FR>>Угу и они их давно написали и выложили, так что остальным 99% остается только скачать.


G>Ссылки дашь?


http://www.garret.ru/threadalloc/readme.html
http://www.dent.med.uni-muenchen.de/~wmglo/malloc-slides.html#tth_sEc14
http://google-perftools.googlecode.com/svn/trunk/doc/tcmalloc.html
http://www.hoard.org/
Re[20]: С# vs C++, голые цифры
От: dr.Chaos Россия Украшения HandMade
Дата: 17.06.09 11:49
Оценка:
Здравствуйте, gandjustas, Вы писали:

DC>>А если передавать объект которым управляет GC между потоками, синхронизации не надо?

G>Не надо.

Объясни почему или дай ссылку на источник. Интересно, как происходит сериализация доступа если у нас два потока лежат на разных GC?

DC>>Да и синхронизации будет требовать не только посчёт ссылок.

G>А что еще?

Ну собственно работа с самим объектом, например.

G>Тест уже был, читайте холивары.

Ну и тебя туда же .
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[21]: С# vs C++, голые цифры
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 25.06.09 22:39
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

DC>>>А если передавать объект которым управляет GC между потоками, синхронизации не надо?

G>>Не надо.
DC>Объясни почему или дай ссылку на источник. Интересно, как происходит сериализация доступа если у нас два потока лежат на разных GC?

Сейчас на вскидку не скажу, но есть lock-free алгоритмы, позволяющие обойтись без прямой синхронизации в этом случае. Пробегало где-то у Sun. Если найду, скину ссылку.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[20]: С# vs C++, голые цифры
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 25.06.09 22:47
Оценка:
Здравствуйте, gandjustas, Вы писали:

DC>>Ну я могу сказать что ручное управление памятью в любом случае быстрее и дешевле .

G>Теоретически быстрее может быть. А практически добиться таких результатов в сложных случаях выйдет настолько дорого, что реально этим никто заниматься не будет.

С чего ты это взял? Простой Thread-local pool с соответствующими указателями вполне дёшев и в реализации, и в использовании. И скорость даёт очень приличную.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[22]: С# vs C++, голые цифры
От: dr.Chaos Россия Украшения HandMade
Дата: 26.06.09 07:51
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Сейчас на вскидку не скажу, но есть lock-free алгоритмы, позволяющие обойтись без прямой синхронизации в этом случае. Пробегало где-то у Sun. Если найду, скину ссылку.


Не, ну с подсказками нечестно .

ЗЫ Обязательно кинь.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[21]: С# vs C++, голые цифры
От: CreatorCray  
Дата: 26.06.09 08:32
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

DC>>>Ну я могу сказать что ручное управление памятью в любом случае быстрее и дешевле .

G>>Теоретически быстрее может быть. А практически добиться таких результатов в сложных случаях выйдет настолько дорого, что реально этим никто заниматься не будет.

ГВ>С чего ты это взял? Простой Thread-local pool с соответствующими указателями вполне дёшев и в реализации, и в использовании. И скорость даёт очень приличную.

плюсадин!
Тем более что как раз такой "Простой Thread-local pool" уже как то порвал его (ганжустаса) тест на скорость аллокации.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: С# vs C++, голые цифры
От: fuyant  
Дата: 26.06.09 14:54
Оценка:
Здравствуйте, IID, Вы писали:

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


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


A>>>было бы еще интересно на кваде проверить опенмпишный вариант


IID>>Вечером заценю на домашнем Q6600. И опенмпшный, и сишарповский


IID>Заценил.


не могли бы вы выложить оба бинарники?
хотелось бы и сюда статистики добавить, и посмотреть, настолько ли мой проц такой тупой на вычисления, как говорят... да и вообще посмотреть на его возможности: core i7 920 (не гнался), который о четырех ядрах, но типа как их там восемь, и с трехканальной памятью
И что таки нужно установить для .нетовского примера? четвертый фреймворк? потому что в шарпах я уже практически ничего не смыслю

IID>

IID>SpeedTestCpp.exe
IID>elapsed: 9.908 seconds. b=1813065000


IID>Честно попытался запустить C# вариант с Parallel.For, но замучался. По дефолту 2008-ая этого не умеет. Скачал и установил ParallelExtensions_Jun08CTP.msi Всё равно неймспейс System.Threading.Concurrency, как и System.Concurrency неизвестен. А т.к. в шарпе я не большой спец — забил.


IID>Так что время исполнения C# кода пока остаётся тем же, и мы уже имеем 1353% преимущества.
Re[19]: С# vs C++, голые цифры
От: fuyant  
Дата: 26.06.09 14:57
Оценка:
Здравствуйте, Sheridan, Вы писали:

S>gandjustas wrote:


>>>> Сразу приводи название софта, который "заметно тормозит".

>> S>rsdn@home vs. knode например
>> Там тормозит нативная БД вроде как.
S>И изза этого окно при перетаскивании не отрисовывалось?


>> Тупо отрисовка — это сплошной нэтив. Считй что ты сравниваешь один нэтив фреймворк с другим.

S>И что? Это както лишает приложение тормозов?

>> Кстати, покажи в каком WPF приложении тормозит "тупо отрисовка".

S>В любом. ___Любое___ дотнет приложение, которое я когда-либо видел — так или иначе тормозило.

ну, я видел очень много приложений на плюсах, которые невероятно тормозили. И видел дельфийские и ява программы, которые субъективно обгоняли приложения на плюсах и .нете
имхо, некорректно сравнивать языки (фреймворки, платформы, библиотеки — подчеркните нужное), меряя написанные на них приложения
Re[23]: С# vs C++, голые цифры
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 27.06.09 12:23
Оценка: 3 (2)
Здравствуйте, dr.Chaos, Вы писали:

ГВ>>Сейчас на вскидку не скажу, но есть lock-free алгоритмы, позволяющие обойтись без прямой синхронизации в этом случае. Пробегало где-то у Sun. Если найду, скину ссылку.

DC>Не, ну с подсказками нечестно .

Да ладно.

DC>ЗЫ Обязательно кинь.


Покопайся вот тут. Именно ту бумажку, о которой я упоминал, я пока не нашёл, нашлась довольно интересная другая: Lock-free reference counting. Вообще, кстати, достаточно просто погуглить по "lock free", в сети много любопытного по этому поводу.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[13]: С# vs C++, голые цифры
От: _d_m_  
Дата: 29.06.09 01:05
Оценка:
Здравствуйте, fuyant, Вы писали:

F>хотелось бы и сюда статистики добавить, и посмотреть, настолько ли мой проц такой тупой на вычисления, как говорят... да и вообще посмотреть на его возможности: core i7 920 (не гнался), который о четырех ядрах, но типа как их там восемь, и с трехканальной памятью


Их там 4. Но Intel опять вернулись к идее HyperThreding-а — вобщем по два конвеера на ядро.
Re[24]: С# vs C++, голые цифры
От: dr.Chaos Россия Украшения HandMade
Дата: 29.06.09 18:38
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Покопайся вот тут. Именно ту бумажку, о которой я упоминал, я пока не нашёл, нашлась довольно интересная другая: Lock-free reference counting. Вообще, кстати, достаточно просто погуглить по "lock free", в сети много любопытного по этому поводу.


Так, из занудства замечу, что lock-free это лишь гарантия отсутствия дедлоков, а вовсе не скорости выполнения .
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[25]: С# vs C++, голые цифры
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 29.06.09 21:53
Оценка:
Здравствуйте, dr.Chaos, Вы писали:

DC>Так, из занудства замечу, что lock-free это лишь гарантия отсутствия дедлоков, а вовсе не скорости выполнения .


Правильно заметишь. Правда, это ещё и гарантия того, что параллельные процессы не буду сталкиваться, кроме как на атомарных операциях.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.