LINUX.ORG.RU
ФорумTalks

Свидетелям питона: dnf переписывают с Python на C++

 , , ,


0

1

На 7 год существования индеец «Шляпа, Быстрая Как Ветер» заметил, что тормознее dnf только портаж, компилирующий пакеты.. Оказывается если ресурсоемкую программу написать на питоне, она будет тормозить! Кто бы мог такое представить?!

https://www.opennet.ru/opennews/art.shtml?num=52494

Дэниел Мах (Daniel Mach) из компании Red Hat сообщил о начале разработки пакетного менеджера DNF 5, в котором будет выполнен перенос реализованной на языке Python логики DNF в библиотеку libdnf, написанную на C++. Тестирование DNF 5 планируется начать в июне в процессе разработки Fedora 33, после чего в октябре 2020 года добавить в репозиторий Rawhide, а в феврале 2021 года заменить им DNF 4. Сопровождение ветки DNF 4 будет продолжено, так как она применяется в Red Hat Enterprise Linux 8.

Отмечается, что проект достиг состояния, в котором почти невозможно продолжать развитие кода без нарушения совместимости на уровне API/ABI. Главным образом это связано с потерей актуальности PackageKit и невозможностью развития libdnf без изменения API "libhif". При этом несмотря на намерение поменять API, в качестве основных приоритетов называется сохранение обратной совместимости на уровне интерфейса командной строки и API.

Поддержка Python API в DNF будет оставлена, но написанная на Python бизнес-логика будет перенесена в библиотеку libdnf (C++), что позволит гарантировать идентичность работы пакетного менеджера в дистрибутиве. Разработка будет сосредоточена вокруг C++ API, а Python API будет автоматически генерироваться в форме обвязки на его основе. Аналогичным образом будут сформированы биндинги для Go, Perl и Ruby. После стабилизации C++ API на его основе будет подготовлен и C API, на который будет переведён rpm-ostree. Hawkey Python API будет удалён и заменён на libdnf Python API.

Основная функциональность DNF будет сохранена. Благодаря наличию большого тестового набора (около 1400 тестов) ожидается, что переработка API не скажется на интерфейсе командной строки для конечных пользователей. Возможно немного изменится разбор аргументов и вывод, но эти изменения будут хорошо документированы. В урезанной версии microdnf, применяемой в контейнерах, планируется реализовать подмножество возможностей DNF, достижение полного паритета в функциональности не рассматривается.

Вместо PackageKit будет создан новый сервис DBus, предоставляющий интерфейс для управления пакетами и обновлениями для графических приложений. Данный сервис планируется разработать с нуля, поэтому его создание может потребовать много времени. PackageKit последнее время не развивается и находится в режиме сопровождения с 2014 года из-за потери актуальности. С продвижением систем Snaps и Flatpak дистрибутивы теряют интерес к PackageKit, например, в он уже не поставляется в сборках Fedora SilverBlue. Уровень абстракции для управления пакетами во многом обеспечивается штатными центрами управления приложениями GNOME и KDE, которые позволяют устанавливать flatpak-пакеты на уровне отдельных пользователей. Унифицированный системный API для получения списка установленных пакетов становится не настолько полезен как раньше.
★★★★★

Последнее исправление: Im_not_a_robot (всего исправлений: 1)

Ответ на: комментарий от leave

апт*

Это то юродивое `hash sum mismatch’ дерьмо которое всё время предлагает удалить три четверти системы?

d_a ★★★★★
()
Ответ на: комментарий от No

DBus?

Кто-нить сможет внятно объяснить, зачем он в менеджере пакетов?

Чтобы видеоплеер мог устанавливать кодеки

Но в федоре же нет кодеков.

d_a ★★★★★
()
Ответ на: комментарий от EXL

Когда наконец IBM поувольняет к чертям RedHat-овских Python-кодеров, которые сделали чертовски медленными RHEL/CentOS/Fedora. Один только их установщик, который дрищет питоновскими стектрейсами на каждый чих чего стоит.

https://www.linux.org.ru/search.jsp?q=python&range=COMMENTS&interval=ALL&user=EXL&_usertopic=on&sort=DATE&section=

Пока не поздно, возьми нормальный язык программирования вместо Bash’а. Например, Python и любой GUI-биндинг к нему.

Опять таблетки в унитаз выкинул, паскуда?

d_a ★★★★★
()

Это правильно.

Reset ★★★★★
()
Ответ на: комментарий от Stremitelnyj

Ok.
Там нет циклов по счётчику, там типа итераторов.
Когда начинаешь их использовать для тех же фиббоначи, получается фигня.

Shadow ★★★★★
()
Ответ на: комментарий от d_a

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

leave ★★★★★
()

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от d_a

Похоже ты из этого унитаза знатно отхлебнул и перестал понимать, что:

Python для различных пользовательских скриптов, автоматизации, несложных приложений – отличный выбор.

Python для системного и сложного прикладного ПО, такого как пакетные менеджеры и установщики, и запихивание Python во все щели, как это делает RedHat – полное говно.

Собственно, поэтому и переписывают.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Собственно, я это же хотел написать в топике, но было слишком лень. Очевидно зря :)

Im_not_a_robot ★★★★★
() автор топика
Ответ на: комментарий от BceM_IIpuBeT

Должно быть службы попросили бэкдоров встроить, что за плюсами проще спрятать:). Самое то место – всегда от рута и все проги перезаписывать может.

DonkeyHot ★★★★★
()
Последнее исправление: DonkeyHot (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

Чиво? Рубевая вм была ж ещё тормознее питоновской.

В конце нулевых, до второй версии, в которой многое переработали. Это как сравнивать PHP 5 и 7.

Сейчас это уже «городские легенды» и примерный паритет. В чём-то быстрее, в чём-то медленнее.

https://web.archive.org/web/20180705044315/https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/ruby.html

OSBuster
()
Ответ на: комментарий от Shadow

Наверно, да. Я знаю, что обычные циклы в питоне тормозят

И откуда, интересно, вы такое узнали?

Virtuos86 ★★★★★
()

питон вообще очень интересный язык. написать на нем быстрый софт можно, но блин очень сложно ввиду массы подводных айсбергов. Канонiчный пример - инкремент i++ может работать как быстрее i = i + 1, так и медленнее, в зависимости от реализации класса, к которому принадлежит i.

Еще больше веселья с лямбдами, которые могут быть ипически тормозными, а также со всякими генераторами и list comprehension, у который вообще скорость работы зависит от погоды на марсе.

upcFrost ★★★★★
()
Ответ на: комментарий от Shadow

Выше грят сейчас уже поправили, но в первой версии оно точно было тормозное. Но к моменту правки хайп прошёл и руби стал ненужен.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 2)
Ответ на: комментарий от ya-betmen

Выше грят сейчас уже поправили, но в первой версии оно точно было тормозное. Но к моменту правки хайп прошёл и руби стал ненужен.

Ещё выше был пост с пруфами, что утверждение не соответствует дейтвительности.

OSBuster
()
Ответ на: комментарий от ya-betmen

Там три ссылки, включая статистику по вакансиям в NYC и SF в 2018.

Поэтому утверждение не соответствует действительности, но если хочется жить в выдуманноми мире, то без проблем. Так то всё ненужно: Ruby, Python, Java, C, C++, PHP и т.д.

Нужны только Go и JS.

OSBuster
()
Ответ на: комментарий от OSBuster

Там три ссылки, включая статистику по вакансиям в NYC и SF в 2018.

Венчурный фонд, у которого могут быть свои предпочтения по стартапам,

Блог, на который распространяется принцип Гомера Симпсона.

И статья в журнале (в которой например популярность рубей в Париже в 5 раз выше чем в Нью-Йорке и Сан Франциско вместе взятых) по следам отчета рекрутингового агенства. Что характерно их рейтинг не матчится с другими рейтингами и тем более с КВБС.

При этом я не хочу сказать что руби никто не используют и рубист на сможет найти работу, но время уже упущено и руби уже мало кому нужен. Все бежали изучать руби с 2мя мантрами наперевес (сам бегал): 1. Пофиг что ВМ тормозит, запросы к БД тормозят сильнее, а удобный язык это важно. 2. Через год ВМ допилят и всё будет летать. Так вот оказалось что мантры ИРЛ не работают и людям не нужны тормозные ВМ (тот же рубиутюг появился не просто так).

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

Венчурный фонд, у которого могут быть свои предпочтения по стартапам,

Блог, на который распространяется принцип Гомера Симпсона.

И статья в журнале (в которой например популярность рубей в Париже в 5 раз выше чем в Нью-Йорке и Сан Франциско вместе взятых) по следам отчета рекрутингового агенства.

Против мнения обычного пользователя ЛОРа. Окееей.

OSBuster
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.