Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Епты, да что ж ты все про оптимизацию да про кодогенерацию 11.03.05 11:57 Число просмотров: 1988
Автор: amirul <Serge> Статус: The Elderman
|
Диктую БОЛЬШИМИ БУКВАМИ: ЭТО НЕ ИМЕЕТ ОТНОШЕНИЯ К ОБСУЖДАЕМОМУ ВОПРОСУ.
> Однако и трудоёмкость обоих фрагментов одинакова - к > оптимизации это мало отношения имеет. Если только не
Ты хоть помнишь в каком контексте ты это сказал? Мол, код одинаковый - значит методы сравнения эквивалентны. Я привел встречный пример, когда ОДИН И ТОТ ЖЕ исходник компилится в разные инструкции на асме. И ВСЕ. ВСЕГО ЛИШЬ ДЕМОНТРАЦИЯ ТОГО, ЧТО РЕЗУЛЬТИРУЮЩИЙ КОД НЕСУЩЕСТВЕННЕН.
> А компилятор в свою очередь, насколько я знаю, именно > физическим размещением функций в памяти никак не управляет > - строит всё в той последовательности, как это было > написано на Си. Хотя здесь я не уверен на 100%.
И компилятор и линкер этим и занимаются. В том числе и выравниванием кода по границе кеш-строки и прочим "размещением в памяти". НО ЭТО НЕ ОТНОСИТСЯ К ОБСУЖДАЕМОМУ ВОПРОСУ
> Видимо, мы разные обсуждения имеем ввиду. Про бутылочные > горлышки не помню. Что касается 1000-100000 строк кода, то, > как уже заметил Den, "обычно оптимизируются соседние 3 - 7 > мнемоник" - здесь вся сложность исключительно в больших > объёмах кода на АСМе против компактности и наглядности Си.
Оптимизация 3-7 соседних строк - не оптимизация вообще. Лучшая оптимизация - вообще сквозная по всей программе (но таких оптимизаторов пока нет, вернее есть но методы сквозной оптимизации довольно плохие)
ПОВТОРЮСЬ, ОПТИМИЗАЦИЯ НЕ ОТНОСИТСЯ К СУТИ ВОПРОСА
> Здесь-то как раз таки всё просто. Для записи любого символа > на русском языке достаточно 6 бит, однако используется > обычно 8. Это уже значит, что четверть можно выкинуть. Так
Это не 60%
> же в русском тексте принято отделять тире пробелами и > вообще ставить пробелы после всеми знаками препинания - их > можно со спокойной совестью вырезать, но читать уже будет > не удобно. Плюс ко всему этому - избыточность текста сама
Пробелы несут даже меньше т.н. невербальной информации, чем передается при обычном разговоре, так что речь даже более избыточна, чем письмо.
> по себе ("а" встречается гораздо чаще "ы", а после "c" > гораздо чаще идёт "е", чем "ъ"). Только если убрать всю > избыточность - прочитать такой текст (который получится > практически случайным) будет невозможно в силу строения > человеческих органов речи.
Ага, если бы у бабушки был член - она была бы дедушкой. Придумать неизбыточный язык, доступный человеческим органам речи легко, вот только послушай анекдот:
У одной женщины был муж петр. Поехала эта женщина в командировку в сша. По приезду прямо с трапа самолета, завидев мужа и решив блеснуть интеллектом, закричала
- Hello, Peter
Когда подошла к мужу, он отвесил ей оплеуху и сказал
- Это тебе за @#$ло. А дома еще за @#$%ра получишь
Теперь представь, что было бы если ВСЕ слова в языке имели такие коллизии и их смысл менялся от того, что слегка меняется один звук.
> А избыточность английского текста, кстати говоря, меньше, > чем избыточность русского. Если он ужимается сильнее, то > это происходит только по причине того, что сам алвавит > меньше, в то же время для записи символов используются те > же 8 бит. И вот за счёт уменьшения избыточности, правила > чтения английского текста гораздо сложнее правил чтения > русского. Уменьшите избыточность ещё немного и читать такой > текст будет вообще невозможно. Ты чего. Избыточность английского ВЫШЕ. А правила русского языка, кстати, гораздо сложнее английского.
> Что же касается языков, то вообще-то избыточность АСМа > значительно выше, чем избыточность Си, но это не делает АСМ > более "прозрачным". Имхо, для нормального чтения, понимания
Избыточность асма ГОРАЗДО ниже, чем C. И еще ниже, чем C++
> и написания кода вполне достаточно различных скобок, > комментариев и возможности вставлять неограниченное (в > разумных пределах :-)) количество пробелов/переходов на > новую строку. Статическая типизация указателей уже лишняя.
Ага, для "hello, world"-а достаточно. А для больших проектов не хватает уже и статической типизации.
> Однако бОльшая часть людей изучает и программирует в > последствии не по Стандарту, а именно по Страуструпу. К
Если они вдруг прочитают в страуструпе чего то, не согласующееся со стандартом - это исключительно их проблемы.
> тому же, как показывает практика, ведущие разработчики ПО > далеко не всегда к стандартам прислушиваются. Ну и как уже
Это проблемы разработчиков. Если ты найдешь место, которое не согласуется со стандартом, ты имеешь полное право сидеть и долбить этих разработчиков пока они не сделают так как НУЖНО
> заметил Den, если стандарт и будет меняться, то обязательно > с оглядкой на прошлые версии. Как уже заметил я, чего делать с NULL-ом в комитете еще не решили и в следующих версиях все может СИЛЬНО измениться.
|
|
|