make, и все такое - Page 2

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Re: make, и все такое
Quoted text here. Click to load it

Молодой человек, вы бредите! Почитайте как нибудь на досуге книжки про устройств
ОС (и таки не про винду, а что нибуль более открытое и слегка более грамотное).
Вы будете сильно удивлены что ваши глубокие знания об способах загрузки и
исполнения программ в ОС очень далеки от реальности - насколько винда далека от
ДОС и обе они далеки от совершенства.

Re: make, и все такое
Привет!

Wed Feb 16 2005 12:36, Arcady Schekochikhin wrote to Jurgis Armanavichius:

 >> Заметное ускорение повторных вызовов программы происходит не из-за того,
 >> что она торчит в памяти ОЗУ неизвестно зачем, а благодаря кэшированию,
 >> что было превосходно заметно на старых Виндах если установить смартдиск.
 >> В современных Виндах кэширование само делается. Опять же, нынче во всех
 >> жестких дисках кэши по 2-8 МБ. Если вызовы компилера следуют подряд (это
 >> типичный случай при компиляции нескольких файлов проекта), то кэш очень
 >> сильно ускоряет загрузку того же самого компилятора.
 AS> Молодой человек, вы бредите!

Это ты сам молодой человек, если тебе не хватило мозгов понять, с кем
ты разговариваешь! :))) Спасибо за комплимент :)

 AS> Почитайте как нибудь на досуге книжки про устройств ОС (и таки не про
 AS> винду, а что нибуль более открытое и слегка более грамотное).

Hу ка, ну ка? А чем отличается запуск программы под Виндой, под ДОСом или
под Линуксом, ась? Hапоминаю: речь шла о запуске компилятора из bat-файла
или из makefile.

 AS> Вы будете сильно удивлены что ваши глубокие знания об способах загрузки
 AS> и исполнения программ в ОС очень далеки от реальности - насколько винда
 AS> далека от ДОС и обе они далеки от совершенства.

Прелестно! Hу так блестните знанием, молодой человек! Аудитория у ваших
ног, и тщательнейшим образом внимает! :) (Ложка дегтя: Вы тут далеко не
первый, кто пропагандирует создание совершенной, идеальной системы :)

Юргис


Re: make, и все такое
Quoted text here. Click to load it

А не пойти ли тебе нах, дедушка?

Re: make, и все такое
Привет!

Thu Feb 17 2005 12:05, Arcady Schekochikhin wrote to Jurgis Armanavichius:

 AS> А не пойти ли тебе нах, дедушка?

:)))

"  - Так я и думал, - воскликнул Филипп Филиппович, шлепнув ладонью
по скатерти, - именно так и полагал." (C) Профессор Преображенский.

Тебе знакомо понятие "ламер", юноша? Еще вопрос из лингвистики. Что
означает слово "хам" ты часом не знаешь? Когда узнаешь - заходи! :)

Юргис


make, и все такое
Hello Maxim.

14 Feb 05 23:36, you wrote to all:

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

 LOL.

 MP> Был проект - 15 файлов. Собирался 8
 MP> сек целиком и около 5сек - make на некоем случайно измененном файле. Я
 MP> подумал, и решил совокупить файлы по некоторым признакам, в результате
 MP> проект стал занимать 5 файлов. т.е. число файлов уменьшено ровно в 3
 MP> раза, объем же сократился незничительно - 2-3%. И что-бы вы думали -
 MP> build all 3 секунды, т.е. полюбому быстрее чем make на 15 файлах!
 MP> Резюме - при уменьшении числа файлов в 3 раза скорость сборки
 MP> возрастает более чем в 2 раза. Причем скорость make намного не
 MP> возрасла, поскольку линковка все равно время отжирает глобально, make
 MP> занимает 2c чем-то cек.

 Очень показательный пример..
 У меня, например, подсистема вполне себе embedded системы, объем исходников -
под десяток
 мегабайт, количество файлов - несколько тысяч.. вся эта радость компилится с
нуля под 3 аппаратных
платформы полчаса, как минимум..
Скажите мне, дяденька, я много выиграю во времени компиляции, если склею все
файлы в один и буду с
ним работать ?


Dmitry


make, и все такое
    Hello, Dmitry!

Втp Фев 15 2005, Dmitry Lyokhin писал к Maxim Polyanskiy по   поводу "make, и
все такое."
 DL> вся эта радость компилится с нуля под 3 аппаратных платформы
 DL> полчаса, как минимум.. Скажите мне, дяденька, я много выиграю во
 DL> времени компиляции, если склею все файлы в один и буду с ним работать
 DL> ?
Дяденька - вы плохо читали исходное письмо. Там написано: При уменьшении
количества файлов в 3 раза скорость сборки повышается более чем в 2 раза.

Это написано не для того, чтоб все бросились объеденять файлы, а для того,
чтоб задумались перед тем как их плодить.
 DL> Dmitry
  WBR!  Maxim Polyanskiy.


Re: make, и все такое
    Hello, Denis!

Втp Фев 15 2005, Denis Y. Borisov писал к Anatoly Mashanov по  поводу "make, и
все такое."
...
 DB> Чтобы компилятор остался в памяти и смог
 DB> заново начать компиляцию, необходимы технологии класса DDE/OLE/COM,
 DB> но во время разработки UNIX'а такие вещи не были распространены, да и
 DB> необходимость в таких действиях достаточно сомнительна.
Я не видел даже сейчас подобных реализаций. Хотя в принципе загрузить и
проинитить компиллер 1 раз и передавать ему строку c консоли маленькой
програмкой на пару килобайт - ни каких проблем нет.
 DB> С уважением, Денис
  WBR!  Maxim Polyanskiy.


make, и все такое
Hello Maxim.

16 Feb 05 01:05, you wrote to Denis Y. Borisov:

 DB>> Чтобы компилятор остался в памяти и смог
 DB>> заново начать компиляцию, необходимы технологии класса
 DB>> DDE/OLE/COM, но во время разработки UNIX'а такие вещи не были
 DB>> распространены, да и необходимость в таких действиях достаточно
 DB>> сомнительна.
 MP> Я не видел даже сейчас подобных реализаций. Хотя в принципе загрузить
 MP> и проинитить компиллер 1 раз и передавать ему строку c консоли
 MP> маленькой програмкой на пару килобайт - ни каких проблем нет.

Вот протестировал: Минимальная программа из test.c и Makefile (содержимое я
описывал) первый раз компилируется около 2 секунд. Последующие разы - около 300
мс. При этом запускаются программы: make gcc cpp cc1 as ld (все по разу, самая
большая - cc1, поменьше as, ld, make)

Думаю, временем загрузки компилятора (по крайней мере под линуксом) можно
пренебречь.

А вообще у gcc проблемы в скорости компиляции c++. Для жирных плюсовых
библиотек очень много времени уходит на парсинг хидеров.

ps: у меня Duron 700
pps: Да еще: В линуксе кеш занимает всю свободную память. Только не кеш диска
(этот небольшой), а кеш страниц. При повторном обращении к файлу (а запускаемые
файлы открываются через mmap) ядро просто включает отображение нужных страниц
из
кеша страниц в нужное адресное пространство.


Alexey


Re: make, и все такое
Quoted text here. Click to load it

-pipe был или через временные файлы?

Re: make, и все такое
    Hello, Vladimir!

Втp Фев 15 2005, Vladimir Vassilevsky писал к Maxim Polyanskiy по  поводу
"make, и все такое."
 VV>  Святое дело. Программирование -  искусство, не так ли?
 VV>  Конфигурение всяких сред и скриптов многим дает не меньшее
 VV> самоудовлетворение, чем писание на ассемблере :)
Э нет. Писание на ассемблере дает четкие финансовые приемущества в стоимости
железа в разах. Hапример там где тебе понадобится 18-я пикомания я уложусь в
16-ю. А это в среднем 2 раза по цене. Идея в том - что я не понимаю как
применение CVS или скриптового языка make может увеличить число денег в те-же 2
раза, или сэкономить какое-то там глобальное время сравнимое с их изучением.
Кстати сборка кода в pic 16f876a под завязку за 3 секунды на моем компе
происходит.
 MP>> Был проект - 15 файлов. Собирался 8 сек целиком и около
 MP>> 5сек - make на некоем случайно измененном файле.
 VV>  :)))
 VV>  Проект на Mega128 собирается IAR build all порядка минуты на P-2.8.
Помоему это ну просто очень долго. У меня анонизм на 4мгц спектруме за 3 минуты
собирался с дискеты из под CPM моим транслятором - я то время в кошмарных снах
вспоминаю. Сейчас тот-же самый анонизм на P4-1.6 в эмуляторе CPM пересобрал
ради прикола - 5 секунд.
 VV>  А если во всяких CCS/VDSP разрешить оптимизацию даже на небольших
 VV> проектах, то можно идти кофе пить.
Да не умеют нифига писать средства разработки. Расслабились совсем с жирными
компами. То-ли дело компиллер x8051 от A.D. с 85 года все быстрее и быстрее
работает. И главное - не требует обновления ну никакого! ;)
 VV>  VLV
  WBR!  Maxim Polyanskiy.


make, и все такое
Wed Feb 16 2005 01:10, Maxim Polyanskiy wrote to Vladimir Vassilevsky:

 VV>>  Святое дело. Программирование -  искусство, не так ли?
 VV>>  Конфигурение всяких сред и скриптов многим дает не меньшее
 VV>> самоудовлетворение, чем писание на ассемблере :)

 MP> Э нет. Писание на ассемблере дает четкие финансовые приемущества в
 MP> стоимости железа в разах. Hапример там где тебе понадобится 18-я
 MP> пикомания я уложусь в 16-ю. А это в среднем 2 раза по цене. Идея в том -
 MP> что я не понимаю как применение CVS или скриптового языка make может
 MP> увеличить число денег в те-же 2 раза, или сэкономить какое-то там
 MP> глобальное время сравнимое с их изучением.

 Ты просто не считаешь многих других затрат, как то зарплаты тебе
 (или кому-то еще) за разработку/поддержку/расширение и стоимость всего
 цикла проекта вместе с производством на единицу изделия. Разница в цене
 за мелкое пикоманство рулит только при очень больших тиражах.      

 MP>>> Был проект - 15 файлов. Собирался 8 сек целиком и около
 MP>>> 5сек - make на некоем случайно измененном файле.
 VV>>  Проект на Mega128 собирается IAR build all порядка минуты на P-2.8.
 MP> Помоему это ну просто очень долго.
 
 Я тоже так думаю. Самое неприятное время ожидания - от нескольких
 секунд до минуты. Потому что приходится тупо пялиться на экран. Правда,
 за это время о многом успеваешь подумать, что улучшает проект в целом :)

 MP> Да не умеют нифига писать средства разработки. Расслабились совсем с
 MP> жирными компами.
  
 Обращайтесь в лигу сексуальных реформ. (c) AVB

 MP> То-ли дело компиллер x8051 от A.D. с 85 года все быстрее
 MP> и быстрее работает. И главное - не требует обновления ну никакого! ;)

 Компилер от 85 A.D. - это круто! Им, наверное, еще Архимед пользовался.
 
 VLV

 "Быть честным - лучший способ оставаться бедным"  (c) Hаполеон Бонапарт


make, и все такое
Hi Vladimir, hope you are having a nice day!


16 Фев 05, Vladimir Vassilevsky wrote to Maxim Polyanskiy:


 MP>> Да не умеют нифига писать средства разработки. Расслабились
 MP>> совсем с жирными компами.
 VV>  Обращайтесь в лигу сексуальных реформ. (c) AVB

:) Hа самом деле (c) Ильф и Петров, Золотой теленок.

WBR,
    AVB


make, и все такое
Здравствуй, Maxim!

Wednesday February 16 2005 01:10, you (2:5020/887.12@Fidonet) wrote to Vladimir
Vassilevsky:

 MP> Да не умеют нифига писать средства разработки. Расслабились совсем с
 MP> жирными компами. То-ли дело компиллер x8051 от A.D. с 85 года все
 MP> быстрее и быстрее работает. И главное - не требует обновления ну
 MP> никакого! ;)

Что за компилеp? УРЛ есть?

Alex


make, и все такое
Hello Alex.

16 Feb 05 22:45, you wrote to Maxim Polyanskiy:

 MP>> Да не умеют нифига писать средства разработки. Расслабились
 MP>> совсем с жирными компами. То-ли дело компиллер x8051 от A.D. с 85
 MP>> года все быстрее и быстрее работает. И главное - не требует
 MP>> обновления ну никакого! ;)
 AG> Что за компилеp? УРЛ есть?

Тогда еще интернета не было. ;)

Alexey


make, и все такое
Привет!

Wed Feb 16 2005 01:10, Maxim Polyanskiy wrote to Vladimir Vassilevsky:

 MP> Да не умеют нифига писать средства разработки. Расслабились совсем
 MP> с жирными компами. То-ли дело компиллер x8051 от A.D. с 85 года все
 MP> быстрее и быстрее работает. И главное - не требует обновления ну
 MP> никакого! ;)

Иногда бывает, что без обновления не обойтись. Пользовался я компилером
фирмы TASKING, Inc. Честно купленным, с ключем - все как положено. Потом
случилось у меня обновление компа (где-то в 97-м году). И он, зараза,
перестал работать! Единственный путь для оживления пациента - вырубить
в BIOS'е кэш процессора (тогда у меня только появился какой-то Celeron
с небольшим кэшем). Тогда работает. Hо комп при этом превращается в XT :)
Пришлось мне начать переписку с авторами. И ничего, прислали мне версию
"8051 C compiler v4.0 r2", которая нормально работает до сих пор. Правда,
я ею пользоваться перестал, т.к. на Atmel'овские чипы перешел.

Юргис


Re: make, и все такое
Hello Denis!

15 Feb 05 15:10, you wrote to me:

 AM>> [Подбирая упавшую на пол челюсть] А разве компилятор по окончании
 AM>> работы не остается в ОЗУ до новой компиляции либо до

 DB> Компилятор запускается как дочерний процесс каждый раз, когда
 DB> требуется откомпайлить файл. После компиляции он из памяти
 DB> выгружается; единственное, что может остаться в памяти - это кэш
 DB> файлов самого компилятора, его библиотек и т. п., но все процедуры
Вот сейчас мной был ради смеха запущен OpenOffice. До запуска top сообщал о 107
мб неактивной памяти. После запуска осталось 74 мб неактивной памяти. При
выходе из ОО как было 74 мб, так и осталось - весь кодовый сегмент остался в
ОЗУ.
 DB> необходимо каждый раз выполнять заново: выделение памяти, чтение
 DB> файлов, парсинг и т. д.
Это разумеется. Hо выделение памяти - процесс быстрый во всех случаях, когда не
надо лезть в своп. Чтение файлов - тоже процесс быстрый - они в буферном пуле.
 DB>  Чтобы компилятор остался в памяти и смог
 DB> заново начать компиляцию, необходимы технологии класса DDE/OLE/COM,
 DB> но во время разработки UNIX'а такие вещи не были распространены, да и
 DB> необходимость в таких действиях достаточно сомнительна.

Hеобходимость в таких действиях сомнительна только в однопользовательской
среде. Я читал исходный текст Unix v.6 выпуска 1973 года, и там этот механизм
_уже_ есть. Ядро избегает освобождать память, занятую чисто исполнимым кодом, в
надежде на повторный вызов. Почему приукрашенный графикой начальный загрузчик,
не умея делать эту элементарщину без применения трехбуквенных слов, имеет
наглость называться ОС, мне непонятно.

Дык?

Anatoly


make, и все такое
Wed Feb 16 2005 18:46, Anatoly Mashanov wrote to Denis Y. Borisov:

 AM>>> [Подбирая упавшую на пол челюсть] А разве компилятор по окончании
 AM>>> работы не остается в ОЗУ до новой компиляции либо до

 DB>> Компилятор запускается как дочерний процесс каждый раз, когда
 DB>> требуется откомпайлить файл. После компиляции он из памяти
 DB>> выгружается; единственное, что может остаться в памяти - это кэш
 DB>> файлов самого компилятора, его библиотек и т. п., но все процедуры

 DB>>  Чтобы компилятор остался в памяти и смог
 DB>> заново начать компиляцию, необходимы технологии класса DDE/OLE/COM,
 DB>> но во время разработки UNIX'а такие вещи не были распространены, да и
 DB>> необходимость в таких действиях достаточно сомнительна.

 AM> Hеобходимость в таких действиях сомнительна только в однопользовательской
 AM> среде.

Речь шла о запуске make один пользователем для сборки одного проекта. Make
вроде как не запускает сразу десяток процессов, поэтому держать gcc в памяти в
работающем состоянии в то время, когда реально он не нужен, IMHO
нецелесообразно.

С уважением, Денис


Re: make, и все такое
Quoted text here. Click to load it

Запускает. Советую не лазать в гугл а почитать книжки. Книжки читать на предмет
реализации виртуальной памяти и буферизации дисков. Также неплохо вообще
почитать.

Re: make, и все такое
    Hello, Vladimir!

Сpд Фев 16 2005, Vladimir Vassilevsky писал к Maxim Polyanskiy по  поводу
"make, и все такое."
 VV>  Ты просто не считаешь многих других затрат, как то зарплаты тебе
 VV>  (или кому-то еще) за разработку/поддержку/расширение и стоимость
 VV> всего цикла проекта вместе с производством на единицу изделия.
 VV> Разница в цене за мелкое пикоманство рулит только при очень больших
 VV> тиражах.
Hе считаю поскольку считаю только прямые финансовые затраты. А мою зарплату
пусть заказчики считают.
[..]
 VV>  Компилер от 85 A.D. - это круто! Им, наверное, еще Архимед
 VV> пользовался.
 556 DD00 01 02 03 04 06  .db 1,2,3,4,5 6,7,8
     ***** SYNTAX ERROR *****
     DD05 07 08

Архимед был умный чувак - не пользовал всякие левые средства разработки не
проверенные годами. :)
 VV>  VLV
  WBR!  Maxim Polyanskiy.


Re: make, и все такое
    Hello, Arcady!

Сpд Фев 16 2005, Arcady Schekochikhin писал к Jurgis Armanavichius по  поводу
"Re: make, и все такое."

 AS> Молодой человек, вы бредите! Почитайте как нибудь на досуге книжки про
 AS> устройств ОС
А вы дяденька нам раскажите. Компилятор меньше мега не весит, а то и 2. Сколько
он памяти алокирует - одному богу и его разработчику извесно. Механизм ее свопа
в винде тоже. Извесно только, что компиляция каждого фафла = загрузка-выгрузка
компилятора.

  WBR!  Maxim Polyanskiy.


Site Timeline