Про языки программирования

Тема в разделе "WASM.HEAP", создана пользователем EvilsInterrupt, 23 окт 2008.

  1. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    varnie
    обшарпанный он написал. это значит C#.
     
  2. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    Comer_
    теперь ясно, спасибо за пояснение.
    все равно сленг -- жесть.
     
  3. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    varnie
    А ти шо, не кулхацкерь? O_o
     
  4. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Мне тоже не нравится код без включённого оптимизатора :). В оптимизированном коде вообще не должно быть пустых циклов.
     
  5. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    SadKo
    Да ты что, правда что-ли? :)
     
  6. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    зачотно:)))
     
  7. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    Partner
    В колекцию оптимизации делфи только хз по скорости или по размеру.

    MOV DWORD PTR SS:[EBP-30],EAX
    MOV EAX,DWORD PTR SS:[EBP-30]
    MOV DWORD PTR SS:[EBP-2C],EAX

    mov eax, [ebp+var_20]
    add eax, 1
    mov [ebp+var_20], eax

    movzx ecx, WORD PTR _port
    sar ecx, 8
    movzx edx, WORD PTR _port
    and edx, 255 ; 000000ffH
    shl edx, 8
    or ecx, edx
    ;xchg ch,cl

    Давайте продуктивнее, осталось 40 страниц до эпилога.
     
  8. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    varnie
    Ничего незачётно, вдруг мне нужен пустой. Кастрировать можно неиспользуемые переменные, а циклы нефиг трогать. Да и такой код генерится в Билдере независимо от того пустой он или нет, включена оптимизация или нет. Да и ещё вдобавок 6 билдер далёк от стандарта, например ругается на конструкцию вида:
    Код (Text):
    1. for (int i=0; i<100; i++)
    2. {}
    i необходимо объявлять до цикла. Хотя и у VS 2002 то же самое. Хотя компиль дельфы вроде лучше. Но всё таки это оставляет неприятное впечатление от продуктов борланда.
     
  9. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    мамонтов то зачем тормошить?
     
  10. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    varnie
    Кое-где эти мамонты до сих пор активно используются.
     
  11. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    Booster
    кое-где люди до сих пор верят в б0га и прочих пакимоноффф ^_^
    ps: ничего личного, но доводы у вас неубедительные ИМХО.
    pps: а кое-где на бейсике под ZX Spectrum пишут, это же не довод.
     
  12. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    SII
    > "убрали из C# ... говорит о том, что сей механизм не очень-то нужен"
    После таких аргументов - я пас.
     
  13. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    varnie
    Доводы в чём? Это всё флуд, а не доводы. Старые компили используются кое-где действительно очень активно, или за неимением средств покупки нового, или так как надо собирать старые проекты. А вообще про то, что они далёки от стандарта я просто так сказал, для информации, мне на это на самом деле до лампочки. Мне в билдере больше всего не нравилось глючное ide, кодишь и думаешь, вот сейчас кинешь какой-нибудь компанент, а оно как заглючит, и будешь потом ковырять пол-дня.
     
  14. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    На самом деле в С# убрали многие вещи из C++, так как .Net это рантаймовая среда, C++ же язык компиляции. Это кстати одна из причин почему управляемый С++, проигрывает в производительности С#. Для меня кстати по-началу было неожиданным сюрпризом в C# наличие виртуальных конструкторов. O_o.
     
  15. zhindos

    zhindos New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2008
    Сообщения:
    142
    C++ же язык компиляции

    В этом смысле C# тоже - в IL-code.

    управляемый С++, проигрывает в производительности С#

    ???
    Имеется ввиду, что для одного и того же куска кода на этих языках генерится разный IL?
     
  16. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    zhindos
    Дело не в IL, а в том что .Net это рантайм, и многие вещи там делаются в рантайме. Например в обычной C++ скомпиленной проге не отличить процедурный код от объектного. В С# же в скомпиленном файле есть и тип и объект. Многие проверки там делаются именно в рантайме и генерятся исключения. С++ же заточен под парадигму этапа компиляции, и он под это дело ложится хуже чем специально сделанный С#. Банально нужно делать больше проверок и отсюда меньшая эффективность. Да код у С++ получается хуже чем C#.
     
  17. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Что за бредятина? C# уже научился генерить PE с x86-кодом? Так какого х..., простите, сравнивать C#-код и C++-код?
    Давайте соизмеримые вещи сравнивать всё же. А то я сейчас начну вам лапшу по Java Runtime вешать на уши.

    А вообще, значительная часть оптимизации зависит также не от компилятора, а от кодогенератора. Если кодогенератор хреновый - то увы и ах, тут и высокоуровневая оптимизация не поможет.
     
  18. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    SadKo
    Имелcя ввиду управляемый C++. Да и упомянул я это не для сравнения, а для объяснения, почему из C# убрали некоторые конструкции C++.
     
  19. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    C# непосредственно нет, а дотнетовский JIT генерит неплохой код.
     
  20. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Давайте различать билдер и дельфи. Согласен, что билдер генерит код ниже среднего. Но разговор о дельфи.