Asm, C, C#

Тема в разделе "WASM.HEAP", создана пользователем mix_mix, 22 июн 2006.

  1. mix_mix

    mix_mix Михаил

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    277
    Адрес:
    Токио
    Какие компиляторы максимально оптимизирующие для С и С# вы знаете. Хочу провести собственный эксперимент: одна и таже программа на трех языках, буду оценивать размер PE, скорость выполнения, посмотрю под дизассемблером сишный код (действительно ли компилятор сильно оптимизирует его?).

    В принципе можно и С++, но он меня как-то не оч привлекает.

    Цель: добиться удовлетвореня, осознав, что асм круче всех =).
     
  2. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

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

    Смысл?

    Если тебе нравится АСМ, то стоит ли искать замену? Если ищешь, то значит не так его ценишь и любишь! Я вот давно осознал: "На войне все средства хороши" А война у нас одна: - незнания и безденежье
     
  3. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    mix_mix

    Я знаю и использую только "Microsoft C/C++ Compiler V 14.00.50727.42", и только в плане C++. Нормальный компилятор, но есстно человека пересилить не может в плане оптимизации, и не один компилятор не может. Если хочешь взяться за реально сложную задачу - попытайся обставить компилятор для Itanium 2, или другого RISC-проца.
     
  4. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Степень оптимизации зависит от сложности функции, количества локальных переменных, даже от того, как ты описываешь локальные переменные - заранее или по ходу дела. Один из самых оптимизирующих - это упомянутый Microsoft C/C++ Compiler. Ватком тоже неплохо оптимизирует.
     
  5. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    А есть ли компиляторы C# кроме как от MS ? :)
     
  6. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    mix_mix

    До недавнего времени пользовался Microsoft C/C++ Compiler, но попробовал Intel compiler и заметил разницу не в размере, а в скорости.
     
  7. mix_mix

    mix_mix Михаил

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    277
    Адрес:
    Токио
    Ясно, спасибо всем.

    EvilsInterrupt

    Мне просто хочется посмотреть насколько сильно добивается оптимизации С компилер и узнать какие тормаза обитают в мире C#. А асм ни на какой си не променяю, хоть я пока и оптимизирую хреново =)
     
  8. 6arrep

    6arrep New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2006
    Сообщения:
    92
    Адрес:
    London
    так правды не добъешся. кто чем пользуется то и хвалит.

    возьми несколько разных (популярных).



    вот мне интересно ктоже из нас оптимизирует асм код ? а именно: четность, границы, многоконвеерное прохождение без перезагрузок кеша и предсказателя команд... но языкам высокого уровня никакая оптимизация не поможет. ненужный код всеравно останется, хоть и оптимизированый :)
     
  9. TheBits

    TheBits Сергей

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    50
    Адрес:
    St.Petersburg
    mix_mix, Вы Adobe Photoshop и Microsoft Word не сравнивали?



    Asterix, есть. Но практика показывает что на 5-15% компилятор от MS быстрее.
     
  10. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    6arrep

    Что Вы называете ненужным кодом?

    Хороший компилятор убирает ненужный код.
     
  11. Guest

    Guest New Member

    Публикаций:
    0
    Регистрация:
    4 авг 2003
    Сообщения:
    9
    Адрес:
    Минск, Беларусь
    Чтобы на C++ получить хорошую оптимизацию нужно использовать директивы компилятора
     
  12. Dvuugl

    Dvuugl New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2006
    Сообщения:
    9
    Адрес:
    Russia
    А существуют ли компиляторы с C# в нативный код, в смысле без среды типа .net, mono?
     
  13. apple

    apple Виктор

    Публикаций:
    0
    Регистрация:
    26 апр 2005
    Сообщения:
    907
    Адрес:
    Russia
    А существуют ли компиляторы с C# в нативный код, в смысле без среды типа .net, mono?



    Да. ThiInstall.

    Только это по большому счету это не законно (с точки зрание M$)
     
  14. mix_mix

    mix_mix Михаил

    Публикаций:
    0
    Регистрация:
    8 окт 2005
    Сообщения:
    277
    Адрес:
    Токио
    TheBits

    Сравнивал, PhotoShop лучше, он от Adobe, Word от MS =)

    Просто я хочу сделать некие выводы в виде "О, компилятор Си действительно оптимизирует код. Круто! Так, а это, что за хрень? Я такого не писал!" и "Так, на асме сортировка массива осуществяется за 2 секунды на C#... Так, нефига себе! 15 секунд!" Вот это я хочу увидеть своими глазами.

    apple

    Прикольно, только размер PE, наверное, намного увеличивается. Там же, небось, все библиотеки (System.<...>) компонуются.
     
  15. masquer

    masquer wasm.ru

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


    Имхо, такого не будет скорее всего, а в зависимости от того, что и как сортируем, так на шарпе еще и пошустрее может выйти :)

    А вообще, это, конечно, все равно, что сравнивать трактора с яблоками.
     
  16. r90

    r90 New Member

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



    глянь сюда.



    зы. очень рекомендую посмотреть на benchmark chameneos. там ещё замучаешься обгонять асмом ghc. ;)

    Правда если обгонишь, то поймёшь, что все эти сравнения языков -- туфта полная. Или, как выражается masquer -- сравнение тракторов с яблоками.
     
  17. Dvuugl

    Dvuugl New Member

    Публикаций:
    0
    Регистрация:
    21 июн 2006
    Сообщения:
    9
    Адрес:
    Russia
    apple



    Правильно ли я понял что запрещена сама разработка компилятора C# кем либо кроме M$? Не только использование готовых нефриварных компиляторов, но уже само намерение создать должно быть лицензировано? Но mono свободно распространяемая, значит моновцы купили лицензию на право разработки? Или незаконен только нативный код, без .net?



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