169 похожих чатов

Всем привет, подскажите куда стучаться в официальные ресурсы поддержки JB? Вопросы

по kt компилятору и билд тулзам

19 ответов

14 просмотров

kotl.in/issue

Глеб-Никитенко Автор вопроса
Alexander Nozik
kotl.in/issue

спасибо, обращусь туда

Глеб-Никитенко Автор вопроса
Alexander Nozik
kotl.in/issue

Александр, может есть к кому обратиться по моей проблеме? чтобы найти какое-то решение. Тикет в issues - выглядит как "крик в пустоту"

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

Если задача ускорить конкретно ваш билд, то тикет - это самое оно место. Если это абстрактное "почему у вас не параллельно" - это именно что крик в пустоту. Сборка разных модулей совершенно точно параллельна, вам выше показывали. А в рамках одного соурс сета далеко не все операции можно параллелизовать. Попробуйте еще kotlin.parallel.tasks.in.project=true, но на андроиде может что-то отвалиться

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

Обычно они довольно неплохо разгребаются (ну, как минимум стартовое рассмотрение задач), считать это "криком в пустоту" не стоит :)

Глеб-Никитенко Автор вопроса
Alexander Nozik
Если задача ускорить конкретно ваш билд, то тикет ...

флаг попробую, спасибо. Правильно ли я понимаю - в идеальном мире в абсолюте для максимального использования железа я должен каждый сорс файл держать в отдельном модуле? Выглядит, как то, что я за компилятор должен производить работу по распараллеливанию. С другой стороны физически - разницы же нет - границы папок или границы модулей. Это не к вам конечно претензии)) но к текущей реализации тулинга. Грустно - потратив тонну денег на топовое оборудование наблюдать медленные сборки и 1% использования железа. Буду стучаться в JB, спасибо ребят.

Глеб Никитенко
флаг попробую, спасибо. Правильно ли я понимаю - ...

В Java можно компилировать файлы параллельно, правда далеко не все это могут. Но в котлин из-за инлайнов это далеко не всегда возможно. Я, честно говоря, совершенно не в курсе, как оно там внутри устроено, может @ilmirus скажет. Но если вам надо выжать максимум, да режьте на модули, не по файлу, но по идейной структуре. Они компилируются параллельно. Ну и наконец вопрос, о каких временах идет речь? Если это масштаб минуты с чистого старта, то вы занимаетесь ерундой.

Глеб-Никитенко Автор вопроса
Alexander Nozik
В Java можно компилировать файлы параллельно, прав...

нет. 12 минут холодного билда при чем 12 мин на 8 ядерном core-i7 ноутбуке. и столько же на 14 ядерном core-i9 с топовым серверным ssd стационарного ПК

Глеб Никитенко
нет. 12 минут холодного билда при чем 12 мин на 8 ...

Ну тогда пилите свой монолит как минимум на 4 части и будет счастье. Потомки скажут вам спасибо.

Глеб-Никитенко Автор вопроса
Alexander Nozik
Ну тогда пилите свой монолит как минимум на 4 част...

у нас в рабочем проекте под 50 модулей, ну конечно есть дисбаланс в сторону одного app(он наиболее жирный). И вот... не помогает

Глеб Никитенко
у нас в рабочем проекте под 50 модулей, ну конечно...

Ну если у вас там миллион строк, то тут особо ничего не поделаешь. Я могу сказать, что в моих проектах на порядка 20-30k. Компиляция с холодного старта около минуты - двух, из которой большая часть - это тормозной JS, а инкрементальная сборка почти мгновенная.

Глеб Никитенко
у нас в рабочем проекте под 50 модулей, ну конечно...

Так посмотрите что там занимает основное время. Откуда уверенность, что именно компиляция Kotlin виновата?

Глеб-Никитенко Автор вопроса
Alexander Nozik
Ну если у вас там миллион строк, то тут особо ниче...

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

Vladimir Sitnikov
Так посмотрите что там занимает основное время. От...

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

Глеб Никитенко
не. у нас большой, млн думаю точно.... не замерял...

Хорошо, 12 минут с холодного старта, а инкрементальный сколько?

Глеб-Никитенко Автор вопроса
Vladimir Sitnikov
Так посмотрите что там занимает основное время. От...

1. Gradle build analyzer - явно указывает 2.. Это хорошо видно в реальном времени в процессе сборки

Глеб-Никитенко Автор вопроса
Alexander Nozik
Хорошо, 12 минут с холодного старта, а инкрементал...

Инкрементальную пристально не замерял на новом железе, скорее всего. Всё как и на старом... Зависит от места изменений. Расчёт конечно был на то что проблема решается железом а не структурой проекта. Я к сожалению не могу на неё влиять ... у нас по 100 андроид разработчиков

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта