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

Поиск:

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


asm fanat
****


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




и так
AndyY
предложил устроить компитейщн
"написание алгоритма сортировки"
и выяснить наконецто давно всех мучающий вопрос "а будет ли на асме оно быстрее работать?"
Андрей я принимаю предложение
что и как будем сортировать?
чем будем подсчитывать циклы? (вопрос важный, разные утили по разному себя ведут)

как вы наверно догадалисть я буду писать на асме, а AndyY на с/с++
ну если еше желающие будут, велком как говорится


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


Unregistered











А где можно прочесть про условия Вашего спора ?

PS AndyY может просто позвать библиотечную QuickSort smile.gif
  Вверх
oleg1973
Дата 29.7.2004, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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




_Chingachguk_
да условий никаких особых
а все началось тут
http://forum.vingrad.ru/index.php?showtopi...ad=#entry191272


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


Бегун
****


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




Сортировка это просто... Лучше пусть каждый сделает контейнер/множество принимающий строки и выдающий их в специальном отсортированном виде.
Что бы было понятно, SQL запрос: select distinct * from.... order by поле,поле,поле;
И того в контейнер будут поступать структуры: {int, строка, строка, строка}, а выдавать контейнер будет множество этих структур, отсортированных по полям заданным в аргументах.
Приниматся будут 10.000 структур, из которых 500 уникальных.

В задаче присутствует как сортировка и поиск, так и возможность хорошенько подумать над задачей smile.gif


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


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург




А давайте.
Сортировка предлагается следующая:
Сортировка методом "Быстрая сортировка" строки длиной по 50 символов.
На вход функции подается указатель на массив из строк.

А мы посмотрим smile.gif
PM MAIL WWW ICQ   Вверх
chipset
Дата 29.7.2004, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US




Тогда уж заодно и на шарпе smile.gif
Вот будет весело если он победит biggrin.gif


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
oleg1973
Дата 29.7.2004, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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




Цитата
А давайте.
Сортировка предлагается следующая:
Сортировка методом "Быстрая сортировка" строки длиной по 50 символов.
На вход функции подается указатель на массив из строк.

согласен
призы какие? smile.gif
чем скорость замерять будем?


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


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург




Цитата
чем скорость замерять будем?

Запускаем функцию и меряем время до и после. Массив можно большой - миллион строк, чтобы было что замерить. В принципе компутер не важен - можно получить относительные величины.
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 29.7.2004, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


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




Цитата
Запускаем функцию и меряем время до и после. Массив можно большой - миллион строк, чтобы было что замерить. В принципе компутер не важен - можно получить относительные величины.

и на это время вырубим вындос? и все приложения?
rdtsc
оно не только тики одного процесса будет считать

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


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


Unregistered











Цитата

и на это время вырубим вындос? и все приложения?


Да ну, одна задача с достаточно большим числом аргументов и время будет более-менее ok.

Я тут недавно изучал стойкость md5 и сортировал по ~2^25 строк ;)
  Вверх
_Chingachguk_
Дата 29.7.2004, 14:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Черт, подписаться забыл ;)

PS АСМ победит.
  Вверх
AndyY
Дата 29.7.2004, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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




oleg1973
Предупреждать же надо. Еле топик нашел.
Вот и значения для сортировки. Читать будем из файла values.dat (в зипе тут).
Если 10000 мало для теста производительности, нагенерю еще.

Сравнивать будем разницу тиков проца до и после сортировки. Проверим скажем на intel и amd, хотя думаю что разница будет незначительно.
Добавлено @ 15:02
во наспамилиsmile.gif
поскольку речь идет о программировании под винду, считаю всякие дос моды излишеством. Пускаться должно как отдельный win32 процесс, комп особо ничем занят быть не должен. Считаем только тики сортировки, время чтения файла - пофигу.

Повторюсь - я утверждаю, что у асма не будет особых преимуществ по быстродействию в сравнении с release оптимизированным по скорости msvc.

Добавлено @ 15:04
AntonSaburov
Я вообще-то сгенерил файло для сортировки чисел, но пофигу - можно и строки сортировать. Возможно Олегу даже проще будет - не надо atoi писатьsmile.gif)). Тогда предлагайте свою выборку.


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


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003




10000 маловато будет. в линухе sort выдает 0.12 секунд (загрузка проца 61%) на атлоне не хилом.
разрешите поучаствовать ? представителем Си под Линукс ?


Это сообщение отредактировал(а) GrayCardinal - 29.7.2004, 15:33


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


Эксперт
****


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




Цитата
PS АСМ победит.

насколько я понял, никто и не спорит, что ассемблер будет быстрее
говорят, что он будет ненамного быстрее...
здесь как-то очень быстро, без всякого анализа был сделан выбор алгоритма, а, между прочим, от этого все и зависит
одно дело - алгоритм с кучей организационных инструкций, всякие там if, while и т.д., и т.п.
совсем другое - серьезный вычислительный алгоритм с кучей умножений, сложений ...
последние алгоритмы, обычно, очень хорошо ложатся на ассемблер
при чем, при увеличении сложности алгоритма эффективность кода, сгенерированного компилятором C++, по сравнению с написанным вручную (только грамотно, конечно) будет падать
P.S.
было бы интересно так же узнать время написания ПО smile.gif


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


asm fanat
****


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




10000 мало
давай ченить окола 100000
и числа посерезней smile.gif
типа
Код
1396295059,1283048851,1027261331,770327955,514409875,257573523,443283,256492910,514475374,771048814,1027980398,1284949358,1541815406,1799011694,2054503790,1984314770,1726659986,1469758866,1213646226,956974482,699745682,442908050,185255314,71679343,328645231,585712495,842414959,1099610735,1356448879,1611316335,1868217455,2125872239,1912225169,1656339345,1399243665,1142277521,885376145,627459473,370850961,113917329,153500784,400114288,657079664,913980272

Добавлено @ 16:05
кому файло?
100000 элементов
430 кб в архиве


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила раздела «Флейм»
Sneg0k

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

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

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

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

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

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


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


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


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

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


 




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


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

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