The OpenNET Project / Index page

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

06.03.2018 10:04  Сборка Chrome для Windows переведена на использование Clang

Компания Google перешла на использование свободного компилятора Clang при формировании сборок браузера Chrome для платформы Windows, вместо ранее применявшегося компилятора Microsoft's Visual C++ (MSVC). Таким образом, начиная с Chrome 64 компилятор Clang теперь применяется для всех поддерживаемых платформ - macOS, iOS, Linux, Chrome OS, Android и Windows.

Из привлекательных сторон Clang для сборки Windows-приложений выделяется возможность сохранения совместимости с MSVC на уровне ABI, что позволяет собрать какую-то часть программы при помощи MSVC, а другую часть при помощи Clang и затем скомпоновать их в один исполняемый файл при помощи компоновщика MSVC или LLD. Что касается сборки Chrome, то данный процесс полностью не избавлен от зависимости от Visual Studio и даже после перехода на Clang продолжает использовать заголовочные файлы и библиотеки Microsoft, а также применяет некоторые утилиты из SDK, такие как midl.exe и mc.exe. Также сохранена возможность разработки и отладки кода Chrome в среде Visual Studio IDE.

В своё время перевод Linux-сборок Chrome на Clang в 2014 году позволил сократить размер исполняемого файла на 8% при сохранении производительности на том же уровне. Перевод Windows-сборок на Clang отразился в снижении размера установщика для 64-разрядных систем на 6.33%, но размер 32-разрядных сборок немного увеличился (на 0.04%). Например, итоговый размер mini_installer.exe для 64-разрядных систем при сборке при помощи Clang составил 46.27 MB, а при сборке в MSVC - 49.4 MB. При сборке в Clang размер chrome.dll уменьшился на 5.1%, а chrome.exe на 1.2%, но размер chrome_child.dll увеличился на 10.8%.

При включении оптимизаций на этапе генерации кода (LTCG) и учёта данных профилирования (PGO), Clang генерировал код немного большего размера для 64-разрядных систем при установке режима оптимизации "/O2". При выборе режиме "/Os" наоборот, код Clang получался более компактным, чем MSVC. При этом результат сборки в Clang лучше поддавался сжатию LZMA. При измерении производительности код, собранный в Clang и MSVC, показал примерно одинаковые результаты. В отдельных тестах наблюдалось расхождение на уровне 5%, где-то выигрывал Clang, а где-то MSVC.

Так как режимы оптимизации LTCG и PGO использовались MSVC, но пока не используются при сборке релизов Chrome в Clang, имеется определённый задел для дальнейшего улучшения сборок на базе Clang. Различий в стабильности работы сборок в Clang и MSVC не выявлено. По времени локальной сборки Clang отстаёт от MSVC примерно на 15%, но сборка с отладочной информацией в распределённом сборочном сервисе Goma производится быстрее.

Проект перевода Windows-сборок Chrome на Clang начался в 2013 году и привёл к существенному улучшению в Clang поддержки Windows. Ключевым мотивом перехода на Clang стало желание задействовать единый компилятор для всех поддерживаемых платформ и унифицировать сборочный инструментарий. Доводы в пользу единого компилятора:

  • Использование при разработке Chrome многочисленных сопутствующих инструментов (ASan, CFI, ClusterFuzz), которые поддерживаются в Clang, но не сочетаются с MSVC;
  • Возможность написания плагинов к Clang для добавления специфичных для кодовой базы Chromium проверок и предупреждений;
  • Возможность применения инструментов Clang для рефакторинга кода;
  • Включение в систему поиска по исходным текстам Chromium кода, специфичного для Windiows;
  • Желание использовать открытый инструментарий для сборки открытого проекта Chromium;
  • Унификация сборочного инструментария, Chrome поддерживает 6 платформ, но большинство разработчиков знакомы с 1-3 платформами, что может создавать проблемы с компиляцией патчей на незнакомых платформах и воспроизведением специфичных для иных сборочных инструментариев ошибок в своём окружении;
  • Возможность использования специфичных для компилятора микро-оптимизаций для всех платформ;
  • Упрощение кросс-компиляции - работая в Linux, можно работать с кодом, специфичным для Windows;
  • Оперативное выявление проблем через обеспечение непрерывных сборок текущей экспериментальной ветки Chrome при помощи текущей экспериментельной ветки (trunk) Clang. Использование непрерывных сборок позволяет быстро переходить на новые версии компилятора, в то время как переход на новую версию MSVC занимал год или больше из-за длительного процесса выявления регрессий и согласования исправления выявленных в компиляторе ошибок;
  • Трудность перехода на новые версии стандарта C++ при применении разных компиляторов;
  • Возможность приоритетного развития определённых возможностей в компиляторе, не дожидаясь когда эти возможности будут готовы реализовать разработчики MSVC.

Плюсы использования Clang вместо Visual C++:

  • Поддержка 64-разрядных ассемблерных inline-вставок в Clang, которые активно используется в коде библиотеки libyuv для оптимизации декодирования форматов видео;
  • Возможность применения единого компилятора на разных платформах. Сборка разными компиляторами может способствовать выявлению дополнительных ошибок, но по мнению разработчиков Chrome средств диагностики Clang достаточно для выявления большинства проблем, а если появятся новые методы диагностики, то их можно перенести в Clang;
  • Возможность использования Address Sanitizer для выявления проблем при работе с памятью;
  • Clang может генерировать более быстрый код, если не используются оптимизации LTCG и PGO;
  • Широкие средства диагностики в Clang с рекомендациями по устранению ошибок.

Минусы перевода проектов на Clang:

  • Отсутствие в Clang поддержки расширений C++/CX и конструкции #import "foo.dll";
  • Наличие платной поддержки MSVC, в то время как патчи к Clang нужно писать самостоятельно или привлекать представителей из сообщества;
  • В Clang отсутствуют некоторые расширенные возможности отладки, такие как "Edit & Continue".


  1. Главная ссылка к новости (http://blog.llvm.org/2018/03/c...)
  2. OpenNews: Google перешел на Clang при формировании сборки Chrome для Linux
  3. OpenNews: Браузер Chrome переходит с GTK+ на собственный графический стек Aura
  4. OpenNews: Android NDK отказывается от GCC в пользу Clang
  5. OpenNews: Проект OpenBSD перешёл по умолчанию на Clang для платформ amd64 и i386
  6. OpenNews: Обеспечена возможность сборки ядер Linux 4.4 и 4.9 при помощи Clang
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: chrome, clang, llvm
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Ilya Indigo (ok), 11:30, 06/03/2018 [ответить] [показать ветку] [···]    [к модератору]
  • –10 +/
    Хочу увидеть новость в которой Mesa-у, хотя бы опционально и экспирементально, переведут на gcc, хотя бы просто для того чтобы сборочное окружение работало быстрее и не зависело от шланга.
     
     
  • 2.5, Аноним (-), 11:49, 06/03/2018 [^] [ответить]    [к модератору]
  • –12 +/
    да ладно. gcc еще та помойка, которая постоянно ломает кодогенерацию.
     
     
  • 3.7, Ilya Indigo (ok), 11:56, 06/03/2018 [^] [ответить]     [к модератору]
  • –4 +/
    Не так уж и часто, по сравнению с пайтон Переход от gcc6 к gcc7 ничто по сравне... весь текст скрыт [показать]
     
     
  • 4.23, Аноним (-), 14:08, 06/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Так ведь все знают, что разные версии компилятора мягче и фиолетовее разных верс... весь текст скрыт [показать]
     
  • 4.27, XoRe (ok), 14:44, 06/03/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Боюсь, сравнение не корректное Во первых, сравнивать компилируемые и интерпрети... весь текст скрыт [показать]
     
     
  • 5.28, Ilya Indigo (ok), 14:49, 06/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Согласен, но называть gcc помойкой тем более не корректно ... весь текст скрыт [показать]
     
     
  • 6.50, depeche (??), 19:42, 06/03/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Ну так если согласны, то зачем такое написали?
     
  • 4.51, Нэээ (?), 20:22, 06/03/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > нет gcc-only приложений

    Да много их. Virtualbox из того что сразу на ум приходит

     
  • 2.11, Аноним (-), 12:16, 06/03/2018 [^] [ответить]    [к модератору]  
  • +19 +/
    Сама меза как собиралась при помощи GCC, так и не прекращала. LLVM (не Clang) используется в Mesa при компиляции GLSL-шейдеров для выполнения на GPU, чего GCC никогда не умел.
     
     
  • 3.13, Ilya Indigo (ok), 12:24, 06/03/2018 [^] [ответить]     [к модератору]  
  • +5 +/
    Благодарю за разъяснение ... весь текст скрыт [показать]
     
  • 3.41, Аноним (-), 17:12, 06/03/2018 [^] [ответить]    [к модератору]  
  • +/
    Меня интересуют OpenCL, OpenACC, причём, совсем не для графики. А там мне Шланг наx не впёрся.
     
     
  • 4.84, maxis11 (ok), 21:00, 07/03/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Clang вперся, ибо, внезапно, является фронтендом для компиляции шейдеров Сейчас... весь текст скрыт [показать]
     
  • 3.52, axredneck (?), 21:36, 06/03/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    В арче почему-то clang у mesa в make-depend'ах, хоть и собирается всё с помощью gcc. Надо будет разузнать, зачем.
     
     
  • 4.54, Аноним (-), 00:13, 07/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Посмотрел ебилд Clang действительно присутствует в зависимостях мезы, но он нуж... весь текст скрыт [показать]
     
  • 3.60, Ordu (ok), 10:17, 07/03/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    Даже если gcc научится, то не факт, что проблемы кончатся mesa распространяется... весь текст скрыт [показать]
     
  • 2.38, Аноним (-), 17:04, 06/03/2018 [^] [ответить]    [к модератору]  
  • +/
    >Хочу увидеть новость в которой Mesa-у, хотя бы опционально и экспирементально, переведут на gcc

    Брат, я тоже этого жду!

     
     
  • 3.39, Аноним (-), 17:06, 06/03/2018 [^] [ответить]    [к модератору]  
  • +/
    ...Ну или хотя бы чтобы Mesa форкнули.
     
  • 3.40, Ilya Indigo (ok), 17:11, 06/03/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Как я понял позже, для этого, как минимум, gcc должен научиться компилировать GL... весь текст скрыт [показать]
     
  • 2.59, Аноним (-), 06:53, 07/03/2018 [^] [ответить]    [к модератору]  
  • +/
    А я жду, когда последуют примеру бсд и выкинут гцц на помойку.
    Даешь меньше вирусной гнутой дряни, больше истинно свободных лицензий! (MIT, BSD)
     
     ....нить скрыта, показать (18)

  • 1.2, adolfus (ok), 11:34, 06/03/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • –3 +/
    Все думают, что этот шланг просто так ради интереса стартанули Типа, чтобы gcc ... весь текст скрыт [показать]
     
     
  • 2.12, Аноним (-), 12:22, 06/03/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Учитвая, что в MS активно занялись развитием Шланга, а свой компилятор забросили...
     
     
  • 3.45, Аноним84701 (ok), 17:45, 06/03/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Тот cамый МS, который активно проталкивал в стандарт С11 свои дополнения, при эт... весь текст скрыт [показать]
     
  • 2.14, Аноним (-), 12:28, 06/03/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    Его стартанули корпорасты-пермиссивщики. Зачем — надеюсь, не надо объяснять?
     
     
  • 3.21, Аноним (-), 13:59, 06/03/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    > Его стартанули корпорасты-пермиссивщики. Зачем — надеюсь, не надо объяснять?

    Надо. Зачем? Компилятор не определяет лицензию скомпилированного бинарника. А libc и libstd++ можно и подменить.

     
     
  • 4.22, Аноним (-), 14:08, 06/03/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    У них на GPL аллергия.
     
  • 4.24, Аноним (-), 14:08, 06/03/2018 [^] [ответить]    [к модератору]  
  • +/
    точно? напомнить "забытое" исключение из gcc ? :)
    А то ведь получалось - компилируешь при помощи gcc, а тебе хрясь - отдай код под GPL v3 :)
     
     
  • 5.42, Аноним (-), 17:17, 06/03/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    Не живи прошлыми воспоминаниями, живи настоящим.

    PS То недоразумение поправили в следующей же минорной версии.

     
  • 4.29, Аноним (-), 14:54, 06/03/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Если у вас нет своего бесплатного компилятора, то с одной стороны, вам может выкрутить яйца gcc, а с другой - содрать три шкуры другой проприетарщик за "корпоративные" лицензии.
     
  • 4.33, Аноним (-), 15:56, 06/03/2018 [^] [ответить]     [к модератору]  
  • +/
    А как же возможность продавать свой более быстрый, оптимизированный проприетар... весь текст скрыт [показать]
     
  • 4.36, iZEN (ok), 16:01, 06/03/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Если в рантайме используется код библиотеки компилятора или ещё какой формат дан... весь текст скрыт [показать]
     
     
  • 5.44, Аноним (-), 17:32, 06/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Шланговый ld на tier1 уже довольно давно работает, ЕМНИП ... весь текст скрыт [показать]
     
  • 3.32, iPony (?), 15:53, 06/03/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    Технические причины в том числе Не всем нравятся танцы с гиппопотамами https ... весь текст скрыт [показать]
     
     
  • 4.34, Andrey Mitrofanov (?), 15:57, 06/03/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Unless I am mistaken about the LLVM, it has no such user community С 2005ог... весь текст скрыт [показать]
     
  • 4.65, Аноним (-), 11:03, 07/03/2018 [^] [ответить]    [к модератору]  
  • +/
    > https://gcc.gnu.org/ml/gcc/2005-11/msg00918.html

    А что, еще более древнее сообщение не накопалось? :)

     
  • 3.55, Аноним (-), 00:26, 07/03/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Хотели показать, что в компиляторе можно сделать более человекочитаемый вывод об... весь текст скрыт [показать]
     
  • 3.86, Аноним (-), 12:14, 08/03/2018 [^] [ответить]    [к модератору]  
  • +/
    >Его стартанули корпорасты-пермиссивщики

    Ты так об этом говоришь, будто это что-то плохое.

     
  • 2.62, Ordu (ok), 10:36, 07/03/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Нет Не все так думают Я думаю иначе Шланг стартанули потому, что с gcc шным к... весь текст скрыт [показать]
     
     
  • 3.64, Andrey Mitrofanov (?), 10:44, 07/03/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    План был, чтоб не было проприертарных расширений Он сработал Выделил для огр... весь текст скрыт [показать]
     
     
  • 4.66, Аноним (-), 11:04, 07/03/2018 [^] [ответить]    [к модератору]  
  • +/
    jit все-же не совсем то.
     
     
  • 5.68, Andrey Mitrofanov (?), 12:31, 07/03/2018 [^] [ответить]    [к модератору]  
  • +/
    > jit все-же не совсем то.

    Как и "продовать gcc без исходников" нисавсем "предоставлять готовую библиотеку для встраивания gcc в приложение".

    И?

     
  • 4.70, Ordu (ok), 12:42, 07/03/2018 [^] [ответить]     [к модератору]  
  • +/
    В смысле, что в gcc нет пропиетарных расширений, он сработал бесспорно Но план ... весь текст скрыт [показать]
     
     
  • 5.72, Andrey Mitrofanov (?), 13:05, 07/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Так свобода же -- Вы можете не приходить ... весь текст скрыт [показать]
     
     
  • 6.80, Ordu (ok), 18:16, 07/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Проблема в том, что не только я могу не приходить Может не придти никто ... весь текст скрыт [показать]
     
  • 3.77, Аноним (-), 15:49, 07/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Почему тоже Документация 8212 едва ли не единственное, и уж точно основное... весь текст скрыт [показать]
     
     
  • 4.79, Ordu (ok), 18:15, 07/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Ты сейчас ведь говоришь про документацию на компилятор, как command-line утилиту... весь текст скрыт [показать]
     
     
  • 5.81, Аноним (-), 20:20, 07/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Да ладно У GCC есть не только подробная документация по интерфейсам различных ч... весь текст скрыт [показать]
     
     
  • 6.85, Ordu (ok), 21:21, 07/03/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Хм Видимо я каким-то образом прошёл мимо всего этого Спорны они или нет, но пр... весь текст скрыт [показать]
     
  • 3.93, vitalif (ok), 11:54, 11/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Да не поэтому Шланг и LLVM создали потому, что у него архитектура более интерес... весь текст скрыт [показать]
     
     ....нить скрыта, показать (28)

  • 1.3, Аноним (-), 11:41, 06/03/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    Я бы хотел уточнить, свободного или открытого (коньпелятора)?
     
     
  • 2.6, Аноним (-), 11:53, 06/03/2018 [^] [ответить]     [к модератору]  
  • –5 +/
    Тогда стоит уточнить, свободного в какой версии разработчика, потребителя или к... весь текст скрыт [показать]
     
     
  • 3.17, Аноним (-), 12:57, 06/03/2018 [^] [ответить]     [к модератору]  
  • +/
    А вы тот ещё демагог и словесный эквилибрист Право 3 Возможность действовать,... весь текст скрыт [показать]
     
     
  • 4.30, Аноним (-), 15:16, 06/03/2018 [^] [ответить]    [к модератору]  
  • +/
    Бодро подытожили, спасибо. Даже как-то и дискутировать ни к чему.
     
  • 1.4, Аноним (-), 11:43, 06/03/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Ясень пень, что меньше. При компиляции MSVC свои зонды добавляет. А так только гугловские остаются.
     
     
  • 2.69, Аноним (-), 12:40, 07/03/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    А GCC только GNUшные зонды?
     
  • 1.8, Аноним (-), 12:01, 06/03/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –9 +/
    Сейчас бы в век терабайтных дисков считать проценты от мегабайтов
     
     
  • 2.9, Аноним (-), 12:07, 06/03/2018 [^] [ответить]    [к модератору]  
  • +5 +/
    Им надо по сети обновления накатывать, а там каждый лишний байт потенциально увеличивает время
     
  • 2.15, Аноним (-), 12:32, 06/03/2018 [^] [ответить]    [к модератору]  
  • +/
    А, ну можно не считать, правда, чего уж там.
     
  • 2.19, Диалектик (?), 13:15, 06/03/2018 [^] [ответить]    [к модератору]  
  • +7 +/
    То-то все кому не лень придумывают всякие там webp hevc opus.., зачем? Анон уже купил винт на терабайт!
     
  • 2.47, Гоги (?), 18:32, 06/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Согласен Нет смысла в 300 мегабайтном дистре экономить пару мег - всё равн... весь текст скрыт [показать]
     
     
  • 3.56, Аноним (-), 02:15, 07/03/2018 [^] [ответить]    [к модератору]  
  • +/
    interactive_ui_tests.exe можете смело удалить.
    Как и
    nacl_irt_x86_64.nexe
    libGLESv2.dll
    libEGL.dll
    D3DCompiler_47.dll
    chrome_watcher.dll
    swiftshader
    ненужные locales
    Итого 150Мб
     
  • 3.63, Ordu (ok), 10:42, 07/03/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    8 волнуют процессор Процессору весь этот код приходится многократно читать из ... весь текст скрыт [показать]
     
     
  • 4.87, Гоги (?), 00:18, 09/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Нисколько не умаляя достоинства малых программ, замечу у вас DLL-ка 72 мега - о... весь текст скрыт [показать]
     
     
  • 5.90, Ordu (ok), 01:33, 09/03/2018 [^] [ответить]     [к модератору]  
  • +/
    А вовсе нет никакой нужды впихивать 72 мегабайта в кеш Если какой-то кусок кода... весь текст скрыт [показать]
     
  • 3.82, Аноним (-), 20:25, 07/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Гугол волнует Для них эти единицы процентов выливаются в сотни терабайт трафика... весь текст скрыт [показать]
     
     
  • 4.88, Гоги (?), 00:21, 09/03/2018 [^] [ответить]     [к модератору]  
  • +/
    У меня на вас даже кот заржал бьют по карману Так и вижу Брина - ... весь текст скрыт [показать]
     
     
  • 5.91, Аноним (-), 12:05, 09/03/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Рад за то, что у вас такой веселый кот, но Гугл - корпорация бабла. И если есть возможность сэкономить копейку - они это сделают.
     
     ....нить скрыта, показать (11)

  • 1.10, none_first (ok), 12:09, 06/03/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    виндяцкие привязки очень портят жизнь разрабам хрома https://habrahabr.ru/company/infopulse/blog/350126/
     
     
  • 2.20, iPony (?), 13:38, 06/03/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Не без этого. Но мне кажется, что линуксовая видеосистема им побольше посолила :)

    > Supporting GPU features on Linux is a nightmare (I know from dealing with the GPU sandbox). (c)

     
     
  • 3.49, none_first (ok), 18:56, 06/03/2018 [^] [ответить]     [к модератору]  
  • +/
    по постам в оригинальной статье и еще ... весь текст скрыт [показать]
     
     
  • 4.58, iPony (?), 06:21, 07/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Да ну ты брось D Оказывается мамонтовая ФС из прошлого сливает какой-то сервер ... весь текст скрыт [показать]
     
     
  • 5.67, none_first (ok), 11:52, 07/03/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    К осознанию сложностей и мучений, кот испытывают разрабы под виндузом, в частно... весь текст скрыт [показать]
     
  • 1.16, Аноним (-), 12:39, 06/03/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Таки может соберут Qt WebEngine mingw-w64 даже ?
     
  • 1.25, Аноним (-), 14:13, 06/03/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    Это как они на андроиде клангом собирают? На андроиде разве все приложения не java?
     
     
  • 2.35, Аноним (-), 15:58, 06/03/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > На андроиде разве все приложения не java?

    Нет.

     
     
  • 3.92, рара Кен (?), 23:11, 09/03/2018 [^] [ответить]    [к модератору]  
  • +/
    нет там через jni Java native interface цепляет найтивный код. например в Qt программы на Си собираются вместе с классами java. стандартный набор для приложений под Android. все интересное пишется на Си и быстро работает от явы только обертка...
     
  • 1.26, ыы (?), 14:33, 06/03/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > сократить размер исполняемого файла на 8%

    В этом месте вероятно надо начать истомно стонать ....

     
     
  • 2.31, ryoken (ok), 15:30, 06/03/2018 [^] [ответить]    [к модератору]  
  • +/
    > В этом месте вероятно надо начать истомно стонать ....

    Так что ж мешает-то..? :)

     
     
  • 3.43, Аноним (-), 17:24, 06/03/2018 [^] [ответить]    [к модератору]  
  • –2 +/
    Так они же тогда, вероятно, и кончили от этого. Ачуметь, сократили бинарник на 8%, забыв, правда, про потерю производительности от худшей оптимизации.
     
     
  • 4.53, Аноним (-), 22:24, 06/03/2018 [^] [ответить]    [к модератору]  
  • +/
    Ну осиль ещё пару предложений новости, напрягись. Я верю, ты сможешь.
     
  • 4.73, Аноним (-), 13:56, 07/03/2018 [^] [ответить]    [к модератору]  
  • +/
    > от худшей оптимизации

    Что несёшь? У clang лучше оптимизация даже чем у GCC. Что уж там про M$-дерьмо говорить.

     
     
  • 5.83, Аноним (-), 20:28, 07/03/2018 [^] [ответить]     [к модератору]  
  • +/
    Все-таки GCC оптимизирует сильно лучше, чем шланг И без глупых ошибок к тому же... весь текст скрыт [показать]
     
  • 1.37, ПДК (?), 16:52, 06/03/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –4 +/
    Почему не компилятор от Intel?
     
     
  • 2.74, Аноним (-), 13:57, 07/03/2018 [^] [ответить]    [к модератору]  
  • +/
    > Почему не компилятор от Intel?

    Потому что есть AMD и ARM, на коих венда так же имеется?

     
  • 1.46, Гоги (?), 18:22, 06/03/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    > Из привлекательных сторон Clang... (по ср. с MSVC, прим. авт.) выделяется возможность сохранения совместимости с MSVC

    Мне одному это кажется клоунадой "Шланг ради Шланга"?

     
     
  • 2.78, Аноним (-), 15:52, 07/03/2018 [^] [ответить]    [к модератору]  
  • +/
    Да.
     
     
  • 3.89, Гоги (?), 00:35, 09/03/2018 [^] [ответить]    [к модератору]  
  • +/
    Нет.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


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