![]() |
|
|
Изображения | All Albums | Справка | Пользователи | Календарь | Сообщения за день | Поиск |
База Знаний Тематика: технические вопросы, нанотехнологии, инновации Температура кипения: низкая Запас прочности: практический опыт Степень защиты: жесткая модерация |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
![]() |
#1 |
Генералиссимус
Site Admin
енот-старожил |
![]() Кто нить пишет на ассемблере?
А то есть проблемка - я пишу прогу. Она использует меод гаусса, но он работает в десятки раз медленнее, чем например в матлабе. Требуется переписать метод гаусса на ассемблере. Сейчас вот трахаюсь с ним. Может у кого нить есть готовая реализация? |
![]() |
![]() |
![]() |
#2 |
Погонщик Лугандонцев
енот-старожил
Регистрация: 18.01.2007
Адрес: Счастье-Пески-Волноваха-Мариуполь
Сообщений: 42,136
Репутация 922 [+/-]
|
![]()
маниак сексуальный.
По понтам, выложенным на форуме, предполагается, что с оным Либов мог быть знаком. Однако учитывая, что это понты, может тебе фрилансера найти? |
![]() |
![]() |
![]() |
#3 |
Генералиссимус
енот-старожил
|
![]() |
![]() |
![]() |
![]() |
#4 |
Генералиссимус
Site Admin
енот-старожил |
![]() |
![]() |
![]() |
![]() |
#5 |
Генералиссимус
енот-старожил
|
![]() |
![]() |
![]() |
![]() |
#6 |
Генералиссимус
Site Admin
енот-старожил |
![]() |
![]() |
![]() |
![]() |
#7 |
О!пофигиссимус I ранга
енот-старожил
|
![]() |
![]() |
![]() |
![]() |
#8 |
Наблюдатель:-)
енот-старожил
|
![]()
Предлагаю написать на ассемблере и С и распечатать машинные коды после трансляции:-). Что бы ты увидел разницу:-)
__________________
Я помню....! :-( |
![]() |
![]() |
![]() |
#9 |
Генералиссимус
енот-старожил
|
![]() |
![]() |
![]() |
![]() |
#10 | |
Наблюдатель:-)
енот-старожил
|
![]() Цитата:
Т.е. все МК от обращения до возврата результата:-)
__________________
Я помню....! :-( |
|
![]() |
![]() |
![]() |
#11 |
Генералиссимус
енот-старожил
|
![]() |
![]() |
![]() |
![]() |
#12 |
Генералиссимус
енот-старожил
|
![]() можно сделать гораздо проше
написать одну и туже функцию на асме и на С и сравнить быстродействие |
![]() |
![]() |
![]() |
#13 |
Генералиссимус
енот-старожил
|
![]()
главное объем кода
на сях ты не сможешь написать очень короткую прогу под винду - работающую Я знаю что рекорд на асме на сегодня это 13 байт - настоящий работающий под винду EXE..... в PE-формате. ................. есть и другие преемущества но для этого надо писать а не болтать..
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
![]() |
![]() |
![]() |
#14 |
Генералиссимус
енот-старожил
|
![]() |
![]() |
![]() |
![]() |
#15 |
Генералиссимус
енот-старожил
|
![]() да компиляторы современные не хуже код делают чем ассемблер
может у тебя в коде где то косяки лишние вычисления зацикливаются кинь в личку если не жалко, я хоть не насильник, но гляну |
![]() |
![]() |
![]() |
#16 |
Генералиссимус
енот-старожил
|
![]() интерполяцию делаешь для чего то ?
|
![]() |
![]() |
![]() |
#17 |
Генералиссимус
Site Admin
енот-старожил |
![]() щас кину
но я просто кучу библиотек уже протестил так штааа фик его знает |
![]() |
![]() |
![]() |
#18 |
Генералиссимус
Site Admin
енот-старожил |
![]() Не, не интреполяцию, там решается система линейных уравнений, которые получаются в результате сборки глобальной матрицы метода конечных элементов
|
![]() |
![]() |
![]() |
#19 | |
Наблюдатель:-)
енот-старожил
|
![]() Цитата:
__________________
Я помню....! :-( |
|
![]() |
![]() |
![]() |
#20 |
Генералиссимус
енот-старожил
|
![]() Я пишу..
..................... советую посетить сайт http://wasm.ru ////////////////////////////////// на этом сайте найдете все в том числе и различные интерполяции и графичские решения.. мой любимый ассемблер fasm ///////////////// есть инструкция у меня на чейме.... ................... этот инструмент удобнее тем что сам компилятор поставляется в исходных кодах, что дает возможность создать любой генератор кода под любую ось или любой кросс-ассемблер... ................... он дает наиболее простой код.. и еще им можно подправлять готовый код без перекомпиляции проги, а также готовить любые двоичные дланные под любой формат.. короче если кого интересует могу дать и другие рекомендации.
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
![]() |
![]() |
![]() |
#21 |
Генералиссимус
Site Admin
енот-старожил |
![]() |
![]() |
![]() |
![]() |
#22 | |
Генералиссимус
енот-старожил
|
![]()
пробовал..
но только пробовал, для интереса применять не приходилось там на WASM- очень много интересных статей. Поищи....в том числе и SSE2 оптимизация.. Советую обратить внимание на новые команды пентиума 3-4.. Там есть команды (кстати они сяшными компиляторами не распознаются, не все правда) - которые позволяют одновременно умножать/делить сразу 4 плавающих двойной точности... Карочи многии компиляторы, а вообще практически все - новые команды процессоров неиспользуют.. ти я там встречал статью уже не помню где где конкретно касалось имено твоей задачи.. Есть еще форум поищи там... но на нем в основном там много воды... надо сидеть и фильтровать... Цитата:
да еще есть возможность написать в микрокоде но это вообще запредельная область.. ....................... не могу сейчас навскидку вспомнить сайт где встречаются оптимизаторы, которые ушли с васма.. там же был реальный раскол....
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
|
![]() |
![]() |
![]() |
#23 |
Генералиссимус
Site Admin
енот-старожил |
![]() Спасибо всем за советы
Я попробую написать сам, а спрашивал я потому что нужна была готовая реализация. Если напишу выложу код на с++ и асме и сравню быстродействие |
![]() |
![]() |
![]() |
#24 |
Генералиссимус
енот-старожил
|
![]() Вот ссылка на чейм
http://modul.da-da.biz/tmp/fasm.chm ////////////////////// это нелп к компилятору сам компилятор качайте с сайта Wasm.ru http://wasm.ru/baixado.php?mode=tool&id=71 илии на самом сайте исходника.. http://flatassembler.net/index.php
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... Последний раз редактировалось Санечка; 27.03.2009 в 02:27.. |
![]() |
![]() |
![]() |
#25 |
Генералиссимус
енот-старожил
|
![]() SoapMaker, шол бы ты лесом ламерок...
ты хоть в курсе сколько весит PE-заголовок...
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
![]() |
![]() |
![]() |
#26 |
Генералиссимус
енот-старожил
|
![]() |
![]() |
![]() |
![]() |
#27 |
Генералиссимус
енот-старожил
|
![]()
а чтоб глупых вопросов не задавал.
ти иди вон там гусля новую серию из тырнета пабликует.. подписи не кому ставить. чего тибе со стариками тереть терки... не интересно ведь.
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
![]() |
![]() |
![]() |
#28 |
Генералиссимус
енот-старожил
|
![]() gidomasson, кстати есть и другой путь решения твоей задачи..
Это написание ее на си, а потом ручная оптимизация асемблеровских кодов...с последующей укладкой в длл....
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
![]() |
![]() |
![]() |
#29 |
Ведущий пиздецолог бригады
енот-старожил
|
![]() Трындец... я так и не понял, чем уже перестал устраивать стары-добрый Си или С++?
Асм -это .. это экстремизмом попахивает. Не верю, что из-за того, что не хватате быстрдействия, нужно вставлять критические участки кода на асме. Я подзабыл асм ХХХ86, но в принципе, судя по заявкам, там небольшой фрагмент кода надо написать, поэтому, думаю, ты смог бы и сам разобраться. тебе же не что-то супер-пупер на 10000 строк кода лепить? Все равно нихера не понимаю.. почему не хватает Сяхи? (Может сразу в двоичных кодах забабахать, ассемблируя руками? ![]()
__________________
Слава Україні!! "Россия существует для того, чтобы перерабатывать солнечный свет в человеческое горе" (Пелевин) |
![]() |
![]() |
![]() |
#30 | |
О!пофигиссимус I ранга
енот-старожил
|
![]() Цитата:
ПС. Возможно в Матлабе просто метод Гаусса Якоби используется. Реальные обратные матрицы вещь трудоёмкая, а главное даёт такую же степень приближения, что и лобовой удар с дабл флоат. |
|
![]() |
![]() |
![]() |
#31 | |
Ведущий пиздецолог бригады
енот-старожил
|
![]() Цитата:
asm { dec bx jnz d1 mov dx,PRN_inp in al,dx rcl al,1 rcl ah,1 mov dx,PRN_dat mov al,0 out dx,al mov bx,wdel } которую трудно понимает и человек, если он пишет на Си, и машина, которая по-сути понмает лишь двоичные коды, в которые все-равно надо компилировать? Чепуха, имхо. Вообще, если речь о скорострельности, то своременные компиляторы дают оптимизованный откомпилированный код, не намного уступающий по скорости от ассма. Ассемлер нужен, когда нужно примитивно драйвернуть что-то быстро, обратиться к железу машины напрямую, вые... ться как-то, минуя ограничения. А во всех других случаях интеловский компилятор С++, заточеный под свои же процы, работает почти так же, как асм. Хня, имхо все это... страдания по ассемблеру.
__________________
Слава Україні!! "Россия существует для того, чтобы перерабатывать солнечный свет в человеческое горе" (Пелевин) |
|
![]() |
![]() |
![]() |
#32 | |
Наблюдатель:-)
енот-старожил
|
![]() Цитата:
__________________
Я помню....! :-( |
|
![]() |
![]() |
![]() |
#33 | |
О!пофигиссимус I ранга
енот-старожил
|
![]() Цитата:
Для задач, подобных той, что упоминалась (из лин. алгебры), утверждать, что программист может улучшить компилятор, это примерно, как утверждать, что Союз ТМ пристыковывать к МКС удобней вручную по показаниям GPS. |
|
![]() |
![]() |
![]() |
#34 | ||
Наблюдатель:-)
енот-старожил
|
![]() Цитата:
__________________
Я помню....! :-( |
||
![]() |
![]() |
![]() |
#35 | |
Ведущий пиздецолог бригады
енот-старожил
|
![]() Цитата:
Напомню А-Какию ещё раз, что речь идет не о большой задаче, а о критическом фрагменте. Большие, обьемные задачи на асме никто не делает. Кроме А-Какия, конечно же, который делает все. И все сьедает сам. Чтобы была доступна мысль, это как бы джиу-джитсу был языком программирования.. Есть обкатанные приемы, которые должны усвоить рядовые последователи этого вида программирования. И есть мастера экстра-класса, которые могуть придумать новые приемы джиу-джитсу к уже наработанным. Хенде хох, А-Какий?
__________________
Слава Україні!! "Россия существует для того, чтобы перерабатывать солнечный свет в человеческое горе" (Пелевин) |
|
![]() |
![]() |
![]() |
#36 | ||
Наблюдатель:-)
енот-старожил
|
![]() Цитата:
__________________
Я помню....! :-( |
||
![]() |
![]() |
![]() |
#37 |
Генералиссимус
Site Admin
енот-старожил |
![]() |
![]() |
![]() |
![]() |
#38 | |
Ведущий пиздецолог бригады
енот-старожил
|
![]() Цитата:
Ассемблер ведь сейчас используют в основном, чтобы изипнуцця, минуя всяческие запреты (типа похлопать дверцей дисковода в знак уважения). Критические участки кода можно вставить на ассме через asm{ код }. Если ты скажешь, что разница в скорости работы в 2..5% тебя как раз выручит, тада мне добавить нечего
__________________
Слава Україні!! "Россия существует для того, чтобы перерабатывать солнечный свет в человеческое горе" (Пелевин) Последний раз редактировалось zz-tOp; 28.04.2009 в 13:52.. |
|
![]() |
![]() |
![]() |
#39 |
Наблюдатель:-)
енот-старожил
|
![]()
Ты в каком году проверял последний раз это на практике?:-)
__________________
Я помню....! :-( |
![]() |
![]() |
![]() |
#40 | |
Генералиссимус
Site Admin
енот-старожил |
![]() Цитата:
Уже проверено, некоторые критические по скорости алгоритмы, типа вышеописанного, можно оптимизировать использую SSE2-SSE3 Использование классов с++, наприер может сильно сказаться на скорости |
|
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|