Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> asm vs C/C++, скорострельность 
:(
    Опции темы
RA
Дата 29.7.2004, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес




Господа, а почему сортировка?
Может лутче на поиск слова в файлах по маске *.* ?
PM   Вверх
Girder
Дата 29.7.2004, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004




maxim1000 ты прав - задача явно не та. Лудше бы определитель матрицы, размерность так 9х9, посчитали через рекурсию.
При этом размерность каждой ячейки: Word, а ответ рекурсивной функции DWord(или там PWord, QWord, TByte). - лудше конечно PWord(6 байт) или TByte(10 байт).
Разница в размерности выбранно специально.

Вот тогда и проявится: насколько грамотно работает компилятор.

Это сообщение отредактировал(а) Girder - 29.7.2004, 16:24


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Monty
Дата 29.7.2004, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа




Цитата(RAdmin @ 29.7.2004, 15:15)
Господа, а почему сортировка?
Может лутче на поиск слова в файлах по маске *.* ?

Это уже от диска будет зависить smile.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Sardar
Дата 29.7.2004, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen




Загрузка с дискетки и прочие инкубаторские условия не допустимы, ИМXО.
Если сортировать, то не числа, а строки по алфавиту в любом направлении.
Нет ничего хуже супер результатов надуманных задач, ИМXО.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
RA
Дата 29.7.2004, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес




Цитата(Monty @ 29.7.2004, 16:39)
Цитата(RAdmin @ 29.7.2004, 15:15)
Господа, а почему сортировка?
Может лутче на поиск слова в файлах по маске *.* ?

Это уже от диска будет зависить smile.gif

Ну дык протестим всё это на твоём диске
PM   Вверх
Fantasist
Дата 29.7.2004, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй
***


Профиль
Группа: Участник Клуба
Сообщений: 1517
Регистрация: 24.3.2002




От компилятора тоже будет зависить. Где-то на RSDN видел статью - там компилятор от Intel при работе с float значениями уделал всех остальных в десятки раз.


--------------------
Волны гасят ветер...
PM MAIL   Вверх
-=::BlackCat::=-
Дата 29.7.2004, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 12.7.2003
Где: растёт анаша?




Могу предоставить своиь комп для тестирования.... самому очень интересна скорость, мой комп описан здесь.
http://forum.vingrad.ru/index.php?showtopi...ndpost&p=145831
smile.gif


--------------------
-=::BlackCat::=-user posted image

такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать??  гррр, админ, форум косячит  
PM MAIL ICQ   Вверх
Monty
Дата 29.7.2004, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Advanced Lamer
****


Профиль
Группа: Участник Клуба
Сообщений: 3511
Регистрация: 3.4.2003
Где: Гваделупа




Цитата(RAdmin @ 29.7.2004, 17:50)
Цитата(Monty @ 29.7.2004, 16:39)
Цитата(RAdmin @ 29.7.2004, )
Господа, а почему сортировка?
Может лутче на поиск слова в файлах по маске *.* ?

Это уже от диска будет зависить smile.gif

Ну дык протестим всё это на твоём диске

Радмин, ты не понял smile.gif ... все будут юзать стандартные Апи smile.gif ... нет быть написать алгоритм, а не юзальщик Апи ... и у всех будет одинаковая скорость smile.gif


--------------------
...
О, вещая моя печаль,
О, тихая моя свобода
И неживого небосвода
Всегда смеющийся хрусталь!
PM MAIL ICQ   Вверх
Дрон
Дата 30.7.2004, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург




Может вам будет интересно, но помнится я сам проводил подобное сравнение. Взял алгоритм возведения чисел в целую степень и давай баловаться.
Простая (сделанная прямо по алгоритму) реализация на Си проигрывала в ВОСЕМЬ раз такой же на ассемблере. Потом я подумал-подумал и по-всякому ухитряясь переписал на Си так, что получилось всего лишь в 1,3 (примерно, сейчас я уже не помню) раза медленнее ассемблера. Может, конечно, можно ещё где-то улучшить.
Процедуру на асме можете глянуть тут: http://forum.vingrad.ru/index.php?showtopic=21898

А на Си вот тут:
Цитата
float pow(float a,short k){
  if(k==0) return 1.0;
  float b=1.0;
  float A=a;

  if(k<0) {
    a=1/a;
    k=-k;
  }

  if(k&1) b=A;

  k>>=1;
  while(k!=0){
    A*=A;
    if(k&1) b*=A;
    k>>=1;
  }

  return b;
}


Это сообщение отредактировал(а) Дрон - 30.7.2004, 01:45


--------------------
Да. Именно так.
PM   Вверх
oleg1973
Дата 30.7.2004, 02:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy




Цитата
Если сортировать, то не числа, а строки по алфавиту в любом направлении.

тоже идея

ну так и будем все трепатся или выдумаем задание?
я предлогаю
массив на 100000 элементов разделенных там чемнить , запятой к примеру
элементы разной размерности (byte word dword )
задача сортануть по возрастащей к примеру
алгоритм кому какой больше по душе, язык програмирвания тоже
нужно сделать dll с одной единственной функ которой передастся адрес массива
и его размер
длл должна сделать сортировку и вернуть адрес на отсортированый массив
который основная прога в файл сохранит

при данном размере массива можно будет секундомером засикать smile.gif
я такой массив в ворд засунул, замену символа задал
на П4-2000 +512 рам достаточно долго работал



--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Дрон
Дата 30.7.2004, 02:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург




Лучше всего засекать время по GetProcessTimes()

Это сообщение отредактировал(а) Дрон - 30.7.2004, 02:22


--------------------
Да. Именно так.
PM   Вверх
maxim1000
Дата 30.7.2004, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев




Цитата
алгоритм кому какой больше по душе

если хотите сравнивать мастерство программиста - пожалуйста
если хотите сравнивать возможности языков - алгоритм должен быть одинаковым


--------------------
qqq
PM WWW   Вверх
AndyY
Дата 30.7.2004, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 316
Регистрация: 8.5.2004
Где: СПб




maxim1000
Сравниваем возможности программиста, естественно. При использовании различных языков программирования. Кто какой алгоритм знает - тот такой и реализует.

oleg1973
сегодня напишу если ничего срочного не будет.
в dll - ок. Я так и не понял, строки сортируем или числа "разной размерности".
Файл в формате - числа, разделенные '\n'.

итак, точка входа - такая:
Код

extern 'C'
__declspec( __dllexport )
unsigned *sort( unsigned *p, unsigned count );


сорцы, естественно сюда - чтобы все могли покомпилять.

Sardar Girder и другие:
Мы писать будем сортировку. Если есть желание сравнивать что-нибудь другое - никаких проблем, пишите, сравнивайте.


--------------------
PM MAIL WWW   Вверх
Girder
Дата 30.7.2004, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004




AndyY извени, не хотел обидеть. Просто алгоритм, точно не тот. Возможно(но не на все 100%) ты проиграеш. При этом программисту на асм-е, гораздо больше ошибок можно допустить(в реализации), чем тебе. Но комилятор, не так глуп(как многию думают), я сам много раз учился на откампилированной программе. По этому и предложил другой вариант, где малейшия ошибка при написании программы на асм-е приведет к проигрышу oleg1973.

Но честно признаюсь, при правельном подходе, компилятор(любой) всегда проиграет.

Удачи Вам обоим(AndyY и oleg1973).


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
p0s0l
Дата 30.7.2004, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.




Если разные алгоритмы - то это абсурд... Если дальше развить такую идею, то может тогда уж лучше будет, если Олег будет сортировать строки, а AndyY умножать матрицы ?
Просто может получится так, что Олег сделает пузырьковый метод, а AndyY какой-нибудь супер-пупер быстрый алгоритм. И в итоге получится, что асм - медленнее...

Или почему бы не сравнить задачи, где можно юзать MMX или SSE ?
Как там себя будет чувствовать ЯВУ ?...

PS: IMHO, лучше засекать время через QueryPerformanceCounter...



--------------------
С уважением, г-н Посол.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

Добро пожаловать в «Флейм».

В разделе не действуют многие правила:

  • Можно оффтопить(умеренно)
  • Можно общаться на темы, не только связанные с программированием.

Строго запрещено:

  • Размещать рекламу
  • Обсуждать политику
  • Оскорблять друг-друга и переходить на личности
  • Наезжать, провоцировать других участников форума
  • Материться
  • Троллить

Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт.


Глас Винграда:


Глас Философии:


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Флейм | Следующая тема »


 




[ Время генерации скрипта: 0.1368 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.