kentuck1213
@kentuck1213

Как ускорить работу командной строки в GO?

go build - обрабатывается 12 секунд
go run main.go utils.go - обрабатывается 10 сек.
В сумме 22 сек. Как ускорить этот процесс на OC - Windows (8.1) ?
  • Вопрос задан
  • 302 просмотра
Пригласить эксперта
Ответы на вопрос 7
Если сделать go install на пакет, то все используемые им пакеты скомпилятся и сборка будет быстрее. Удобно так делать если большая часть кода редко меняется.
Ответ написан
Olej
@Olej
инженер, программист, преподаватель
Как ускорить этот процесс на OC - Windows (8.1) ?

Не могу сказать что там в Windows, но в Linux, под который затачивался Go, всё летает в лёт.
Как говорил известный юморист:
Может у вас там, в консерватории, что-то не в порядке?
Ответ написан
uvelichitel
@uvelichitel Куратор тега Go
habrahabr.ru/users/uvelichitel
Попробуйте -buildmode=exe
Ответ написан
Комментировать
@kshvakov
Вот тут описана проблема https://github.com/golang/go/issues/12228
Ответ написан
Комментировать
@SilentFl
go build вам собирает прогу, а go run собирает (в память) + запускает.
пишете код - просто делайте go run, закончили - go build для получения exe-шника
Ответ написан
bitver
@bitver
Что-то у вас этот процесс слишком долгий. ОС у меня такая-же, железо не самое лучшее, хард (не SSD) и запуск никогда не требовал больше 500ms (обычно ~250ms), кроме первого билда. Посмотрите какие команды выполняют популярные watchers из фреймворков или отдельные реализации, возможно они вам помогут. А ещё лучше пользуйтесь IDE, а не блокнотом со списком команд, это конечно хорошо, что вы знаете команды и умеете их вписывать в консоль, но эт не круто -_-
Ответ написан
@uwl
В дополнение к первому ответу от Александр Павлюк
Если сделать go install на пакет, то все используемые им пакеты скомпилятся и сборка будет быстрее.


Установка всего, что есть в текущей директории.
go get ./...

При работе с vendor(glide&go1.5+)
go get ./../$PROJECT$/vendor/...
Устанавливает все vendor пакеты текущего $PROJECT$ проекта.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы