![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 1 Всего: 29 |
Какой язык программирования самый быстрый в плане манипуляции цифровыми массивами? Если бы вы писали шахматную программу, какой бы язык выбрали для достижения максимальной производительности на среднестатистическом современном компьютере, управляемом Windows XP?
|
|||
|
||||
DissDoc |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 463 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
![]() Я б ассемблер выбрал! На худой конец С++ и компилятор от MS |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: нет Всего: 154 |
я бы выбрал тот, который знаю :3
а вообще, фортран, си, с++ |
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 1 Всего: 29 |
Ассемблер... Разве на нём ещё программируют?
C / C++ / Fortran... Какой из этих языков выигрывает по производительности в работе с числовыми массивами? Зависит ли скорость элементарных математических функций от версии языка / года выпуска компилятора? |
|||
|
||||
Cr@$h |
|
||||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: нет Всего: 41 |
Fortran.
Да, т.к. сложность твоей программы будет достаточной, поэтому оптимизации компиляторв сыграют решаюшую роль. Советую использовать Intel. Fortran 2003 + OpenMP, т.к. род машин, про которые ты говоришь, "многоядерен". |
||||
|
|||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
а я бы делал упор на распределенные вычисления, раз уж надо ставить рекорды - 80 "современных компьютеров, управляемых windows xp" всяко быстрее одного.
|
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
тот, который знаю.
|
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 2 Всего: 56 |
||||
|
||||
Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: нет Всего: 41 |
||||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 2 Всего: 459 |
Wolf1994, язык тут не главное, главное алгоритмы + правильная настройка компилятора. При обработке массивов данных весьма эффективно использовать SSE/SSE2 и т.д. смотря что поддерживается компилятором. Как правило узким местом является всего несколько функций, вот их и нужно оптимизировать не чем-то типа фортрана, а лучше асма, поскольку компиляторы не умеют грамотно использовать SSE. Основной код на чем-то более выскоуровневом, все равно потри будут невысоки.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 3 Всего: 191 |
я согласен с Alexeis, действительно, ЯП не играет большой роли. Важен алгоритм, как ты хранить будешь, в чем, какой доступ использовать.
Можно и на Java довольно быстрые шахматы сделать ![]() |
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 1 Всего: 29 |
Спасибо за ответы. Выбрал компилятор: http://www.bloodshed.net/devcpp.html , так как среды разработки уровня интеловских мне не по карману.
Пока вопрос решён. Alexeis, прошу прощения за минус на сообщение - глюкнул тачпад. Это сообщение отредактировал(а) Wolf1994 - 10.3.2009, 18:20 |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 2 Всего: 459 |
Если быстрые функции обернуть в Dll, а затем ее вызывать из приложения на Java, то почему бы и нет. Но важнее всего алгоритм, иногда диву даешься, когда оптимизируют крохи, когда есть много узких мест где можно пахать и пахать. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
Cr@$h |
|
||||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: нет Всего: 41 |
Неправильно. Это руками ещё надо научиться использовать SSE лучше, чем компилятор сам делает. А то будешь векторизовать строку матрицы, когда она по столбцам хранится или наоборот. Глупо писать, используя ассемблерные вставки. Это не только прошлый век, но и сужает возможности для оптимизации.
Весь код на как можно более высоком, но неуправляемом уровне. Чем выше уровень описания задачи, тем больше возможностей для птимизации. Одно дело создавать три вложенных цикла для умножения матриц, другое -- написать это одной строкой, да указав дополнительно, что M и N большие и хорошо бы разбить данные для эффективного использования кеша. Более того, на ассемблере вы на распараллелите циклы ну ни как. SSE руками напишете в лучшем случае. И всё. ![]() Если не в коммерческих целях, то под Linux есть бесплатная лицензия. Удачи. |
||||
|
|||||
NODEN |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 15.4.2009 Репутация: нет Всего: нет |
Можно использовать PureBasic.
Судя по этим данным он достаточно быстр, да и SSE/SSE2 поддерживает, правда эту поддержку надо включить в опциях проекта. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Разные вопросы" | |
|
Сюда нужно постить только темы, которые нельзя отнести ни к одному из существующих разделов. Если вы не уверены, то просмотрите еще раз заголовки форумов, карту форума или попробуйте воспользоваться поиском.
С уважением, Smartov. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разные вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |