информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Сетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Простое пробивание рабочего/провайдерского... 
 400 уязвимостей в процессорах Snapdragon 
 Яндекс неуклюже оправдался за установку... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Епты, да что ж ты все про оптимизацию да про кодогенерацию 11.03.05 11:57  Число просмотров: 1939
Автор: 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-ом в комитете еще не решили и в следующих версиях все может СИЛЬНО измениться.
<programming> Поиск 








Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2020 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach