LINUX.ORG.RU
решено ФорумTalks

Преимущества компиляции.


0

1

Они есть? Где-то читал, что можно оптимизировать «компилируемое», для повышения быстродействия. Так ли это? Или это делают исключительно потому, что не хватает пакетов в репозитории(в бинарных дистрибутивах)?



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

Возможность скомпилять со своими флагами. Другие есть, но официально миф.

Spectator
()

В сущности три аспекта: свой компилятор (свежие версии гцц, например), свои флаги (типа -march=native) и свои зависимости (опции при конфигурировании).

vkos ★★
()

Они есть?

Есть

Так ли это?

Так

Или это делают исключительно потом, что не хватает пакетов в репозитории(в бинарных дистрибутивах)?

Нет

Ximen ★★★★
()

>Преимущества компиляции

ну надо же чем занять время!

Donnie_Darko
()

Посмотрел бы я как ты интерпретировал Опен, например, Офис. Один запуск занимал бы часа три-четыре. Конечно компиляция лучше.

ugoday ★★★★★
()

Расскажите ещё, пожалуйста, почему не рекомендуют в пакетном дистрибутиве собственноручно компилить в /usr/local, называя это «засорять систему»?

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

> Конечно есть. +150% к ЧСВ, например.
Недостатка в ЧСВ не испытываю.

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

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

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

>> Расскажите ещё, пожалуйста, почему не рекомендуют в пакетном дистрибутиве собственноручно компилить в /usr/local, называя это «засорять систему»?

Кто не рекомендует? Анонимус?

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

Конфликты
Если всё в /usr/local о каких конфликтах речь? Либы же в разных каталогах. Да и я не настолько нуб чтоб ставить одну и туже утилиту сперва из сорцов с префиксов /usr, а потом её же, но apt-get'om или yum'om?

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

Расскажите ещё, пожалуйста, почему не рекомендуют в пакетном дистрибутиве собственноручно компилить в /usr/local, называя это «засорять систему»?

Гораздо интереснее, зачем это делать? И как потом обновлять?

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

>/usr/local
Черт, незаметил

Ну тогда нет проблем, если есть желания или нет бинарника

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

зачем это делать?

Нет пакетов в репах|не устраивает их версия.

>>И как потом обновлять?

По логам компиляции сносить то что было поставлено и компилить заново.

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

>Да если бы. Вот хотя бы. Ещё по-моему кто-то подобное писал.
Лучше использовать checkinstall, чтобы не было проблем с удалением.

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

По логам компиляции сносить то что было поставлено и компилить заново.

Круууть. И что, ты реально так делаешь?!

Ximen ★★★★
()

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

toney ★★★★★
()

> Где-то читал, что можно оптимизировать «компилируемое», для повышения быстродействия

сомнительно

Или это делают исключительно потому, что не хватает пакетов в репозитории(в бинарных дистрибутивах)?


не только для этого. если допустим в бинарном дистре софт собран с поддержкой нафиг тебе ненужного LDAP, хранения конфигов в MySQL, или там с HAL-ом и т.д - при пересборке это можно отключить.

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

Серьёзно )

Во-первых, многие исходники при компиляции создают clean-скрипты с «rm -rf всё_что_поставилось». Навскидку lzo сразу вспоминаю, естественно он не один в своём роде.

Во-вторых, бэкапы наше всё. Сделать ls -la /usr/src до и после и найти отличия не составит особого труда. Не говоря о том чтоб весь каталог затарить.

Критикуйте, ЧЯДНТ?

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

>Критикуйте, ЧЯДНТ?
Повторюсь, не используешь checkinstall, а вместо этого делаешь веселую систему из костылей и подпорок.

Tark ★★
()

Да, есть, например на моём конкретном железе кеды даже из суси не шли, а собрал в генте и всё работет.

Eichhorn
()

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

spoilt ★★★
()

1. Оптимизация под конкретный процессор с нужными опциями (ffast-math, mfpmath=sse и так далее)
2. USE-флаги, редактирование инструкций для сборки либо просто ручное прописывание опций - позволяет вырубить ненужное и врубить необходимое.

devl547 ★★★★★
()

Arrakis> Преимущества компиляции.

Быстрее чем интерпретация.

/thread

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

>забудь про это непотребство
Аргументы? Учитывайте, что я имел в виду применение на домашнем компе для создания пакетов только для себя.

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

Критикуйте, ЧЯДНТ?

Удаляешь аппендикс через гланды. Ну или что-то очень похожее.

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

> Критикуйте, ЧЯДНТ?

Легким движением "./configure && make && make install" убунта превращается... превращается... в слаку!

drull ★☆☆☆
()

Или это делают исключительно потому, что не хватает пакетов в репозитории(в бинарных дистрибутивах)?

Бывает и такое. Я, например, хочу bleeding-edge Blender 2.5* и bleeding-edge Yafaray 0.1.2 - приходится собирать ручками.

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

о каких конфликтах речь

Пакетник тебе скажет, если ты будешь ставить конфликтующие пакеты. Если будешь ставить мимо него, не скажет.

// ВрИДКО

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