LINUX.ORG.RU
ФорумTalks

Как из стабильного Debian'а сделать Gentoo

 , ,


3

6

Совершенно случайно заметил в списке пакетов уютного дебиана такой себе apt-build.
Он в одну команду скачивает сорцы пакета, и всех зависимых от него, конпеляет их с выбранными флагами, пакует в пакеты, создаёт репозиторий, подключает в sources.list и устанавливает поверх системных.

Да, я тоже офигел.

Пошёл в гентувики за «самыми крутыми флагами gcc» и пересобрал p7zip-full с -O3 -march=native -mtune=native -ftree-vectorize.
И что мы имеем? '7z b', cтоковый пакет:

   7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
   p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i5-7500T CPU @ 2.70GHz (906E9),ASM,AES-NI)

   Intel(R) Core(TM) i5-7500T CPU @ 2.70GHz (906E9)
   CPU Freq:  1396  3192  3286  3281  3267  3267  3215  3238  3258

   RAM size:   32064 MB,  # CPU hardware threads:   4
   RAM usage:    882 MB,  # Benchmark threads:      4

                          Compressing  |                  Decompressing
   Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
            KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

   22:      12954   311   4046  12602  |     145071   391   3165  12377
   23:      13802   333   4226  14063  |     143024   390   3173  12375
   24:      12865   329   4209  13833  |     140539   389   3175  12337
   25:      12237   322   4335  13972  |     138840   390   3170  12356
   ----------------------------------  | ------------------------------
   Avr:             324   4204  13617  |              390   3171  12361
   Tot:             357   3687  12989


Окроплённый гентушной вики:
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i5-7500T CPU @ 2.70GHz (906E9),ASM,AES-NI)

Intel(R) Core(TM) i5-7500T CPU @ 2.70GHz (906E9)
CPU Freq:  2489  3034  3268  3290  3182  3247  3153  3231  3250

RAM size:   32064 MB,  # CPU hardware threads:   4
RAM usage:    882 MB,  # Benchmark threads:      4

                       Compressing  |                  Decompressing
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

22:      14104   320   4281  13721  |     141704   384   3152  12090
23:      14587   342   4349  14862  |     140406   384   3161  12149
24:      13383   329   4375  14390  |     137682   382   3164  12087
25:      12816   327   4471  14634  |     136030   383   3162  12106
----------------------------------  | ------------------------------
Avr:             330   4369  14402  |              383   3160  12108
Tot:             356   3764  13255


Я всегда подозревал в конпеляторщиках умственно отсталых.
Теперь диагноз надёжно подтверждён.

★★★★★

Умственно отсталые — это те, кто думают что суть генты в канпелянии с O3 :^)

Gary ★★★★★
()

apt-build world — Rebuild your system

Debian, что ты делаешь? Прекрати!

aidaho ★★★★★
() автор топика

Теперь диагноз надёжно подтверждён.

Не занимайся самолечением, обратись к специалисту.

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

Теперь диагноз надёжно подтверждён.

Не занимайся самолечением, обратись к специалисту.

++

r3lgar ★★★★★
()

Оно ж патчи накладывать само не умеет, смысл? Так-то можно гентупрефикс на любой дистрибутив поставить, и даже на винду. А APT — говно

bodqhrohro_promo
()

Совершенно случайно заметил в списке пакетов уютного дебиана такой себе apt-build.
13.09.2017
★★★★★

Да, я тоже офигел.

system-root ★★★★★
()
Ответ на: комментарий от bodqhrohro_promo

Похоже да.
Есть команда по обновлению сорцов и выборочной пересборке пакетов в локальном репе.

То бишь можно держать выбранные пакеты up-to-date и скомпилированные с нужными опциями.

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

сажи тебе

aidaho ★★★★★ (13.09.2017 1:27:27) сверхманёвренная

хороший комментарий к тебе оказался. годный.
решил соскочить на «а чего добился ты?» — «я сегодня видел довольно крупного голубя»(с)
в 2к17 рассуждать о компелянии на современных, четырёх ядерных процах, имея пять звёзд, просто случайно открыв для себя пакет.
но очень авторитетно ставить диагноз.

system-root ★★★★★
()

из стабильного Debian'а сделать Gentoo

Что, слоты пакетов завезли?

thunar ★★★★★
()

А с какими флагами собрано в ванильном пакете? -O3 часто бывает медленнее -O2...

EXL ★★★★★
()

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

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

Bfgeshka ★★★★★
()

такой себе apt-build

Забавно, не знал.

WARNING ★★★★
()

Пока что в теме видно только диагноз дебианщиков.
Расходимся.

imul ★★★★★
()

Ничоси открытие.

Deleted
()

Хоть гента и трэш, но дебианщики вообще лалки. Вся уникальность генты - в use-флагах, а не заоптимизированных cflags (от таких хацкер-оптимизаций почти всегда только хуже становится). Особенно это выделяется на фоне даунского apt с его даунским рулением зависимостей. Точнее, даунов-мантейнеров, которые собирают пакеты с феерическими зависимостями.

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

Короче говоря, apt-build это типичная такая дебианотулза - теоретически такая классная и функциональная, на практике - овнище бессмысленное

Deleted
()

Нет, суть не в этом, а в use флагах

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

Для suckless - программ. Там в качестве конфига файл в исходниках.

misteralter
()

Обратите внимание: я нигде не сказал, что гентушники умственно отсталые.

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

Какой полезный для медицины тред.

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

Ты полностью и многократно уже оправдал комментарий к твоему никнейму.

imul ★★★★★
()

Интересно какие программы на линуксе при перекомпиляции со всеми флагами и примочками под конкретное железо дадут существенный прирост скорости.

Exmor_RS ★★★
()

А если словами? У меня с телефона цифирьки разъехались.

Zhbert ★★★★★
()

Я гентушников так еще 10 лет назад троллил. Самое вкусное ты забыл упомянуть - собранные пакеты добавляются в локальный репозиторий который можно расшарить. Во-первых это позволяет легко подменить
стоковый пакет на перекомпиленный и наоборот просто выбрав версию. Во вторых после некоторых телодвижений можно создать скажем локлаьный репозиторий организации, в котором будет лежать и обновляться нужный софт с нужными патчами (скажем опенсофис). А не компилять это на каждой машине.

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

Это из-за O3 же. Так-то основной профит приносит включение поддержки расширеных инструкций процессора, которые в бинарных дистрах отключают для обеспечения совместимости со старым железом.

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

Она и так собирается чуть ли не дольше всей остальной системы, ну нафиг.

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

Точно?
Я несколько лет назад тем же apt-build пересобирал браузер с -O3 — разницы не заметил, но падать он тоже не начал

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

Я сначала собрал с O2, но не писал об этом, т.к. результат был аналогичный. Потом добавил -ftree-vectorize. Потом -O3 уже.

Всё по рекомендациям лучших собаководов: https://wiki.gentoo.org/wiki/GCC_optimization

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

Compiling with -O3 is not a guaranteed way to improve performance, and in fact, in many cases, can slow down a system due to larger binaries and increased memory usage.
Using -O3 is not recommended. However, it also enables -ftree-vectorize

Вот, что у меня получается c -O2 -pipe -march=native -mtune=native:

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,8 CPUs Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz (306C3),ASM,AES-NI)

Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz (306C3)
CPU Freq:  2652  2889  2865  2889  2877  2878  2883  2880  2881

RAM size:    7862 MB,  # CPU hardware threads:   8
RAM usage:   1765 MB,  # Benchmark threads:      8

                       Compressing  |                  Decompressing
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

22:      16948   639   2579  16487  |     194146   786   2108  16560
23:      16143   637   2581  16449  |     183819   751   2119  15907
24:      15621   668   2515  16796  |     190349   788   2120  16707
25:      13849   687   2301  15813  |     181676   769   2101  16168
----------------------------------  | ------------------------------
Avr:             658   2494  16386  |              773   2112  16336
Tot:             716   2303  16361
И с -O0:
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,8 CPUs Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz (306C3),ASM,AES-NI)

Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz (306C3)
CPU Freq:   396   407   407   381   388   404   394

RAM size:    7862 MB,  # CPU hardware threads:   8
RAM usage:   1765 MB,  # Benchmark threads:      8

                       Compressing  |                  Decompressing
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

22:       9119   599   1482   8872  |      95724   786   1039   8165
23:       8890   598   1514   9058  |      83713   693   1045   7244
24:       8162   613   1432   8776  |      91514   783   1026   8032
25:       8094   621   1488   9242  |      72942   689    942   6492
----------------------------------  | ------------------------------
Avr:             608   1479   8987  |              738   1013   7483
Tot:             673   1246   8235

Профит очевиден.

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

Ну с surf у меня такая беда была. И про firefox я видел что-то похожее, если я правильно понял.

ac_add_options --enable-optimize=-O2

Chooses particular compiler optimization options. In most cases, this will not give the desired results, unless you know the Mozilla codebase very well; note, however, that if you are building with the Microsoft compilers, you probably do want this as -O1 will optimize for size, unlike GCC. https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instru...

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

Осталось найти дистрибутив, который собирает бинарные пакеты с -O0

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

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

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

Я всегда подозревал в конпеляторщиках умственно отсталых. Теперь диагноз надёжно подтверждён.

я нигде не сказал, что гентушники умственно отсталые

Одно из двух: или виляет попкой как шлюшка, или природа в моск логику не завезла

Deleted
()

Суть генту не в компиляции под железо, в компиляции под свои собственные желания. См. что есть USE флаги, и какие есть USE флаги.

Примерно так:

echo "media-misc/girlfriend doc love borsch blonde green-eyed custom-tits delicate extras plugins -tears -mono -kde -gnome" >> /etc/portage/package.use && emerge -av girlfriend

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

И с -O0:

И где же это собирают пакеты с -O0? :)

Для честности надо бы теперь сравнить простой -O2 с -O2 -pipe -march=native -mtune=native.

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

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

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

Таки шлюховиляние, ясно.

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

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

-O2

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,8 CPUs Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz (306C3),ASM,AES-NI)

Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz (306C3)
CPU Freq:  2806  2866  2866  2889  2870  2873  2888  2881  2881

RAM size:    7862 MB,  # CPU hardware threads:   8
RAM usage:   1765 MB,  # Benchmark threads:      8

                       Compressing  |                  Decompressing
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

22:      16528   633   2539  16079  |     190798   788   2065  16274
23:      16377   652   2558  16687  |     186118   777   2072  16106
24:      15784   666   2547  16972  |     180876   774   2052  15875
25:      14383   682   2407  16422  |     161752   762   1888  14395
----------------------------------  | ------------------------------
Avr:             659   2513  16540  |              775   2019  15663
Tot:             717   2266  16101
Singularity ★★★★★
()
Ответ на: комментарий от Singularity

То бишь, толку от пересборки сферического дистрибутивного пакета, ради скорости, нет никакого.

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

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

Ну ничоси! 10 лет траллит, а про оверлеи не выучил.

J ★★★★
()

Если ты что-то не умеешь (во-первых) и чего-то не знаешь (во-вторых), это ничего не говорит о тех кто это умеет и знает.

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