Re[18]: Why Desktop Linux Sucks, And What We Can Do About It
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 23.02.10 07:55
Оценка:
Здравствуйте, Antikrot, Вы писали:

N>>Наиболее грамотные производители сами отдают дрова, проверенные и вычищенные ими. В области сетевух, например, это Intel. Могут отдавать только спеки — 3Com, Tulip (DEC).

A>как думаешь, почему это сделано для сетевух, и не сделано для скажем hiend видюх?

Даже не хочу гадать. Если у тебя это риторический вопрос — ответь сюда сам:)) Я же ни одной внятной причины не вижу. Всё, что могло составлять какой-то коммерческий секрет, обычно давно запатентовано.

N>>Если подход виндового стиля, драйвер поступает вместе с железякой. Так можно делать и для свободных ОС, примеры есть.

A>совсем недавно была ссылка(на одного из мейнтейнеров, не последний человек в линухе):
A>

A>You think you want a stable kernel interface, but you really do not, and
A>you don't even know it. What you want is a stable running driver, and
A>you get that only if your driver is in the main kernel tree. You also
A>get lots of other good benefits if your driver is in the main kernel
A>tree, all of which has made Linux into such a strong, stable, and mature
A>operating system which is the reason you are using it in the first
A>place.

A>видишь какое дело — несовместимость с идеологией...

Я не вижу здесь никакой несовместимости. Если пришла новая железка, которая удовлетворяет тому же драйверу, достаточно переделать трансляцию device ID в ссылку на драйвер. Если что-то меняется, но покрыто старым кодом, можно применить корректировочные указания. Если же новое вообще не покрывается старым кодом, то оно не покрывалось бы независимо от того, где разработан драйвер — в ядре или отдельно.
The God is real, unless declared integer.
Re[43]: претензии к gcc
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 23.02.10 08:24
Оценка:
Здравствуйте, jazzer, Вы писали:

J>>>Но вообще шаблонное метапрограммирование существует уже не один год, можно было уже и пофиксить.

N>>Очевидно, до последнего времени она не стояла так остро — тенденции такого жестокого использования появились уже в основном вместе с новым boost'ом, AFAIK.
J>C новым бустом — это с каким?

Не знаю, я его обычно только в ldd чужих программ вижу. Но если раньше не было причин лечить, значит, что-то поменялось только пару лет назад.

N>>Очень просто: -Wextra включает список совершенно конкретных варнингов и они должны быть все описаны, так что назвать конкретное название.

J>хорошо, какое конкретное название у варнинга про неполный список инициализации агрегата?

Назови версию GCC, пороюсь.

J>Но даже если бы она и была, это жа маразм — давать именную опцию на каждый варнинг!

J>А если они решат еще 20 варнингов добавить — это что, они добавят еще 20 опций?
J>Ну это же ужас, в них там уже черт ногу сломит, как там эти опции совокупляются в разных позах...

Опции варнингов никак не "совокупляются". Есть только два групповых регулятора — -Wall и -Wextra (он же -W для совместимости). Остальное по отдельности.

J>>>То же касается еще некоторых групповых варнингов, типа -Wabi.

N>>В этом случае его не было причин делить на отдельные пункты.
J>Ну само собой.

Если это сарказм, то замечу, что проблема, что делать, а что нет, строится у любого ПО на том, что попросили.:) Видимо, мало кто такое просил.
The God is real, unless declared integer.
Re[44]: претензии к gcc
От: jazzer Россия Skype: enerjazzer
Дата: 23.02.10 09:26
Оценка:
Здравствуйте, netch80, Вы писали:

J>>>>Но вообще шаблонное метапрограммирование существует уже не один год, можно было уже и пофиксить.

N>>>Очевидно, до последнего времени она не стояла так остро — тенденции такого жестокого использования появились уже в основном вместе с новым boost'ом, AFAIK.
J>>C новым бустом — это с каким?

N>Не знаю, я его обычно только в ldd чужих программ вижу. Но если раньше не было причин лечить, значит, что-то поменялось только пару лет назад.

Ну так ldd это пофиг, речь о тормозах во время выпекания объектника, а не во время линковки

N>>>Очень просто: -Wextra включает список совершенно конкретных варнингов и они должны быть все описаны, так что назвать конкретное название.

J>>хорошо, какое конкретное название у варнинга про неполный список инициализации агрегата?
N>Назови версию GCC, пороюсь.
ну у меня это 3.4.6.

J>>Но даже если бы она и была, это жа маразм — давать именную опцию на каждый варнинг!

J>>А если они решат еще 20 варнингов добавить — это что, они добавят еще 20 опций?
J>>Ну это же ужас, в них там уже черт ногу сломит, как там эти опции совокупляются в разных позах...

N>Опции варнингов никак не "совокупляются". Есть только два групповых регулятора — -Wall и -Wextra (он же -W для совместимости). Остальное по отдельности.

Но это же не отдельные группы изолированных опций, там опции влияют друг на друга.
Например, -Wsystem-headers ведет себя по-разному в зависимости от -Wall и -Wunknown-pragmas.
Или вот, например, цитата из мана:

-Wunused-parameter
Warn whenever a function parameter is unused aside from its declaration.
....
-Wunused
All the above -Wunused options combined.

In order to get a warning about an unused function parameter, you must either specify -Wextra -Wunused (note that -Wall implies -Wunused), or separately specify -Wunused-parameter

Ну и к чему тогда All, если на самом деле не All и надо упоминать явно либо использовать дополнительно -Wextra ?

J>>>>То же касается еще некоторых групповых варнингов, типа -Wabi.

N>>>В этом случае его не было причин делить на отдельные пункты.
J>>Ну само собой.

N>Если это сарказм, то замечу, что проблема, что делать, а что нет, строится у любого ПО на том, что попросили. Видимо, мало кто такое просил.

Всё так, только вот если бы изначально сделали как в мелкософте, по номерам, то и проблем таких не возникало бы, просто потому что не пришлось бы рожать по опции на каждый варнинг, как сейчас, а был бы единый унифицированный интерфейс для управления варнингами. Это ошибка дизайна, а не просто "не попросили", потому что в случае мелкософта и просить ничего не надо, вопрос так вообще не стоит.
Плюс, ЕМНИП в мелкософте можно включать/выключать прагмы через push/pop, восстанавливая старое значение, gcc вроде так не умеет.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[46]: претензии к gcc
От: jazzer Россия Skype: enerjazzer
Дата: 23.02.10 09:40
Оценка:
Здравствуйте, netch80, Вы писали:

N>>>Скорость и память компиляции — фактор обычно очень мало значимый.

Для тех, кто сидит на одной платформе (а это большинство внутренних проектов в компаниях) — очень даже значимый.
Потому что компании стараются не генерить без нужды зоопарк платформ, и юзают какую-то одну, максимум две.

N>>>Значительно важнее, например, то, что работа по переносу gcc на доселе неизвестную платформу — один человеко-месяц.


J>>Это ты говоришь про back-end, а тормозит front-end, который ну никак не зависит от количества платформ, поддерживаемых back-end-ом.

J>>На back-end никто и не нападает, вроде.

N>Ну, во-первых, мне странно разделять их в этом контекте. Они же не поставляются раздельно? Конечно, при определённых усилиях можно одну из этих частей заменить (как в гибриде gcc frontend + LLVM, на котором в основном испытывался LLVM). Но мало кто на сейчас так делает, и особенно мало — делает сам.

Просто это практически независимые части, и то, что back-end написан хорошо и расширяемо и позволяет добавить новую платорму за месяц, не извиняет ситуации с frontend-ом, в котором проще повеситься, чем вносить изменения или не дай бог изменять внутренние структуры или добавлять фичи.
Я имел удовольствие смотреть в код фронтэнда, мне пришлось потом чинить себя пивом.
Более того, сами гццшники признают, что у них там кошмарный ужас, и переписывают фронтэнд на С++.

N>Во-вторых. Ты говоришь про те тормоза, которые ты упоминал, или абстрактные тормоза имени КБ? Твои — да, frontend. Но когда говорят что "gcc тормозит и жрёт" независимо от экстремальных ситуаций типа "дофига шаблонов", то речь уже AFAIU про уровень, когда прошла первичная кодогенерация и начинаются оптимизации. В зависимости от настроек там может очень много тратиться.

Не знаю, что такое КБ, я говорю именно про тормоза с инстанцированием шаблонов, это фронтэнд.
90% шаблонов в шаблонном метапрограммировании обычно вообще никакого реального кода для генерации не имеют, там вся работа на уровне системы типов идет (т.е. просто пустые структуры с кучей тайпдефов). Так что кодогенерация тут ни при чем.
Ну и я не сказал бы, что "дофига шаблонов" — это экстремальная ситуация, для нормального С++-проекта это нормальная ситуация.

N>Практически все остальные компиляторы относятся к оптимизации по умолчанию более мягко — код без оптимизации далеко не идеален, но это просто последовательное переложение действий из исходника, а не каких-то внутренних расчётов, кто на ком стоял и почему.

+1
Товарищи из Clang тоже ругаются на излишнее количество приседаний во фронтэнде.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[14]: Why Desktop Linux Sucks, And What We Can Do About It
От: DOOM Россия  
Дата: 23.02.10 10:24
Оценка:
Здравствуйте, Sharowarsheg, Вы писали:

S>После того, как написали, надо еще тестировать и поддерживать. Опенсорц этим заниматься не будет.


Да почему-то занимаются....
Re[16]: Why Desktop Linux Sucks, And What We Can Do About It
От: Vamp Россия  
Дата: 23.02.10 12:39
Оценка:
S>Поддерживают — точно мало, плавно переходящее в очень мало.
GRUB, GIMP, GNOME, ntfs-3g, fuse, etc, etc, etc

S>Практически, по возможности стоит класть в коробку или печатать на ней то, что работает. Иначе с дерьмом смешают, не посмотрев на third party bullshit.

Да ладно. Видел я такие надписи, никого это не смутило. А вообще-то можно и не печатать ничего на коробке, вообще-то.
Да здравствует мыло душистое и веревка пушистая.
Re[43]: претензии к gcc
От: Vamp Россия  
Дата: 23.02.10 12:52
Оценка:
J>Сравнивается именно скорость и потребление памяти фронт-энда.
ОК. Я же не спорю. Я вообще-то никогда ничего большого gcc не компилировал. Просто пытаюсь поддержать уровень дискуссии.

J>только он при превышении определенного значения приводит к дополнительным тормозам из-за постоянного свопа.

Я разбалован ситуацией, когда памяти на борту больше, чем объем максиммально адресуемого пространства для 32битного приложения.
Да здравствует мыло душистое и веревка пушистая.
Re[14]: Why Desktop Linux Sucks, And What We Can Do About It
От: Sharowarsheg  
Дата: 25.02.10 11:42
Оценка:
Здравствуйте, Vamp, Вы писали:

IID>>До семёрок была Vista + XP, до висты Win2k3 + XP. На них ни одного вируса тоже не было. ЧЯДНТ ?

V>Врешь, вот что ты делаешь не так.
V>У меня на ХР вирус с флешки схватился, потому что по умолчанию на съемных носителях включен автозапуск. И кстати, чтобы отключить его в ХР, надо лезть в реестр.

Мне всегда казалось, что он есть в GPO для Local Machine.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.