Page 17 of 18 FirstFirst ... 789101112131415161718 LastLast
Results 161 to 170 of 179

Thread: objective-c

  1. #161
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: objective-c

    Quote Originally Posted by Alex_3112 View Post
    Очень экзотические случаи, по моему опыту. Только если что-то неоткомпилировалось.
    совсем не экзотические - оно как бы компилируется , но после "оптимизационных процедур компилятора" вообще не остаётся ни одной исполняемой инструкции. Например , если значение локальной переменной после первого присваивания внутри процедуры вообще не изменяется до самого выхода из процедуры , то код для оператора присваивания ( mov ...) не генерируется вообще. Особенно если "память" для переменных заполняется "директивами" ( db и т.п. ).
    Просто "семантика инструкции присваивания" ведь состоит в вызове процедуры копирования значения. В описанном случае "семантика инструкции присваивания" не соответствует генерируемому коду.

  2. #162
    Forum Regular реднек's Avatar
    Join Date
    Dec 2011
    Posts
    4,427

    Default Re: objective-c

    Quote Originally Posted by crazy-mike View Post
    совсем не экзотические - оно как бы компилируется , но после "оптимизационных процедур компилятора" вообще не остаётся ни одной исполняемой инструкции. Например , если значение локальной переменной после первого присваивания внутри процедуры вообще не изменяется до самого выхода из процедуры , то код для оператора присваивания ( mov ...) не генерируется вообще. Особенно если "память" для переменных заполняется "директивами" ( db и т.п. ).
    Просто "семантика инструкции присваивания" ведь состоит в вызове процедуры копирования значения. В описанном случае "семантика инструкции присваивания" не соответствует генерируемому коду.
    Все правильно, функция имеет возвращаемое значение и side-effects. Если оптимизация не влияет не на то не на другое, то почему бы ее не применить. Семантика функции не изменится с точки зрения языка.
    Стакан на треть пуст.

  3. #163
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: objective-c

    Quote Originally Posted by реднек View Post
    Все правильно, функция имеет возвращаемое значение и side-effects. Если оптимизация не влияет не на то не на другое, то почему бы ее не применить. Семантика функции не изменится с точки зрения языка.
    Ага. Не изменится. Вот только "выполнение с точки зрения статического языка" в таких случаях совсем не соответствует "выполнению кода". Вообще никак. И break на инструкции присваивания , для которой вообще не генерировался "исполняемый код" , является чем-то "совсем странным" (т.е. желательно генерировать хотя бы команду nop ). У "динамических языков" такого "глюка" практически не бывает.
    Last edited by crazy-mike; 02-22-2013 at 11:54 PM.

  4. #164
    Forum Regular реднек's Avatar
    Join Date
    Dec 2011
    Posts
    4,427

    Default Re: objective-c

    Quote Originally Posted by crazy-mike View Post
    Ага. Не изменится. Вот только "выполнение с точки зрения статического языка" в таких случаях совсем не соответствует "выполнению кода". Вообще никак. И break на инструкции присваивания , для которой вообще не генерировался "исполняемый код" , является чем-то "совсем странным" (т.е. желательно генерировать хотя бы команду nop ). У "динамических языков" такого "глюка" практически не бывает.
    А где ты видил чтобы отлаживали соптимизированый код?
    Стакан на треть пуст.

  5. #165
    Forum Hero Alex_3112's Avatar
    Join Date
    Jul 2005
    Location
    Туц Оукыун
    Posts
    12,761

    Default Re: objective-c

    Quote Originally Posted by crazy-mike View Post
    совсем не экзотические - оно как бы компилируется , но после "оптимизационных процедур компилятора" вообще не остаётся ни одной исполняемой инструкции. Например , если значение локальной переменной после первого присваивания внутри процедуры вообще не изменяется до самого выхода из процедуры , то код для оператора присваивания ( mov ...) не генерируется вообще. Особенно если "память" для переменных заполняется "директивами" ( db и т.п. ).
    Просто "семантика инструкции присваивания" ведь состоит в вызове процедуры копирования значения. В описанном случае "семантика инструкции присваивания" не соответствует генерируемому коду.
    Нет, я не спорю, что такие случаи бывают, просто в Java мне с этим очень и очень редко приходится сталкиваться.

  6. #166
    Forum Hero Alex_3112's Avatar
    Join Date
    Jul 2005
    Location
    Туц Оукыун
    Posts
    12,761

    Default Re: objective-c

    Quote Originally Posted by реднек View Post
    Alex, я кажется понял твое предубеждение к динамическим языкам. Динамический, это не значит, что код сгенерирован и непонятно откуда ноги растут. Нет. Динамический это означает что объекты и классы могут обретать новые методы по ходу жизни, или меняется механизм поиска существующих.
    Эх, хорошо. когда все вот так вот, четко и аккуратно! Но я пытаюсь только сказать, что в динамическом языке возможности развести путаницу очень широкие.

    И еще веселее, когда javascript, в котором происходит ошибка, minified (а у нас в продакшне именно так). "Ошибка в строке 1" - а весь файл состоит из одной строки

  7. #167
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: objective-c

    Quote Originally Posted by реднек View Post
    А где ты видил чтобы отлаживали соптимизированый код?
    Нигде. Но мы когда-то тестировали по договору оптимизирующий компилятор с языка C для какого-то идиотского микропроцессора.
    Там тесты нужно было именно через оптимизирующий компилятор пропускать.
    Last edited by crazy-mike; 02-23-2013 at 05:03 AM.

  8. #168
    подниматель пингвинов crazy-mike's Avatar
    Join Date
    Nov 2006
    Location
    L'viv
    Posts
    179,963

    Default Re: objective-c

    Quote Originally Posted by Alex_3112 View Post
    Нет, я не спорю, что такие случаи бывают, просто в Java мне с этим очень и очень редко приходится сталкиваться.
    Но называть Java - "статический язык со строгой типизацией"?????? Там ведь это больше от "стиля программирования" зависит.

  9. #169
    Forum Regular реднек's Avatar
    Join Date
    Dec 2011
    Posts
    4,427

    Default Re: objective-c

    Quote Originally Posted by Alex_3112 View Post
    Эх, хорошо. когда все вот так вот, четко и аккуратно! Но я пытаюсь только сказать, что в динамическом языке возможности развести путаницу очень широкие.

    И еще веселее, когда javascript, в котором происходит ошибка, minified (а у нас в продакшне именно так). "Ошибка в строке 1" - а весь файл состоит из одной строки
    У всех в продакшене minified javascript, есть такая штука как source-mapping, чтобы можно было оттрайсить в оригинальном неминифицированом исходнике: http://www.thecssninja.com/demo/source_mapping/
    Стакан на треть пуст.

  10. #170
    Forum Regular реднек's Avatar
    Join Date
    Dec 2011
    Posts
    4,427

    Default Re: objective-c

    Quote Originally Posted by crazy-mike View Post
    Нигде. Но мы когда-то тестировали по договору оптимизирующий компилятор с языка C для какого-то идиотского микропроцессора.
    Там тесты нужно было именно через оптимизирующий компилятор пропускать.
    Оптимизатор может вообще убрать функцию и сгенерить ее инлайн.
    Стакан на треть пуст.

Page 17 of 18 FirstFirst ... 789101112131415161718 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Russian America Top. Рейтинг ресурсов Русской Америки. Terms of Service | Privacy Policy Рейтинг@Mail.ru