The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В рамках проекта Lwan развивается новый высокопроизводительн..., opennews (??), 24-Апр-16, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


34. "В рамках проекта Lwan развивается новый высокопроизводительн..."  +/
Сообщение от Аноним32 (?), 24-Апр-16, 15:13 
зачем же так преувеличивать :)
вот смотрю:
% lh /usr/lib/go/pkg/linux_amd64_dynlink/libstd.so
-rw-r--r-- 1 root root 41M апр 24 14:58 /usr/lib/go/pkg/linux_amd64_dynlink/libstd.so
а это размер всей стандартной динамической библиотеки языка Go.

а под 30-атник будет весить аналог gitlab-a написанного на go, к примеру тот же gogs:
% lh /usr/share/gogs/gogs
-rwxr-xr-x 1 root root 31M мар  7 12:53 /usr/share/gogs/gogs

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

47. "В рамках проекта Lwan развивается новый высокопроизводительн..."  –1 +/
Сообщение от Аноним (-), 24-Апр-16, 16:57 
> а это размер всей стандартной динамической библиотеки языка Go.

Поэтому даже heдlo world будет жрать не менее 40 метров памяти, прикинь? Просто потому что библу вгрузил. Не в обиду гугелю, libre office будет стартовать быстрее чем такие программы.

Ответить | Правка | Наверх | Cообщить модератору

66. "В рамках проекта Lwan развивается новый высокопроизводительн..."  +/
Сообщение от angra (ok), 24-Апр-16, 18:01 
$ time ./hw >/dev/null

real    0m0.002s
user    0m0.000s
sys    0m0.002s

Сегодня просто набег лжецов.

Ответить | Правка | Наверх | Cообщить модератору

90. "В рамках проекта Lwan развивается новый высокопроизводительн..."  +/
Сообщение от Аноним (-), 24-Апр-16, 23:27 
Хорошо врешь, спору нет. А теперь то же самое, с холодным кэшом. Чтобы совсем ЗБС - с механического диска.
Ответить | Правка | Наверх | Cообщить модератору

108. "В рамках проекта Lwan развивается новый высокопроизводительн..."  +/
Сообщение от angra (ok), 25-Апр-16, 11:02 
Да легко:

$ time ./hw >/dev/null

real    0m0.042s
user    0m0.000s
sys    0m0.002s

Что еще придумаешь? Попросишь теперь с пятидюймовой дискетки стартануть на 8086 с 640kb памяти?


Хотя если очень хочется страшных чисел, то я тебе помогу

$ time go run hw.go >/dev/null

real    0m1.357s
user    0m0.527s
sys    0m0.059s

Можешь теперь сравнить с запуском libreoffice с его предварительной сборкой из исходников.

Ответить | Правка | Наверх | Cообщить модератору

118. "В рамках проекта Lwan развивается новый высокопроизводительн..."  –1 +/
Сообщение от Аноним (-), 25-Апр-16, 16:17 
> $ time ./hw >/dev/null
> real 0m0.042s
> user 0m0.000s
> sys 0m0.002s

Ты что-то совсем заврался, паря. Если у тебя либа 40 метров весит, она явно не могла прочитаться ни за 0.02 секунды, ни за 0.04. Особенно на механическом жестком диске, где диску надо еще кучу seek сделать, каждый из которых добрый десяток миллисекунд.

> Что еще придумаешь? Попросишь теперь с пятидюймовой дискетки стартануть

Попрошу не гнать внаглую, с офигением настолько, что это обнаруживается элементарной математикой.

> $ time go run hw.go >/dev/null
> real 0m1.357s
> user 0m0.527s
> sys 0m0.059s

Вот это уже более правдоподобно.

> Можешь теперь сравнить с запуском libreoffice

Там подольше будет - больше файлов вгружается.

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

Ну тогда и ты пересобери свою 40-метровую стандартную либу. А почему я должен компилять, а ты нет? Я либрофис компилирую настолько же часто как ты - стандартную гопную библиотеку.

Ответить | Правка | Наверх | Cообщить модератору

122. "В рамках проекта Lwan развивается новый высокопроизводительн..."  +/
Сообщение от angra (ok), 25-Апр-16, 16:46 
Вообще-то это был вариант для статической линковки, которая по дефолту в Go используется. Вариант с динамической линковкой с 40метровой либой смотри ниже у  Аноним32.

Зачем мне пересобирать полностью 40 метровую либу, когда достаточно из нее взять и собрать лишь нужные данной программе части(благо в hello world! их немного)? При этом скорость сборки у Go настолько велика, что позволяет использовать программы на нем как скрипты, то есть хранить только исходный код и собирать из него бинарь на ходу при каждом запуске. Что и было продемонстрировано во втором тайминге.

И если ты вдруг не понимаешь, то динамическая линковка со всей стандартной либой используется только в случае, если используются одновременно множество программ на Go. Либа при этом загрузится всего один раз. Точно также как однократно загружаются либы для программ на С или С++. Но об этом ты конечно не подумал. Вместо этого как дурак требуешь динамическую линковку со всей стандартной либой Go ради hello world.

Интересно, если ты так уж не веришь моим таймингам, то что тебе мешает за пять минут поставить себе Go и их проверить?

Ответить | Правка | Наверх | Cообщить модератору

139. "В рамках проекта Lwan развивается новый высокопроизводительн..."  +/
Сообщение от Аноним (-), 26-Апр-16, 22:35 
> используется. Вариант с динамической линковкой с 40метровой либой смотри ниже у Аноним32.

Выбор из hello world на мег и стандартной либы на 40 - хорошо придумано. А вменяемые варианты у гугла бывают?

> Зачем мне пересобирать полностью 40 метровую либу,

Затем же зачем и оппоненту пересобирать libre office, наверное. А почему libreoffice пересобирать надо, а гопную либу - нет?

> когда достаточно из нее взять и собрать лишь нужные данной программе части
> (благо в hello world! их немного)?

Этак мы дойдем до того что из либры код оказывается тоже можно скопипастить. Не говоря про мелочи жизни типа разных libc.

> код и собирать из него бинарь на ходу при каждом запуске.
> Что и было продемонстрировано во втором тайминге.

Запуск сишных программ как "скриптов" - баян, которому много лет (с каких там пор в линухе binfmt_misc?). Пользователи го только сейчас узнали что так можно было? С разморозкой, слоупоки.

> И если ты вдруг не понимаешь, то динамическая линковка со всей стандартной
> либой используется только в случае, если используются одновременно множество программ
> на Go. Либа при этом загрузится всего один раз.

Блаблабла. Хорошо придумано - поругать си, похвалить го. И главное за одно и то же. Ну не булшит ли?

> об этом ты конечно не подумал. Вместо этого как дурак требуешь
> динамическую линковку со всей стандартной либой Go ради hello world.

Программ на го меньше чем сишных. Если система стартанула - libc вероятно загружен. Для 40-метровой стандартной либы это будет не фактом. Да и такой шмат одним юнитом как-то не очень вменяемо.

> Интересно, если ты так уж не веришь моим таймингам, то что тебе
> мешает за пять минут поставить себе Go и их проверить?

Нахреннужность мне оного. Если кто-то мне показывает тайминг типа 0.01 секунды - это заведомый ЛПП, или индикация того что индивид не знает что такое погрешность измерений, не может отсеивать явно кривые результаты и вообще не способен вменяемо что-либо измерять. Даже на уровне тривиальной вузовской лабы.

Ответить | Правка | Наверх | Cообщить модератору

145. "В рамках проекта Lwan развивается новый высокопроизводительн..."  +/
Сообщение от Аноним (-), 27-Апр-16, 16:53 
похоже парниша ты просто не осилил установку Go и теперь пытаешься нелепо отмазаться.
Ответить | Правка | Наверх | Cообщить модератору

109. "В рамках проекта Lwan развивается новый высокопроизводительн..."  +/
Сообщение от Аноним32 (?), 25-Апр-16, 11:17 
на довольно древнем нетбуке с hdd

% cat /sys/block/sda/queue/rotational
1

используется стандартный компилятор go, не gccgo.
хеловорд со статической линковкой:
# sync && echo 3 > /proc/sys/vm/drop_caches
% time ./hello
real    0m0.087s
user    0m0.000s
sys    0m0.003s

с динамической, то есть с подгрузкой всей стандартной динамической библиотеки языка Go на 41 мб:
# sync && echo 3 > /proc/sys/vm/drop_caches
% time ./hello_lshared
real    0m0.844s
user    0m0.027s
sys    0m0.047s

в вдогонку к нелепому высказыванию про - "libre office будет стартовать быстрее чем такие программы"
# sync && echo 3 > /proc/sys/vm/drop_caches
% time libreoffice
real    0m31.898s
user    0m0.047s
sys    0m0.113s

Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

74. "В рамках проекта Lwan развивается новый высокопроизводительн..."  +/
Сообщение от Аноним32 (?), 24-Апр-16, 18:25 
ты наверное просто не совсем вгрузил, это ВСЕ стандартные динамические библиотеки, понятно что для одного приложения её тащить не кто не будет в этом смысле статическая линковка вполне себе нормально, а если их уже перевалило за десяток или два то почему бы и нет, тогда и хеловорд будет весить:
% lh                      
итого 732K
-rwxr-xr-x 1 admin admin 720K апр 24 18:11 hello
-rwxr-xr-x 1 admin admin 7,7K апр 24 18:10 hello_lshared
-rw-r--r-- 1 admin admin   75 апр 24 18:08 main.go

в первом статическая во втором динамическая, разница ощутима

Ответить | Правка | К родителю #47 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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