Зацените курсак

Тема в разделе "WASM.HEAP", создана пользователем Sonic, 6 май 2006.

  1. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев


    У тебя если с русским языком проблемы - ты скажи, а то повторение моих фраз с разбавлением их потугами острить, не говоря уже про ошибки, смотрится убого. Раскрой уже свой возраст, что ли, раз ты им так бравируешь - просто интересно уже, хотя глупость возраста не имеет, конечно...





    А ты тут что-то сказал? Кроме потуг с умным видом нести ахинею разве что... Наставления тут вообще никому не нужны, особенно от великовозрастных "малтшиков".





    Вот эту фразу старайся не менее 100 раз в день повторять, как мантру :)





    мне такие расказчики и даром не нужны, наставитель ты наш на путь истинный :))
     
  2. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    _DEN_

    Ждем примера кода на сях, который на асме никто не сможет сделать быстрее.

    Только не надо постить код с апи вызовами и.т.п. галиматень. Только чистые вычисления.
     
  3. apple

    apple Виктор

    Публикаций:
    0
    Регистрация:
    26 апр 2005
    Сообщения:
    907
    Адрес:
    Russia
    ... а с RichEdit почему-то не работает - не создаётся окно.

    из MSDN>>>

    If you are using a rich edit control in a dialog box , you must call !!! AfxInitRichEdit !!! once before the dialog box is displayed.
     
  4. The Svin

    The Svin New Member

    Публикаций:
    0
    Регистрация:
    6 июл 2003
    Сообщения:
    665
    Адрес:
    Russia
    Ms Rem

    Мне кажется - это неправильный подход, в решении подобного спора эксперементальным путём, хотя и самый распространённый.

    Я имею ввиду часть про "исходник на си".

    В моей практике постоянно туча сложных (для меня разумеется) задач, кое-как справляюсь. Но не помню чтобы среди них была "переписать на ассемблере исходник сделанный на си".

    IMHO должна быть просто задача.

    Лучше выбрать независимого арбитра, которому на мыло будут посылаться решения. Чтобы участники не подглядывали у друг друга.

    И задача не должна быть тупой, а будучи достаточно простой предпологать разнообразные решения.

    У меня есть такая задача. Достаточно простая для понимания. Не решаемая законченной формулой математически, т.е. предпологающая некоторое количество циклов. Но количество этих циклов будет сильно зависить от подхода к решению.
     
  5. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    The Svin

    Спор идет о производительности кода на си против кода на асме написаного вручную. Поэтому я считаю, что надо не решать задачу на алгоритмизацию (т.к. плохой алгортм написаный на асме может быть медленнее хорошего на VB), а брать конкретный реализовыный алгоритм, и оптимизировать только код, ни в коем случае не трогая сам алгоритм. Ну а если решение задачи было сделано двумя разными алгоритмами, то оно не будет доказательством в этом споре. Необходимо показать, что в оптимизации кода, человек обгонит компилятор.
     
  6. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    любой сишный код можно сократить в 2 раза по размеру (как минимум), по скорости - в 4 раза
     
  7. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Не любой. Например while (1); никак не сократить ни по скорости ни по размеру. Но большинство достаточно сложных алгоримтов можно.
     
  8. trash

    trash New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2006
    Сообщения:
    143
    Адрес:
    х.з.
    Канечно, для процов имеющих более 100 регистров (ака Мутаниум64 и ево псевдо-ассемблерные 64битные клоны ака АМД) использовать команды ассемблера это гемор (велика вероятность тово что попутаешь регистры да и вообще сьедет крыша).



    Другое дело IA32 архитектура, кодить под которую на АСМЕ довольно несложно.



    А в целом, у компилеров иногда бывает чему поучиться.



    А вообще - оно все геморно...



    p.s

    Чувак, успешной сдачи курсача!
     
  9. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    while (1) это типа Sleep ? Мне ещё два года назад Black_mirror показывал как на каждом вызове API можно сократить 3 байта, или С умеет использовать расстояние до импорта?
     
  10. The Svin

    The Svin New Member

    Публикаций:
    0
    Регистрация:
    6 июл 2003
    Сообщения:
    665
    Адрес:
    Russia
    Ms Rem

    Во первых между понятиями "исходник на Си" и "алгоритм" нет эквивалентности.

    Почему тогда к примеру не давать алгоритм на асме, и пусть сишник пытается восоздать изоморфные ему на Си?

    Во вторых машинный код и Си не изоморфны и результаты компиляции\декомпиляции не биекты. И мы просто погрязнем в рассуждениях "следовал ассемблист алгоритму или не следовал" из-за этого. Так что это просто обречено на провал кроме самых тривиальных случаев.

    В простейшем правильном варианте мы даже функцию не должны задавать, мы должны задавать функциональное отношение.

    В третьих алгоритм - это последовательность команд, у нас команды разные, поэтому невозможно провести эквивалентностность и справедливо рассудить.

    В четвёртых - средства которые есть у алгоритмиста очень сильно влияют на алгоритм, и для меня к примеру это определяющий фактор почему я пользуюсь низкоуровневыми средствами.

    В пятых - ну не интересно мне кто лучше скомпилирует исходник на Си. Нет у меня таких задач, компилировать в ручную какую-то фигню, написанную на бесполезном для меня языке. И решение кто оказался лучше в такой задаче - мне по барабану. Людям которые платят за мой труд по барабану.

    Людям которые пользуются моим трудом - тоже по барабану.

    Вобщем скучно это будет для меня, и не докажет ничего и нового ничего не скажет. Это интересно только тем кто не уверен, в том чем он занимается. И надеится что язык на котором он пишет "спасёт" его или "погубит".

    Не знаю трудно\не трудно писать на ассемблере по сравнению с другими языками, но на само непосредственное кодирование у меня уходит 5-10% времени, и это самая лёгкая часть работы. Другое дело что стиль моего кодирования накладывает отпечаток на то как решается остальные 90-95% работы. И вот это-то единственно интересно, как мышление искажённое\изменённое от использования того или иного языка определяет подход к проблеме в целом.
     
  11. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    Нет. Это типа jmp $. Бесконечный цикл.





    О каком именно приеме ты говоришь? Если в сях импорт обьявлен как _declspec(dllimport), то переходники не создаются, и вызов всегда идет как call dword ptr [import], если импорт определен обычным способом, то для него создаются переходники, и вызываться они будут как call _imp_import. Если идет несколько вызовов одной функции подряд, то часто используется помещение адреса апи в регистр и вызов через него (что порядочно байт экономит). Жалть только компиляторы не могут помещать в региср адрес одного из импортов, в другие потом вызывать по смещению, типа call [esi+4], но зато часто оптимизируются вызовы на конце функций, где вместо call [api], ret делаеться просто jmp [api]

    В любом случае, ничего не мешает использовать эти приемы (а также множетсво других, незнакомых компиляторам)вручную.
     
  12. Sonic

    Sonic New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2004
    Сообщения:
    77
    Адрес:
    Днепропетровск
    apple спасибо, попробую - просто интерфейс делался на скорую руку а с окошками я особо никогда не заморачивался.

    trash - спасибо.
     
  13. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    masquer

    Ms Rem



    Я не участвую в спорах детей в песочнице. А предложениями типа "давайте напишем две прги на разных языках и померяемся" я еще на первом курсе переболел.



    Извини, masquer, я все же считаю что весь штат программистов Microsoft, тесно сотрудничающих со всем штатом Intel и AMD, разбираются в оптимизации гораздо лучше меня и тебя.



    Если ты все же ставишь себя выше - тогда незнаю, попробуй написать письмо в Microsoft, может они тебя на работу возьмут. А то такой талант пропадает...
     
  14. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев


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





    кто сказал, что он пропадает? кроме того вряд ли меня в MS зарплата заинтересует, разве что на руководящей должности :)
     
  15. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    masquer







    В разработке скольких камней ты принял участие? А сколько компиляторов сопровождал? Десятки и сотни людей этому годы посвящают, вкладывая свои суммарные знания в один продукт. А ты тут заявляешь. Это примерно то же самое что если бы я начал говорить что знаю С++ лучше чем комитет по стандартизации.



    Вобщем весь этот спор - глупая и бессмысленная трата времени. Ты не переубедишь меня, я не переубежу тебя. Да собственно и незачем. Надеюсь чувство превосходство над всем миром тебе поможет в жизни.
     
  16. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев


    Эээ, у тебя явно с логикой какие-то проблемы. Эти примерно то же самое, что утверждать, что только повар с соотв. образованием может сказать - было это блюдо вкусное или нет. Ты себе вбил в голову что ты суть "тварь дрожащая" супротив компилятора и с этой точки зрения споришь, а я (и не только я) считаю что человек вполне может любой самый оптимизирующий компилятор обойти на большей части серьезных вычислений. Справедливости ради хороший компилятор выдает очень неплохой в плане оптимизации код, но не непобедимый в общем случае.





    Спасибо, помогает - проверено :))
     
  17. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    То что ты удтверждаешь весьма спорно, и если не хочешь чтобы тебя считали пустозвоном, то это надо доказывать на практике. Пока же кроме слов ничего не было. Или может тебе жаль расставаться со своими предубеждениями. Короче, этой фразой ты окончательно подписался в своей некомпетентности.

    После такого позорного ответа, я думаю многие будут считать тебя пустозвоном.



    З.Ы. Хотя наверно единственное в чем ты прав, это то, что ТЫ не сможешь написать код лучше компилятора...
     
  18. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898


    нет, это не примерно то же самое. Это вообще сбоку. Во-первых, разговор не про "знаю", а "умею пользоваться", а, во-вторых, не с комитетом по стандартизации, или сотней людей писавших компилятор надо меряться, а с компилятором, и людьми, которые этим компилятором пользуются. Разработчики компиляторов, даже если они и гении, они взяли на себя работу гораздо более сложную, чем оптимизация конкретной программы, они хотят научить компьютер оптимизировать любую программу. А машина дура.



    А люди, которые пользуются компилятором... глянь сюда: http://shootout.alioth.debian.org/ Даже ради того, чтобы померяться письками, они не могут подобрать опции оптимизации для gcc, в результате чего такие языки как haskell обходят C на всяких рекурсиях или вычислениях fpu.
     
  19. The Svin

    The Svin New Member

    Публикаций:
    0
    Регистрация:
    6 июл 2003
    Сообщения:
    665
    Адрес:
    Russia




    То что количество человек в разработке системы может перейти в качество не подтверждается ни эмпирически ни аналитически.



    Разрабатывает в основном 1 человек, - остальные ассистируют. Типа "зажим", "спирт".



    Ядро DOS разрабатывал 1 человек, и ему никто ни ассистировал. NT - 1 человек и ему ассистировали 3е.

    Чикаго - 2 человека (и она в результате сдохла) и мало того из-за путаницы и не согласованности (результат увеличения "решающих" всего до 2х!) получилось несогласованность между группой Катлера и Чикаго, в результате которой программисты Win32 API имели гемор до тех пор пока 9x не начала потихоньку отбрасывать

    копыта.



    Мозги - не суммируются.

    Для того чтобы группа из 13 (чёртовой дюжины) человек смогла творчески обменятся идеями и учесть мысли друг друга как один организм нужна обработка 6227020800 связей.

    Обработать такое количество связей нереально живыми людьми. Поэтому при 13и равноправных участниках "мозгового штурма" если бы они пытались учесть мнения-мысли друг друга результат был бы хуже чем это сделал бы любой один из них по отдельности. В реальности они и разваливаются на 1, 2 человека. И просто имеют возможность подсматривать у друг друга, а решает какой-то один из них. Как только они попытаются "думать большей группой" - результат резко ухудшается.



    В результате на всё что создаёт MS находится что-то лучше и быстрее на стороне. И вся сила этой компании проявляется ни в том что она придумывает что-то лучше - она просто покупает или ворует это.

    А то в чём она хоть как-то себя оправдала было сделано 1м 2мя программистами в конкретных задачах.





    Разумеется полтора человека создавших С знают С лучше любого члена комиссии по стандартизации. Так же как Эвклид разбирался в собственной геометрии лучше любого из прошлых настоящих и будущих миллиардов преподователей Эвклидовой геометрии. А мыслей\фактов\инструментов и интеллектуальных приёмов она содержит больше чем ничтожная по этим критериям собрание идей воплощённых в MS Windows.

    Делать корреляцию между объёмом труда и его качеством - это всё равно говорить что Эйнштейн был глупее кучи рабов на каменоломне, поскольку если бы его заставили перетащить такую тучу камней - он бы надорвался. Туча камней - это миллионы строчек кода в Windows, по количеству которых ты пытаешься доказать, что некий "корпоративный" мозг MS по этому количественному определению "умнее" любой отдельно взятой головы. Даже Геракл (известный своей силой) не стал в подобной ситуации с авгеевыми конюшнями решать это количественным методом, таская г"вно на горбу. Решил её интеллектуально. Оказавшись умнее, "коллективного подхода"

    тех кто это г!вно разгрести так и не смог.



    Фу какой убогий критерий :dntknw:

    Это что же получается док. Кнут, глупее Гейтса только потому что отклонил предложение работать на MS?

    Даже Гейтс не считает, что его компания "умнее" проффессора :)

    Вобщем - случай клинический.
     
  20. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Да _DEN_ кроме пустых слов, в большей части глупых, ничего путного не сказал. Обвиняя и поливаяя грязью всех, кто по его мнению "идиоты" ибо компиллер лучше. Может будем молиться на компилятор тогда ?

    "Не печалься, что тебя не знают люди, печалься , что ты не знаешь людей". (с) Дзен. Да, именно так и есть - Вы критикует и делает какие-то необоснованные мнения о человеке, которого даже не знает. А потом кидаетесь грязью, что вы не спорили, и не хотите ничего доказывать. Как это назвать ?

    PS. ИМХО еще чувствуется , что _DEN_ Очень хочет работать в MS, но его туда не пускают.. вот он и начал ))