![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen |
AndyY тоже не хотел обидеть, просто большая сила С++ проявится в работе с большими/сложными структурами, куча в памяти(звязанные списки и т.п.) и сложная логика/отношения. В простой сортировке 32битных чисел Олег тебя уделает...
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
oleg1973 |
|
||||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy |
AndyY
ты файл выложи для сортировки
есть массив "5,45687,-25,589,6,45369712698," ну и надо по возрастающей числа расставить
придумал я тут на досуге алгоритм ![]() использует особенности hex представления числа, ![]() ![]() p.s. ну так че "быструю сортировку" пишем ? Это сообщение отредактировал(а) oleg1973 - 31.7.2004, 13:51 -------------------- SST 465555 icq 200-512-712 |
||||
|
|||||
AndyY |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 8.5.2004 Где: СПб |
итак, я написал. скажем так - это текст практически неоптимизированный вручную, раскрыл только очевидные вещи. все остальное ложиться на компилер.
встречайте и тестите: sortlib.zip - бинарник sortsrc.zip - сорец. сама сортировка, как договаривались, в .dll. о командной строке: sorttest.exe /random <необязательное число> - нагенерячить выборку, по умолчанию 500000 значений. выборка - белый шум. sorttest.exe /normal <необязательное число> - аналогично, но приближена к нормальному распределению. жду ответа от олега. PS сортировка поддерживает отрицательные числа, но не генерячит их. Ибо лень. |
|||
|
||||
AndyY |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 8.5.2004 Где: СПб |
так что у народа с написанием?
даже жаль что такой топик завял. генерите выборки, читайте файлы - и вперед. |
|||
|
||||
-=::BlackCat::=- |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 12.7.2003 Где: растёт анаша? |
AndyY
wi tut pisali chto eto dolvolnataki gestokie nagruzki na komp budut, nu ja predlogil swoi dlja experementow, no poka chto ne prog ne faila sortirowki ne widno. PS: andy wigu silki na twoju progu.... gdems progu ot olega plus, dawaite libo eshe genirotor dopishite libo failik daite, ne w rcuhnuju ge nam eto delo nabiwat =) -------------------- -=::BlackCat::=- ![]() такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать?? гррр, админ, форум косячит |
|||
|
||||
Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург |
[Offtop]
-=::BlackCat::=- Включи транслит!!!!!!!! А то вообще не понять о чём ты говоришь ![]() ![]() ![]() [/Offtop] Спасибо за внимание. -------------------- Да. Именно так. |
|||
|
||||
-=::BlackCat::=- |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 12.7.2003 Где: растёт анаша? |
Дрон
ego u menja netu ![]() ![]() ![]() ![]() ![]() ![]() -------------------- -=::BlackCat::=- ![]() такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать?? гррр, админ, форум косячит |
|||
|
||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 |
Топик тонет, Мож с нами со всеми поделитесь результатами, а?
Это сообщение отредактировал(а) Girder - 5.8.2004, 13:02 -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy |
а вот и я, пардон за задержку дела были
кароче прога AndyY делает все за 80 мс (у меня п4-2000 512 рам XP) мой вариант делает за 10 мс (тоже без оптимизации ![]() ![]() ![]() вывод как говорится на лицо для теста вам понадбится values.dat из набора AndyY саму прогу брать тут файл -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
AndyY |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 8.5.2004 Где: СПб |
Забавно.
1. нагенерил значения: sorttest.exe /random 10000000 - получилось в районе 60 мегов 2. запускаю сортировку oleg1973 3. она сортирует 0 (!) ms и записывает файл файл 3 мега ![]() мой вариант сортирует примерно секунду (размер, естественно, совпадает). так что там с поддержкой? кстати, не понимаю, почему dll экспортит кривую точку входа - моя прога ее не кушает, а разрешению GetLocalTime я не доверяю, как и GetTickCount() |
|||
|
||||
oleg1973 |
|
||||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy |
AndyY
так как я тестил с values.dat 500000 значений оно с ними и работает а меньше 10 мс не отследиш
твоя прога все кушает но не пишет результаты моей длл в файл а вылитает видимо при компиляции и оптимизации прэкта ты чета намутил там и возврат данных в твоей длл происходит не через EAX как положено по конвенции моя же длл возвращает указатель на отсортированый массив именно через EAX з.ы. проверил с 10000000 260 мс Это сообщение отредактировал(а) oleg1973 - 6.8.2004, 13:21 -------------------- SST 465555 icq 200-512-712 |
||||
|
|||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 |
Да... как я и ожидал. Не та задачка для сравнения.
Мож еще какую задачку замутите, для сравнения -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy |
Girder
это бесполезно если взять асм листинг проги AndyY то увидим конструкции типа mov ecx, DWORD PTR [eax+edx*4] и cmp eax, DWORD PTR _threshold$[ebp] а это есть тормоза Добавлено @ 13:34 для тех кто хочет померятся письками предлогаю реальный конкурс, где проявится не только умение компилятора но и програмера ![]() будем писать упаковщик данных, картинку у примеру возмем 1024х768х24 bit ну и будем ее паковать ![]() желательно переплюнуть Rar по размерам выходного файла и по времени -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 |
Да это понятно.
Согласен на все 100%, что код написанный(так скажем правильно) на асме всегда объиграет компилятор. Но есть задачи. которые в откомпилированнов виде(всмысле только оснавная функция),несмотря на чуть больший размер по сравнению с кодом написанном полностью на асме, может быть более производителен, если конечно человек пишуший на асме не обратит внимание на некоторые нюансы. Ну типо что проц тратит дополнительное время на переход от выполнения 32битной инструкции к примеру к 16 битной ну и наоборот. При этом в компиляторе это как правило учтено. Чуть больше переходов при реализации на асме, а компилятор, сам понимаеш старается их минимизировать. Ну даже в этом разница Call $4f1243 или Call edi. Ну и т.д. Я надеюсь что ты понял меня oleg1973 -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy |
Girder
не нада смешивать 32 и 16 бит и все будет ок ![]() ![]() ![]() -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
![]() ![]() ![]() |
Правила раздела «Флейм» | |
|
Добро пожаловать в «Флейм». В разделе не действуют многие правила:
Строго запрещено:
Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт. Глас Винграда:
Глас Философии:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Флейм | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |