Здравствуйте, Sergey, Вы писали:
>> Там проблема распараллеливания как класс отсутствует.
S>Допустим, мои данные не влазят в память, и мне приходится их держать на диске. В файл(ы) за этими данными одновременно лезет несколько потоков. Проблема синхронизации по-прежнему будет отсутствовать в случае, если программа, которая это делает, написана на чисто функциональном языке?
Даешь каждому потоку по копии файла
>> И каких-либо особых телодвижений от программиста для распараллеливания в виде создания костылей типа семафоров, тредов, критических секций и прочего не требуется.
S>Копировать все подряд данные, так чтобы для доступа к ним не требовалось мьютексов и кондишенов, я могу и на С++, С или даже ассемблере. Только что при этом станет с производительностью, если обрабатываемые массивы данных достаточно большие?
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
AVK>Я дурака не делаю, я тебе излагаю факты. WPF однопоточен.
Как однопоточен? Я, например, пробовал несколько потоков создавать. TaskManager показывал, что для PresentationHost количество потоков увеличилось. Внешне это выглядело, как реально параллельное выполнение. В отличие, например, от Workflow Foundation. На многоядерном проце я правда не пробовал.
Или вы просто имеете в виду, что для WPF приложения интерфейс только одним потоком отрисовывается?
Здравствуйте, DmitryElj, Вы писали:
DE>Здравствуйте, Guard, Вы писали:
G>>Уже имеются двухъядерные процессоры, на 2007 анонсированы четырехъядерные, в течение пяти лет обещают 80-ядерные. Что мы обычно имеем при таком "улучшении"? ... Таким образом, интересно, когда это наступит для повседневных задач (Gnu CC, Word, Netsurfing, etc). Кто что думает?
DE>Глядя на то, как Visual Studio 2005 + Visual Assist умудряются забирать 98% ресурсов 1.7ГГц-процессора "просто так", в фоне, даже без компиляции, я думаю что современные разработчики успешно справятся с поставленной задачей и смогут забить ресурсы даже 80-ядерного процессора
DE>Хотя на самом деле грустно это, не прогресс а сплошной маркетинг.
А Visual Assist не крякнутый ли (со встроенным спам-трояном)?
Здравствуйте, kdm071, Вы писали:
K>Или вы просто имеете в виду, что для WPF приложения интерфейс только одним потоком отрисовывается?
Угу. Только не отрисовывается (отрисовывается как раз он асинхронно, и асинхронно же отрабатывает декларативная анимация), а обрабатывается прикладным кодом. А скорость UI именно что и зависит от того, с какой скоростью отработает реакция на внешнее событие.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
Здравствуйте, Дм.Григорьев, Вы писали:
ДГ>Здравствуйте, trophim, Вы писали:
T>>А как распараллелить алгоритм, который никаким боком не хочет распараллеливаться. Т.е. такой, например, где очередной результат зависит от предыдущих расчетов. Ему наличие кучи ядер никак не поможет.
ДГ>Лет 10 назад, мне мой научный руководитель в универе мимоходом рассказал про то, что есть такая область математики, что америкосы вовсю ею занимаются и ухитрились даже процесс сложения двух двоичных чисел распараллелить. ХЗ правда или нет.
Здравствуйте, alpha21264, Вы писали:
ДГ>>Лет 10 назад, мне мой научный руководитель в универе мимоходом рассказал про то, что есть такая область математики, что америкосы вовсю ею занимаются и ухитрились даже процесс сложения двух двоичных чисел распараллелить. ХЗ правда или нет. A>Изобрели схему ускоренного переноса?
Скорее всего, имелось в виду ускорение умножения. Такие алгоритмы, действительно есть — можно погуглить по "Karatsuba parallel multiplication"
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Erop, Вы писали:
E>>Ну вот конкрентно MS Word всякие спеллеры/граммеры запускает на другой нити, чем редактор.
AVK>Но запускает он это в потоке с минимальным приоритетом. Поэтому на скорости отклика это практически не сказывается. Появление второго ядра лишь сделает проверку лишь слегка быстрее при активной работе пользователя.
Вот у меня сейчас на коленках ноут с Core2Duo 1.8GHz. В Word и Excel работать приятнее чем на десктопе с одним шцтрым ядром (Athlon3000x64). При этом на нуте у меня Vista, а на десктопе XP. Памяти и там и там по 1Гб. На нуте есть одна приятная осбоенность, что даже если один поток ложит одно ядро, то это не мешает GUI работать. На декстопе можно положить ядро так, что TaskManager устанешь ждать.
Теперь по вашему комментарию. Допустим у нас есть одно ядро, тогда его будет делить ось, спеллер, ГУИ и сам ворд. А если у нас два ядра, то задачи разпределятся и если одно ядро было загружено в первом случаее до 100%, то при переходе ко второму варианту мы получим хороши прирост в скорости отработки запросов.
Кстати, Excel 2007 уже спректирован по многоядерность, там даже галочка есть для распаралеливания вычислений.
Так что второе ядро загрузят, поверьте.
Здравствуйте, wraithik, Вы писали:
W>Вот у меня сейчас на коленках ноут с Core2Duo 1.8GHz. В Word и Excel работать приятнее чем на десктопе с одним шцтрым ядром (Athlon3000x64).
Даже одно ядро Core2Duo на частоте 1.8 существенно шустрее одного ядра AMD на частоте 1.8.
W>На нуте есть одна приятная осбоенность, что даже если один поток ложит
Кладет
W> одно ядро, то это не мешает GUI работать.
Idle поток и на одном ядре не мешает GUI работать — многозадачность в NT вытесняющая.
W>Теперь по вашему комментарию. Допустим у нас есть одно ядро, тогда его будет делить ось, спеллер, ГУИ и сам ворд. А если у нас два ядра, то задачи разпределятся и если одно ядро было загружено в первом случаее до 100%, то при переходе ко второму варианту мы получим хороши прирост в скорости отработки запросов.
Заметь, я нигде не утверждал, что два ядра бесполезны. Но степень влияния этого факта на современный UI переоценивать не стоит.
W>Так что второе ядро загрузят, поверьте.
А я и не говорил что не загрузят.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>