Сколько занимает программа на «Go»
Хочу немного развеять тот миф, который я невольно создал — что скомпилированные программы, написанные на языке «Go» занимают очень много. Мой скомпилированный пример
На самом деле, всё не так просто. Простенькая программа на «Go», например, классический «Hello, world!» займёт около 230КБ:
bolk-osx:Hello bolk$ cat <<GO > hello.go
> package main; func main() { println("Hello, world!") }
> GO
bolk-osx:Hello bolk$ 6g hello.go && 6l -o hello hello.6 && du -h hello
232K helloПри увеличении исходного кода размер вырастает незначительно, в моей шестимегабайтной программе большую часть занимает
Сейчас я пишу программу где уже 414 строк (в httphere — 132) и подключено 11 стандартных модулей, включая модуль для работы с изображениями («image»), скомпилированная версия занимает 1,5 мегабайта. Хотел бы попробовать сжать файл архиватором UPX, но, к сожалению, он не понимает тип запускаемых файлов моей системы
Комментарии 9
Самым сложным было попытаться конвертировать образ мысли
В итоге (плюс нехватка времени, как обычно) семантический анализ (который писался после начального порыва следовать канонам языка, но до окончательного привыкания) превратился в изрядный говнокод, этакий сишный код образца первого курса. Стыдно :)
Писалось все на чистом Go, благо особых изысков не нужно.
Ну и, конечно, малость напрягает, что язык «плывет». Обновишься, бывало, и вот уже будь добр править все, что поломалось.
Даже если говнокод, всё равно, интерпретатор «Паскаля» на «Гоу» — это звучит солидно :)
http://www.youtube.com/watch?v=7QDVRowyUQA
Эволюция Go: what is it good for?
http://db.tt/McSeFgv
У меня уже 1274 строки и занимает 1,6МБ, но у меня теперь вкомпиленный GD вовнутрь.