· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.A&O —› Brain vs C compiler

<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . >>

Посл.отвђт Сообщенiе


Дата: Сен 3, 2003 23:11:05

Fixer
и употребляя варварский оператор break

А ты эстет, однако. Взъелся. Хотелось бы напомнить, что мы тут все учимся. Примадонн в программировании (как и в других науках) НЕТ. Однако, здесь собрались достаточно хорошие специалисты. Так что здорово общаться. Единственное что, меньше флейма. Флейм можно пускать дам, где новички просят DevPartner, вот там уж я душу отвожу (Four-F выразился бы "гормоны в голову бьют").


Дата: Сен 3, 2003 23:23:08

Ребенок мал еще, не пьет пиво, не встречается с девушками... не ценит время ;).
Это так :)
Да нет ну просто легче для него в кодах.
У нас на работе дядька был со старых времён никак на асм, переходить решил. Ему в кодах было проще :).
На самом деле коды они проще, в смысле ребёнок точно знает, что сделает тот или иной код и с какими где битиками что произойдёт, а С от него ведь требует абстракции.
Это для него сложнее, да и синтаксис ещё всякий, тут числа - конечный продукт, что написал то и выполнилось, а там - то скобку не забудь закрыть то ; не забудь в конце команды.


Дата: Сен 4, 2003 00:53:58

The Svin
Мдаа...
Вообще-то я не то имел ввиду что ты подумал... Почему-то подумал, что его учат в школе не по книжкам, а ...чёткому пониманию того что ни каких "переходов" реально не существует...
... В самом деле, меня самого преподаватели(не все конечна) поражали своими "знаньями" по своим же предметам; и в школе и в университете..

Доходить пришлось до всего своим умом
Да уж не чужим... сдесь ты прав. В то время, когдя я начинал асмить, учить было просто некому. Было у меня только две книги(ровных кстати) про асм для ZX Speccy и все...

Как бы то ни было ИЗВИНИИИ плиззз и большое Спасибо за замечание. Не будем больше делать того, что сначала, не подумав сделал я, и потом ты

Кстати я тоже в школу в шесть лет пошел. Пришлось 11 лет учиться... вот сдесь его можно пожалеть :)


Дата: Сен 4, 2003 02:21:43

Замяли :)
У меня задачка одна логическая невыходит, вот я и рефлексирую второй день :)


Дата: Сен 4, 2003 10:47:17

boozook
красивее, лучше... мое быстрее :)

Смотря про что ты.

Насчёт последнего:
А если посчитать время на проверку проца???


Дата: Сен 4, 2003 11:16:55

The Svin
Ответ поразил (цитирую буквально буква в букву):
Во первых неинтересно.
Во вторых меньше понятно.
В третьих боишься как бы компилятор не
сделал что то неправильно.


А что вас так поразило???
Ведь ребёнок не ответил что-то необычное. Он сказал правду... 100% с ним согласен, хотя и не имел такой редкой возможности изучить ASM x86.

А по поводу последнего -- так это ж вообще правда. Когда я сажусь за С++ всё думаю как он мне повернёт то или это.
Хотя нужно саказать, что меня выручает знание работы компиляторов, постоянно вертяться в голове эти преобразования. А ведь там оптимизаторы стоят что в С++, что ещё где -- ОДИН И ТЕ ЖЕ.

Посоветуйте вашему ребёнку сделать простой калькулятор с выражениями.. Я уверен 100 он теперь по другому посмотрит на ЯВУ. Кстати хорошая задача для COMPO. :)

P.S.
Хорошо, что хорошие семена попадают в хорошую почву.


Дата: Сен 4, 2003 11:21:33

The Svin
У меня задачка одна логическая невыходит, вот я и рефлексирую второй день :)

Задачу в студию!!!!
(Может я наконец пробьюсь мимо этого PHP!!!! ^))))


Дата: Сен 4, 2003 11:33:29

The Svin
Задачу в студию!!!!
... и ребенка тоже - у него есть шанс папу переплюнуть в этом нелегком деле (и всех нас тоже). Э-э-эх, если бы я ассемблером с 5 лет начал заниматься..... :(~~


Дата: Сен 4, 2003 11:49:44

masquer
Да ладно тебе, скромный ты мой. Асм это ещё не значит x86.. Это как отношение к миру собранному из крошечных частиц, правил и выводов.
(с) :)))


Дата: Сен 4, 2003 12:00:55 · Поправил: masquer

Асм это ещё не значит x86
В большинстве случаев - именно х86

А ведь там оптимизаторы стоят что в С++, что ещё где -- ОДИН И ТЕ ЖЕ.
Не скажи - у Microsoft очень продвинутый оптимизатор в компиляторах (за исключением, конечно, Academic edition). Я как-то смотрел, во что превращается case из где-то 2-3 тысяч непоследовательных элементов, я бы прилично времени потратил на такое, пришлось логически разбивать на более мелкие участки и их уже оптимизировать :)


Дата: Сен 4, 2003 13:27:48

Интересно почему все прицепились к микрософтоскому оптимизатору (кстати компилятор C++ от Borland'а порождает примерно такой же код), хотелось бы сравнить с Intel'овским (мысль, надо попробовать)


Дата: Сен 4, 2003 13:58:58

masquer
Я как-то смотрел, во что превращается case из где-то 2-3 тысяч непоследовательных элементов, я бы прилично времени потратил на такое,

Ну Дима, это ты уже слишком. Если тебе надо 10^1111111 вычислить, тиы что тоже в уме это делаешь?
Эти задачи с хешированием и подбором в множестве значений оптимального пути хорошо автоматизируются.


Дата: Сен 4, 2003 14:01:16

Fixer
(мысль, надо попробовать)

Так давайте попробуем..
Напишем какую нибудь задачку. Решим её лучшим образом и попробуем на всех компилерах...
А что?
Интересная мысль.


Дата: Сен 4, 2003 14:06:57

у Microsoft очень продвинутый оптимизатор в компиляторах

Кто нибудь знает чем они XP компилировали?
Exported fn(): TranslateAcceleratorW - Ord:02A9h
:77D34025 837C240400              cmp dword ptr [esp+04], 00000000
:77D3402A 742A                    je 77D34056
:77D3402C 8B4C240C                mov ecx, dword ptr [esp+0C]
:77D34030 8B4104                  mov eax, dword ptr [ecx+04]
:77D34033 2D00010000              sub eax, 00000100
:77D34038 0F84F84F0000            je 77D39036
:77D3403E 48                      dec eax
:77D3403F 48                      dec eax
:77D34040 0F84F04F0000            je 77D39036
:77D34046 48                      dec eax
:77D34047 48                      dec eax
:77D34048 0F84E84F0000            je 77D39036
:77D3404E 48                      dec eax
:77D3404F 48                      dec eax
:77D34050 0F84E04F0000            je 77D39036

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:77D3402A(C)
|
:77D34056 33C0                    xor eax, eax

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:77D39044(U)
|
:77D34058 C20C00                  ret 000C

;почему бы нижеследующий кусос кода не разместить сразу же за первым? Экономия - 19 байт!

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:77D34038(C), :77D34040(C), :77D34048(C), :77D34050(C)
|
:77D39036 51                      push ecx
:77D39037 FF74240C                push [esp+0C]
:77D3903B FF74240C                push [esp+0C]
:77D3903F E8E3BE0000              call 77D44F27
:77D39044 E90FB0FFFF              jmp 77D34058

...

* Referenced by a CALL at Addresses:
|:77D3903F   , :77D50D9F   
|
:77D44F27 B838120000              mov eax, 00001238
:77D44F2C BA0003FE7F              mov edx, 7FFE0300
;почему не call 7ffe0300?
:77D44F31 FFD2                    call edx
:77D44F33 C20C00                  ret 000C


Дата: Сен 4, 2003 14:08:48

Эти задачи с хешированием и подбором...
Я знаю, просто что было, то и запустил на компиляцию :) Код был не мой - я так не пишу :)

<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.048