|
|
Изображения | All Albums | Справка | Пользователи | Календарь | Сообщения за день | Поиск |
База Знаний Тематика: технические вопросы, нанотехнологии, инновации Температура кипения: низкая Запас прочности: практический опыт Степень защиты: жесткая модерация |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
26.03.2009, 15:32 | #1 |
Генералиссимус
Site Admin
енот-старожил |
Вопрос про ассемблер
Кто нить пишет на ассемблере?
А то есть проблемка - я пишу прогу. Она использует меод гаусса, но он работает в десятки раз медленнее, чем например в матлабе. Требуется переписать метод гаусса на ассемблере. Сейчас вот трахаюсь с ним. Может у кого нить есть готовая реализация? |
26.03.2009, 15:47 | #2 |
Погонщик Лугандонцев
енот-старожил
Регистрация: 18.01.2007
Адрес: Счастье-Пески-Волноваха-Мариуполь
Сообщений: 42,136
Репутация 922 [+/-]
|
маниак сексуальный.
По понтам, выложенным на форуме, предполагается, что с оным Либов мог быть знаком. Однако учитывая, что это понты, может тебе фрилансера найти? |
26.03.2009, 15:49 | #3 |
Генералиссимус
енот-старожил
|
|
26.03.2009, 15:51 | #4 |
Генералиссимус
Site Admin
енот-старожил |
|
26.03.2009, 15:50 | #5 |
Генералиссимус
енот-старожил
|
|
26.03.2009, 15:51 | #6 |
Генералиссимус
Site Admin
енот-старожил |
|
25.04.2009, 15:58 | #7 |
О!пофигиссимус I ранга
енот-старожил
|
|
26.03.2009, 20:51 | #8 |
Наблюдатель:-)
енот-старожил
|
Предлагаю написать на ассемблере и С и распечатать машинные коды после трансляции:-). Что бы ты увидел разницу:-)
__________________
Я помню....! :-( |
26.03.2009, 20:56 | #9 |
Генералиссимус
енот-старожил
|
|
26.03.2009, 20:59 | #10 | |
Наблюдатель:-)
енот-старожил
|
Цитата:
Т.е. все МК от обращения до возврата результата:-)
__________________
Я помню....! :-( |
|
26.03.2009, 21:14 | #11 |
Генералиссимус
енот-старожил
|
|
26.03.2009, 20:56 | #12 |
Генералиссимус
енот-старожил
|
можно сделать гораздо проше
написать одну и туже функцию на асме и на С и сравнить быстродействие |
27.03.2009, 02:28 | #13 |
Генералиссимус
енот-старожил
|
главное объем кода
на сях ты не сможешь написать очень короткую прогу под винду - работающую Я знаю что рекорд на асме на сегодня это 13 байт - настоящий работающий под винду EXE..... в PE-формате. ................. есть и другие преемущества но для этого надо писать а не болтать..
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
31.03.2009, 18:09 | #14 |
Генералиссимус
енот-старожил
|
|
26.03.2009, 15:55 | #15 |
Генералиссимус
енот-старожил
|
да компиляторы современные не хуже код делают чем ассемблер
может у тебя в коде где то косяки лишние вычисления зацикливаются кинь в личку если не жалко, я хоть не насильник, но гляну |
26.03.2009, 15:55 | #16 |
Генералиссимус
енот-старожил
|
интерполяцию делаешь для чего то ?
|
26.03.2009, 16:03 | #17 |
Генералиссимус
Site Admin
енот-старожил |
щас кину
но я просто кучу библиотек уже протестил так штааа фик его знает |
26.03.2009, 16:03 | #18 |
Генералиссимус
Site Admin
енот-старожил |
Не, не интреполяцию, там решается система линейных уравнений, которые получаются в результате сборки глобальной матрицы метода конечных элементов
|
26.03.2009, 20:49 | #19 | |
Наблюдатель:-)
енот-старожил
|
Цитата:
__________________
Я помню....! :-( |
|
27.03.2009, 02:17 | #20 |
Генералиссимус
енот-старожил
|
Я пишу..
..................... советую посетить сайт http://wasm.ru ////////////////////////////////// на этом сайте найдете все в том числе и различные интерполяции и графичские решения.. мой любимый ассемблер fasm ///////////////// есть инструкция у меня на чейме.... ................... этот инструмент удобнее тем что сам компилятор поставляется в исходных кодах, что дает возможность создать любой генератор кода под любую ось или любой кросс-ассемблер... ................... он дает наиболее простой код.. и еще им можно подправлять готовый код без перекомпиляции проги, а также готовить любые двоичные дланные под любой формат.. короче если кого интересует могу дать и другие рекомендации.
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
31.03.2009, 10:18 | #21 |
Генералиссимус
Site Admin
енот-старожил |
|
31.03.2009, 17:11 | #22 | |
Генералиссимус
енот-старожил
|
пробовал..
но только пробовал, для интереса применять не приходилось там на WASM- очень много интересных статей. Поищи....в том числе и SSE2 оптимизация.. Советую обратить внимание на новые команды пентиума 3-4.. Там есть команды (кстати они сяшными компиляторами не распознаются, не все правда) - которые позволяют одновременно умножать/делить сразу 4 плавающих двойной точности... Карочи многии компиляторы, а вообще практически все - новые команды процессоров неиспользуют.. ти я там встречал статью уже не помню где где конкретно касалось имено твоей задачи.. Есть еще форум поищи там... но на нем в основном там много воды... надо сидеть и фильтровать... Цитата:
да еще есть возможность написать в микрокоде но это вообще запредельная область.. ....................... не могу сейчас навскидку вспомнить сайт где встречаются оптимизаторы, которые ушли с васма.. там же был реальный раскол....
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
|
31.03.2009, 10:19 | #23 |
Генералиссимус
Site Admin
енот-старожил |
Спасибо всем за советы
Я попробую написать сам, а спрашивал я потому что нужна была готовая реализация. Если напишу выложу код на с++ и асме и сравню быстродействие |
27.03.2009, 02:25 | #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 в 03:27.. |
01.04.2009, 01:01 | #25 |
Генералиссимус
енот-старожил
|
SoapMaker, шол бы ты лесом ламерок...
ты хоть в курсе сколько весит PE-заголовок...
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
01.04.2009, 01:03 | #26 |
Генералиссимус
енот-старожил
|
|
01.04.2009, 01:25 | #27 |
Генералиссимус
енот-старожил
|
а чтоб глупых вопросов не задавал.
ти иди вон там гусля новую серию из тырнета пабликует.. подписи не кому ставить. чего тибе со стариками тереть терки... не интересно ведь.
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
01.04.2009, 01:28 | #28 |
Генералиссимус
енот-старожил
|
gidomasson, кстати есть и другой путь решения твоей задачи..
Это написание ее на си, а потом ручная оптимизация асемблеровских кодов...с последующей укладкой в длл....
__________________
еще пока даже не-распяли.. поэтому и воскрешаться не буду... |
22.04.2009, 04:57 | #29 |
Ведущий пиздецолог бригады
енот-старожил
|
Трындец... я так и не понял, чем уже перестал устраивать стары-добрый Си или С++?
Асм -это .. это экстремизмом попахивает. Не верю, что из-за того, что не хватате быстрдействия, нужно вставлять критические участки кода на асме. Я подзабыл асм ХХХ86, но в принципе, судя по заявкам, там небольшой фрагмент кода надо написать, поэтому, думаю, ты смог бы и сам разобраться. тебе же не что-то супер-пупер на 10000 строк кода лепить? Все равно нихера не понимаю.. почему не хватает Сяхи? (Может сразу в двоичных кодах забабахать, ассемблируя руками?
__________________
А ведь вас предупреждали!! "Россия существует для того, чтобы перерабатывать солнечный свет в человеческое горе" (Пелевин) |
25.04.2009, 16:07 | #30 | |
О!пофигиссимус I ранга
енот-старожил
|
Цитата:
ПС. Возможно в Матлабе просто метод Гаусса Якоби используется. Реальные обратные матрицы вещь трудоёмкая, а главное даёт такую же степень приближения, что и лобовой удар с дабл флоат. |
|
27.04.2009, 04:23 | #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 } которую трудно понимает и человек, если он пишет на Си, и машина, которая по-сути понмает лишь двоичные коды, в которые все-равно надо компилировать? Чепуха, имхо. Вообще, если речь о скорострельности, то своременные компиляторы дают оптимизованный откомпилированный код, не намного уступающий по скорости от ассма. Ассемлер нужен, когда нужно примитивно драйвернуть что-то быстро, обратиться к железу машины напрямую, вые... ться как-то, минуя ограничения. А во всех других случаях интеловский компилятор С++, заточеный под свои же процы, работает почти так же, как асм. Хня, имхо все это... страдания по ассемблеру.
__________________
А ведь вас предупреждали!! "Россия существует для того, чтобы перерабатывать солнечный свет в человеческое горе" (Пелевин) |
|
25.04.2009, 19:16 | #32 | |
Наблюдатель:-)
енот-старожил
|
Цитата:
__________________
Я помню....! :-( |
|
25.04.2009, 23:05 | #33 | |
О!пофигиссимус I ранга
енот-старожил
|
Цитата:
Для задач, подобных той, что упоминалась (из лин. алгебры), утверждать, что программист может улучшить компилятор, это примерно, как утверждать, что Союз ТМ пристыковывать к МКС удобней вручную по показаниям GPS. |
|
26.04.2009, 23:10 | #34 | ||
Наблюдатель:-)
енот-старожил
|
Цитата:
__________________
Я помню....! :-( |
||
27.04.2009, 04:05 | #35 | |
Ведущий пиздецолог бригады
енот-старожил
|
Цитата:
Напомню А-Какию ещё раз, что речь идет не о большой задаче, а о критическом фрагменте. Большие, обьемные задачи на асме никто не делает. Кроме А-Какия, конечно же, который делает все. И все сьедает сам. Чтобы была доступна мысль, это как бы джиу-джитсу был языком программирования.. Есть обкатанные приемы, которые должны усвоить рядовые последователи этого вида программирования. И есть мастера экстра-класса, которые могуть придумать новые приемы джиу-джитсу к уже наработанным. Хенде хох, А-Какий?
__________________
А ведь вас предупреждали!! "Россия существует для того, чтобы перерабатывать солнечный свет в человеческое горе" (Пелевин) |
|
28.04.2009, 21:12 | #36 | ||
Наблюдатель:-)
енот-старожил
|
Цитата:
__________________
Я помню....! :-( |
||
27.04.2009, 13:32 | #37 |
Генералиссимус
Site Admin
енот-старожил |
|
28.04.2009, 14:51 | #38 | |
Ведущий пиздецолог бригады
енот-старожил
|
Цитата:
Ассемблер ведь сейчас используют в основном, чтобы изипнуцця, минуя всяческие запреты (типа похлопать дверцей дисковода в знак уважения). Критические участки кода можно вставить на ассме через asm{ код }. Если ты скажешь, что разница в скорости работы в 2..5% тебя как раз выручит, тада мне добавить нечего
__________________
А ведь вас предупреждали!! "Россия существует для того, чтобы перерабатывать солнечный свет в человеческое горе" (Пелевин) Последний раз редактировалось zz-tOp; 28.04.2009 в 14:52.. |
|
28.04.2009, 21:15 | #39 |
Наблюдатель:-)
енот-старожил
|
Ты в каком году проверял последний раз это на практике?:-)
__________________
Я помню....! :-( |
29.04.2009, 10:23 | #40 | |
Генералиссимус
Site Admin
енот-старожил |
Цитата:
Уже проверено, некоторые критические по скорости алгоритмы, типа вышеописанного, можно оптимизировать использую SSE2-SSE3 Использование классов с++, наприер может сильно сказаться на скорости |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|