The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Дискуссия об использовании языка C++ для разработки ядра Linux, opennews (??), 14-Янв-24, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  –17 +/
Сообщение от Аноним (1), 14-Янв-24, 21:43 
Нельзя туда цпп. Ладно модули, только не ядро. Запаримся пересобирать же! Си собирается намного шустрее.
Ответить | Правка | Наверх | Cообщить модератору

2. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от oficsu (ok), 14-Янв-24, 21:46 
Там жалобы есть в том числе на макросы. А они вполне себе могут компилиться дольше, чем какие-нибудь шаблоны, решающие ту же задачу
Ответить | Правка | Наверх | Cообщить модератору

18. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +3 +/
Сообщение от Аноним (18), 14-Янв-24, 22:08 
>Там жалобы есть в том числе на макросы. А они вполне себе могут компилиться дольше, чем какие-нибудь шаблоны, решающие ту же задачу

ШТО?

Макросы, в отличие от шаблонов цпп, не обладают тьюринговой полнотой. Это шаблоны можно заставить компилироваться сколь угодно долго.

Ответить | Правка | Наверх | Cообщить модератору

52. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +3 +/
Сообщение от funny.falcon (?), 14-Янв-24, 23:20 
> не обладают тьюринговой полнотой

Но остаётся совсем чуть-чуть до этого.

https://github.com/Hirrolot/metalang99
https://jadlevesque.github.io/PPMP-Iceberg/

Я сделал на шаблонах довольно мощную штуку с объектным программированием на C.
И оно компилится действительно очень долго.
Кроме TCC, он быстр даже в этих шаблонах. Правда, чуть-чуть бажит.

Ответить | Правка | Наверх | Cообщить модератору

61. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +4 +/
Сообщение от Аноним (-), 14-Янв-24, 23:41 
> Я сделал на шаблонах довольно мощную штуку с объектным программированием на C.
> И оно компилится действительно очень долго.

А я сделал себе верификацию ряда операций в компилтайме, скажем что я в 32 бит регистре не трогаю 35-й бит. Почти хруст получился. Даже не тормозит особо. В сабже кстати есть зачатки этого добра откуда я и содрал идею.

Хотя круче всего это в Zig сделано - там можно компил тайм предвычисления юзая стандартный синтаксис яп. Плюсы в этом смысле - убогие полумеры, ибо препроцессор с отдельным синтаксисом никуда не делся. А какой-нибудь constexpr знатный горбыль так то.

Ответить | Правка | Наверх | Cообщить модератору

56. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  –1 +/
Сообщение от Аноним (-), 14-Янв-24, 23:32 
> Макросы, в отличие от шаблонов цпп, не обладают тьюринговой полнотой.
> Это шаблоны можно заставить компилироваться сколь угодно долго.

Они ну вот буквально на грани :). Единственный лимит - рекурсия до 128, чтоли, уровней в GCC разрешена. Но с таким количеством рекурсии можно основательно позажигать.

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

69. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  –1 +/
Сообщение от oficsu (ok), 14-Янв-24, 23:48 
> Это шаблоны можно заставить компилироваться сколь угодно долго

Да, можно. Но это рассуждение об экстремальных примерах. Но экстремальные примеры — скорее редкость. Дуплицирование кода от макросов способно замедлять компиляцию точно так же, как и шаблоны. И способно иногда замедлять её даже сильнее при решении аналогичных задач

Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

214. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +2 +/
Сообщение от Аноним (214), 15-Янв-24, 10:28 
Тормозящие шаблоны целиком типичная ситуация в 100% проектов. Программы на этом языке компилируются дольше всего.
Ответить | Правка | Наверх | Cообщить модератору

408. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Аноним (293), 15-Янв-24, 20:31 
Шаблоны это compile time. Ну и хрен с ними, сколько им компиляться. Главное, чтобы потом сгенерённый код быстро работал.
Ответить | Правка | Наверх | Cообщить модератору

30. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Bottle (?), 14-Янв-24, 22:29 
А ещё макросы не анализируются также хорошо как шаблоны через статический анализ.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

4. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +5 +/
Сообщение от Аноним (4), 14-Янв-24, 21:47 
Так пусть определятся для начала. Если rust можно, то почему плюсы нельзя?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

32. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от _hide_ (ok), 14-Янв-24, 22:36 
А кто сказал, что раст можно? Пока что раст -- это для модулей, которые с ванилью собирать не обязательно
Ответить | Правка | Наверх | Cообщить модератору

51. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Витюшка (?), 14-Янв-24, 23:18 
Это сказал Линус в интервью, что ожидается большее использование в базовых компонентах ядра.

Те модули - это пока, проба пера.

Ответить | Правка | Наверх | Cообщить модератору

107. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (107), 15-Янв-24, 02:09 
Только в драйверах и может быть в файловых системах, и то если все хорошо пойдет.
Ответить | Правка | Наверх | Cообщить модератору

204. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Герман (??), 15-Янв-24, 10:07 
Потому что плюсы слишком громоздкие, много неявного поведения, имеется наследование классов, шаблоны. Чудовище Франкенштейна самое настоящее. В ядре такое - недопустимо, лишнее усложнение не нужно, высока цена ошибки

Раст же, как и Си, - прост. Да, раст посложнее Си по части обучения, но проще плюсов, и он предоставляет множество гарантий безопасности, чего нет в плюсах

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

252. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (252), 15-Янв-24, 12:21 
>гарантий безопасности

Какие тебе гарантии нужны? Средства в плюсах давно есть. А если у тебя генетическая склонность стрелять по своим ногам, то тут и раст не справится.

Ответить | Правка | Наверх | Cообщить модератору

255. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +2 +/
Сообщение от Герман (??), 15-Янв-24, 12:42 
Средства, использования которых необязательны? Было бы в плюсах все хорошо с безопасностью, не было бы придумано столь много безопасных замен ему. Раст учит разработчиков с самого начала изучения следить за правильной работой с памятью, не давая некорректному коду скомпилироваться

Говорят, что у Раста мнимая безопасность, потому что есть unsafe (который в случае ошибки при работе с памятью, укажет разработчику, куда стоит смотреть в первую очередь), но код на плюсах - весь unsafe

Ответить | Правка | Наверх | Cообщить модератору

347. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +2 +/
Сообщение от Аноним (341), 15-Янв-24, 16:51 
> шаблоны. Чудовище Франкенштейна самое настоящее. В ядре такое - недопустимо

Давайте полюбуемся на простые _Generic-макросы в ядре. И вообще на макросы.

https://github.com/torvalds/linux/blob/052d534373b7ed33712a6...
https://github.com/torvalds/linux/blob/052d534373b7ed33712a6...

Ответить | Правка | К родителю #204 | Наверх | Cообщить модератору

6. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (6), 14-Янв-24, 21:50 
А сколько там модулей в стандартной библиотеке, которые меняются из версии в версию (просто как вот это всё дебажить потом на уязвимости, если ядро на C уже вселенского масштаба)
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

7. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Аноним (7), 14-Янв-24, 21:50 
Даже в Gentoo завезли бинарное ядро.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

36. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (36), 14-Янв-24, 22:43 
Для истинных гентушков это ничкго не изменило.
Ответить | Правка | Наверх | Cообщить модератору

105. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (105), 15-Янв-24, 02:02 
Как будто только гента позволяет ядро пересобрать. В Void это делается ровно точно так же с конфигом ядра без всяких use флагов.
Ответить | Правка | Наверх | Cообщить модератору

452. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +2 +/
Сообщение от Аноним (452), 16-Янв-24, 00:06 
Так сборка ядра в Генте ничем не отличается от сборки в других Линуксах. Неиспользуются при этом флаги USE. Только вот линуксоиды ныне измельчали, не собирают себе ядра. А потом ноют, что им такое жирнючее положили в дистр.
Ответить | Правка | Наверх | Cообщить модератору

517. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (115), 16-Янв-24, 13:49 
Отличается же, в генте не нужно готовить всякий шлак вроде initrd и не нужно собирать всё ядро. В других линуксах всё же обычно дают возможность пересобрать всё и это очень долго, а ксатомизировать крайне геморно
Ответить | Правка | Наверх | Cообщить модератору

601. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (-), 17-Янв-24, 04:16 
> Отличается же, в генте не нужно готовить всякий шлак вроде initrd и
> не нужно собирать всё ядро. В других линуксах всё же обычно
> дают возможность пересобрать всё и это очень долго,

Yolo! Я майнлайне кернель под дебианом собираю. В билдсистеме ядра даже есть генерация пакетов. Таргет "make bindeb-pkg" - и билдсистема сама скроит пакетик с кернелом в лучшем виде. И да, часть систем тоже взлетает без initrt. Хоть они и дебианы. Что в этом такого?

И уж конечно кастомизировать можно все что угодно. Билдится это - в зависимости от того что включено. Только билдить кернел для 1 тазика не совсем практично - для какого-то "класса железок" намного прагматичнее. Ибо майнтайнить зоопарк - затея весьма голимая. Особенно как локалхостов становится более десятка.

> а ксатомизировать крайне геморно

Я бы не назвал menuconfig чем-то ужасным. А вон там для референса дистровский конфиг есть например. И гемор - он в чем? И чего так уж упрощает в этом гента? Там самое сложное - это понимать что эти галочки реально делают. Гента в этом не поможет вообще никак :)

Ответить | Правка | Наверх | Cообщить модератору

623. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (623), 17-Янв-24, 16:35 
>  А вон там для референса дистровский конфиг есть например. И гемор - он в чем?

Тем, что этот конфиг слишком избыточный и проще начать всё делать с нуля. Сложность заключается в кол-ве телодвижений от начала процесса и до выкатки в бутовый конфиг за вычетом времени в menuconfig

Ответить | Правка | Наверх | Cообщить модератору

647. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (-), 19-Янв-24, 18:46 
> Тем, что этот конфиг слишком избыточный и проще начать всё делать с нуля.

ИМХО где как. На десктопе я от дистровского конифига танцевал, таргетируя более-менее похожие на мой компы x86-64, без совсем редких вундервафель махрового энтерпрайза или винтажного добра редко встречающегося в x86-64.

Да, кернел жирнее и дольше билдится. Зато подымает 3 мои компа включая "альтернативные/бэкапные" и ноут. Без затрат времени на билдовку им уберкастома. Это осознанный tradeoff.

А например на ARM - я местами и от мелкого defconfig оттанцевал. Потому что вот там из дистрокернела вырезать ненужное можно и заманаться уже, если я таргетирую допустим пяток похожих железок на чипах одной фирмы и более - нифига.

> Сложность заключается в кол-ве телодвижений от начала процесса и до
> выкатки в бутовый конфиг за вычетом времени в menuconfig

Когда тазиков оказывается не 1 а эн, начинает хотеться некоторого обобщения оных и урезания объема работ. Если у меня легион одноплатников - и я буду каждому кернел под микроскопом пилять - я тогда займусь только микро-оптимизациями, а на более полезные и интересные проекты времени не останется. И вот интеерсные проекты будут спущены в угоду 2% перфоманса. А оно того точно стоило? Эти 2% никто не заметит - и я уж точно не упирался в 2% перфоманса в задачах которые там были. Иначе я бы выбрал более мощную железку, для более разумных сроков проекта.

Ответить | Правка | Наверх | Cообщить модератору

8. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  –1 +/
Сообщение от maximnik0 (?), 14-Янв-24, 21:51 
>Нельзя туда цпп. Ладно модули, только не ядро. Запаримся пересобирать же! Си собирается намного шустрее.

Так разговоры давно идут об введений подмножеств - урезанной современной версии языка.С выкидыванием всякого хлама,там такого всего накопилось ......
Вообще удивительно как это еще собирается.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

63. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (-), 14-Янв-24, 23:43 
> Так разговоры давно идут об введений подмножеств - урезанной современной версии языка.
> С выкидыванием всякого хлама,там такого всего накопилось ......

Так то g++ заметно тормознее gcc... потому что C++ куда как более фичастый язык. И время жевания сорцов на плсоте - ну вот реально заметно дольше. Хоть там как.

Ответить | Правка | Наверх | Cообщить модератору

458. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +2 +/
Сообщение от Аноним (452), 16-Янв-24, 00:13 
И чё? Когда сам GCC c версии 4.8 тоже начал постепенный переход на C++, тоже ныли, мееедленно. Вот спустя десяток лет, полёт нормальный. Пользуемся и не замечаем. Уж некоторые и забыли/не знали, что он на C++.
Ответить | Правка | Наверх | Cообщить модератору

475. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Аноним (-), 16-Янв-24, 02:52 
> И чё? Когда сам GCC c версии 4.8 тоже начал постепенный переход
> на C++, тоже ныли, мееедленно. Вот спустя десяток лет, полёт нормальный.
> Пользуемся и не замечаем. Уж некоторые и забыли/не знали, что он на C++.

А вы часто вот именно gcc сами компилите, чтобы разницу в времени компила gcc ощутить? Так то его заметно тормознее себе перекомпиливать стало. Я это еще и практикую, так что знаю о чем говорю.

На скорость работы скомпиленой прогрыммы это может и не влиять. А вот на скорость компила очень даже. Ну и вот проги на плюсах - заметно дольше компилятся "при прочих равных" (e.g. примрено одинаковая функциональность).

Ответить | Правка | Наверх | Cообщить модератору

583. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от _kp (ok), 16-Янв-24, 21:47 
> Так то g++ заметно тормознее gcc...

  Это в прошлом было такое.
А сейчас что скорость компиляции примерно одинакова, с очень небольшим преимуществом gcc, в среднем, но не всегда.
  Но нет дыма без огня. В разных сборках компиляторов скорость может отличаться в разы, например, бывает "хорошая" сборка g++ может быть заметно быстрее gcc или другой сборки g++. Такой бардак с компиляторами есть для esp32 и stm32, и вляпавшись в крайние отклонения в скорости компиляции "удачной" пары компиляторов можно сделать неверные выводы.

  При тесте на исходнике который могут переварить оба компилятора, нормальных сборок, то разница незначительна, и быстрее может оказаться и g++.
  А  если понаворотите кода, то логично, что работы станет больше, и оптимизировать тоже  надо.

  А еще некорректно сравнивать скорость компиляции в отрыве от результата компиляции, а то clang часто быстрее g++, но у g++ бинарник получше на мой взгляд выходит.

Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

603. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (-), 17-Янв-24, 04:30 
> А сейчас что скорость компиляции примерно одинакова, с очень небольшим преимуществом gcc,
> в среднем, но не всегда.

Угу, конечно. Запускаем допустим libaom компилиться. И чего-то сишная часть тикает быстро, а вот плюсатые - всего лишь тесты - куда скромнее по скорости сборки, при том что в общем то тесты довольно примитивные. Cmake индикатор прогресса кажет, в процентах, там хорошо видно кто тормоз.

>   Но нет дыма без огня. В разных сборках компиляторов скорость
> может отличаться в разы, например, бывает "хорошая" сборка g++ может быть
> заметно быстрее gcc или другой сборки g++.

У меня стандартный дебиановский gcc/g++ 12.x - такой как его дебиан отгружает. Васянские сборки я устанавливать не собираюсь хоть там как.

> Такой бардак с компиляторами есть для esp32 и stm32,

Я для STM32 собираю обычным дистровским же gcc-arm-none-eabi (впрочем и gcc-arm-gnueabihf катит). Но я для фирмварей только си юзаю. А зачем мне васянские сборки, опять же?

> и вляпавшись в крайние отклонения в скорости компиляции "удачной" пары
> компиляторов можно сделать неверные выводы.

Вон то - совершенно типовой тренд для билдовки софта. Суммарно я так или иначе пробовал билдовать около 250 разных программ так что имел возможность заметить тренды. Они мало меняются по версиям системного gcc, g++ всегда заметно медленнее gcc как компилер.

>   При тесте на исходнике который могут переварить оба компилятора, нормальных
> сборок, то разница незначительна, и быстрее может оказаться и g++.

Возможно. Однако плюсатый софт в целом компилится весьма ощутимо медленнее. Ессно его нельзя собрать gcc для сравнения. Но например GTKшную морду трансмишна на си VS плюсатую на Qt - вполне, и в силу сравнимой функциональности можно прикинуть как мне время билдовки. И оно ессно не в пользу g++ от слова вообще.

>   А еще некорректно сравнивать скорость компиляции в отрыве от результата
> компиляции, а то clang часто быстрее g++, но у g++ бинарник
> получше на мой взгляд выходит.

Я выразил "интегральный" опыт - в целом плюсатый софт заметно тормознее в компиле. Вот хоть как. И тот же gcc после того как разрешили юзеж плюсов пересобираться стал ощутимо дольше, что в общем то и не фича вовсе.

Ответить | Правка | Наверх | Cообщить модератору

615. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от _kp (ok), 17-Янв-24, 12:26 
>>А зачем мне васянские сборки, опять же?

Если например пересборка компилятора esp32s3 и системы сборки сократила время сборки проекта  с 40 до 8 секунд, то таких Васянов на руках носить надо.
Впрочем, раз Вы вполне опытный, можете собрать и сами. А если "Васяны" дали подсказку куда копать, то и их труды не пропали.

>>куда скромнее по скорости сборки, при том что в общем то тесты довольно примитивны

Малый разрыв в скорости, это когда си-исходник собирается с++ компилятором.
Но это справедливо для одной версии и сборки компиляторов clang и gcc. А разные версии и сбоки могут отличаться как угодно

Ещё на слабых для разработки компах, и тем более каких есть ноутбуках, свежие компиляторы в принципе медленнее старых версий их же самих. И разрыв между компиляцией си и с++ будет вполне заметен. А на среднемощном десктопе таки пофиг.

Ответить | Правка | Наверх | Cообщить модератору

673. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (-), 21-Янв-24, 16:53 
> Впрочем, раз Вы вполне опытный, можете собрать и сами. А если "Васяны"
> дали подсказку куда копать, то и их труды не пропали.

Я ESP не использую, и врядли буду когда либо. Так что это знание может и будет полезно... но кому-то другому.

> Малый разрыв в скорости, это когда си-исходник собирается с++ компилятором.

Вы издеваетесь? Меня жонглирование цифрами не интересует, интересно время фактической сборки проектов. Зачем мне обманывать самого себя? И в этом смысле плюсовые проекты заметно тормознее билдить.

> Ещё на слабых для разработки компах, и тем более каких есть ноутбуках,
> свежие компиляторы в принципе медленнее старых версий их же самих. И
> разрыв между компиляцией си и с++ будет вполне заметен. А на
> среднемощном десктопе таки пофиг.

У меня довольно мощный десктоп - и - боюсь я очень даже вижу разницу в времени билда старого gcc и нового где плюсоту можно стало, например. А по сравнению с кернелом gcc так то довольно небольшой проект. Заякорить билд кернела в пару раз было бы очень такой себе идеей. На разлапистой конфиге там и так время билда очень даже.

Ответить | Правка | Наверх | Cообщить модератору

674. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от _kp (ok), 21-Янв-24, 19:21 
Как нас унесло. Изначальный смысл был скормить си исходники компилятору с++, а не переписывать, чем занята другая группа.

Мощные десктопы на работе, и дома у любителей. У меня тоже есть и мощные.
Но случаи бывают разные. Банально что то поправить, и собрать не дома. Есть ещё командировки. И студенты в конце концов.

>>плюсовые проекты заметно тормознее билдить.

Плюсовые, да, там же тупо язык сложнее. Но не такая редкость когда по сути си проекты, с минимумом фич от с++, или их отсутствием, собирают с++ компилятором. И тут, взависимости от стиля исходника, бинарник может получиться и лучше, и контроль типов получше, а разница во времени компиляции минимальна в подобных случаях.
Вообще, если не рассматривать ядро, то гораздо чаще сборку проекта можно ускорить не заменой компилятора, а его реорганизацией проекта, зависимостей, и правилами сборки, а то именно на мощных компах проекты "начинающих" и "консерваторов" не используют все ресурсы компа, и даже на мощной машине собираются неспешно.

Ответить | Правка | Наверх | Cообщить модератору

675. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (-), 21-Янв-24, 20:34 
> Как нас унесло. Изначальный смысл был скормить си исходники компилятору с++, а
> не переписывать, чем занята другая группа.

Вот те раз. А я то думал изначальный смысл - оценить технологию, по возможности объективно и непредвзято. И в этом смысле меня таки как кастомщика и кернелбилдера в контексте сабжа беспокоит потенциал для обвала скорости компила в разы.

Да, C++ позволяет более выразительные конструкции. Если б еще наслоения легаси выкинуть, и оформить более безопасный subset дефолтов "для чайников" - был бы наверное неплохой яп так то. Но в случае с проектом размером с кернел есть много разных аспектов. Время компила напрямую влияет на допустим степень протестированности кода, да и скорость разработки якорит.

Не, коду который "haven't seen compiler" я не доверяю. Never had, and never will.

> Мощные десктопы на работе, и дома у любителей. У меня тоже есть и мощные.

Времена билда кернела могут напрячь и на таких. Помножить эти времена на эн - очень так себе идея. К тому же это все создает entry level barrier там где его быть не должно, отсеивая всяких студентов и ко. Зачем нам это проект без студентов и энтузиастов, где только мегакорпы?

> Но случаи бывают разные. Банально что то поправить, и собрать не дома.
> Есть ещё командировки. И студенты в конце концов.

Ну дык. Чем злее требования к конфиге - тем меньше народа это все будет делать. Это идет вразрез с идеями опенсорса - и куда это заведет? К тому что пилить будут полтора корпората с билдфермами? Так что совсем игнорить этот топик имхо не стоит.

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

Это в основном майкрософтовские кодеры таким страдают, как и юзежом си++ в режиме "чуть улучшеный си". Вызвано убогостью MSVS как си компилера, но в случае сабжа не аргумент ибо - unsupported config.

> И тут, взависимости от стиля исходника, бинарник может получиться и лучше,

С фига ли вдруг?

> и контроль типов получше,

Да вообще-то в сях он весьма даже. А если кто думал что знает о типах все, пусть попробует -Wconversion поюзать. И таки - компилер то может. А вот сможете ли вы с этим жить, если вам на pre-existing проекты вот такие жесткие проверки влепить...

> Вообще, если не рассматривать ядро, то гораздо чаще сборку проекта можно ускорить
> не заменой компилятора, а его реорганизацией проекта, зависимостей, и правилами сборки,

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

> а то именно на мощных компах проекты "начинающих" и "консерваторов" не
> используют все ресурсы компа, и даже на мощной машине собираются неспешно.

Да вообще-то при пинке в кучу потоков процы оно нормально жрет и как раз упирается в именно проц. Вот особенно - плюсота как раз. Там именно g++ плотно проц грузит надолго, в остальное захочешь не упрешься. На сях там еще может быть всякий оверхед, io и проч, т.к. относительно резво билдует. Но в плюсах это как раз намного меньшая проблема.

Ответить | Правка | Наверх | Cообщить модератору

20. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +4 +/
Сообщение от Аноним (20), 14-Янв-24, 22:12 
А зачем вы его постоянно пересобираете?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

40. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +3 +/
Сообщение от Аноним (36), 14-Янв-24, 22:46 
2.6.32 работает - не трожь!
Ответить | Правка | Наверх | Cообщить модератору

60. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от anonymous (??), 14-Янв-24, 23:39 
Потому что оно багованное.

Проверяем, есть ли баги в новых версиях.

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

104. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Аноним (20), 15-Янв-24, 01:49 
Так это ж надо желать один раз, когда хочется попробовать новую версию. А один раз - какая разница, сколько оно собирается? Это ж не 200 тысяч запросов в секунду где время обработки имеет значение.
Ответить | Правка | Наверх | Cообщить модератору

77. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +/
Сообщение от Аноним (77), 15-Янв-24, 00:06 
> А зачем вы его постоянно пересобираете?

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

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

277. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от pv (?), 15-Янв-24, 13:23 
> А зачем вы его постоянно пересобираете?

https://bellard.org/tcc/tccboot.html
а ведь когда-то можно было и так, игрушечным компилятором размером в 100кБ, написанным изначально вообще для ioccc.

да и чего мелочиться, в ядре просто необходим питон, яваскрипт, го, и вижуалбэйсик!
и систему сборки ещё обязательно поменять, а то несовременно как-то.

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

27. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +2 +/
Сообщение от Аноним (27), 14-Янв-24, 22:27 
опять огульные выдуми кро скорость сборки. когда же вы успокоитесь, выдумщики
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

34. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +1 +/
Сообщение от Аноним (36), 14-Янв-24, 22:40 
>Запаримся пересобирать же! Си собирается намного шустрее.

А что вы про Rust запоёте?

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

179. "Дискуссия об использовании языка C++ для разработки ядра Lin..."  +2 +/
Сообщение от Проходил мимо (?), 15-Янв-24, 08:00 
Судя по комментариям, большинство из тех, кто "поет" на OpenNET про Rust разбираются в нем примерно как свинья в апельсинах. Хотя, возможно, свинья разбирается все же лучше.
Хейтеры, которые ниАсилили. Естественно, что у любого, кто в теме вопли всяких криворуких рукожопов вызывают лишь гомерический смех.
PS Это не значит, что Rust идеальный и у него нет проблем. Некоторые вещи там сделаны не лучшим образом.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру