The OpenNET Project / Index page

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



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

Оглавление

Релиз минималистичного дистрибутива Alpine Linux 3.8, opennews (ok), 27-Июн-18, (0) [смотреть все]

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


6. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +2 +/
Сообщение от Аноним (6), 27-Июн-18, 12:45 
Musl тоже очень медленный
Ответить | Правка | Наверх | Cообщить модератору

9. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +1 +/
Сообщение от Аноним (9), 27-Июн-18, 13:29 
Пруфы?
Ответить | Правка | Наверх | Cообщить модератору

12. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +1 +/
Сообщение от Аноним (11), 27-Июн-18, 14:01 
> Пруфы?
>>Один маленький недостаток Alpine — все пакеты собраны с -Os по-умолчанию.
>>А это примерно -20% скорости работы.
>-Os: На этом уровне код будет оптимизирован по объему. Он активирует все параметры -O2, которые не приводят к увеличению размера генерируемого кода. Он может быть полезным на компьютерах, которые обладают чрезвычайно ограниченным пространством жесткого диска и/или процессоры с небольшим размером кэша.
Ответить | Правка | Наверх | Cообщить модератору

17. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +/
Сообщение от Аноним (9), 27-Июн-18, 14:30 
Ок, а с O2/O3 musl не собирается? Просто получается, что не сам Musl медленный, а его собирают медленным.
Ответить | Правка | Наверх | Cообщить модератору

18. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +/
Сообщение от Аноним (11), 27-Июн-18, 14:37 
Вот сравнение с glibc.
Сравнение делал сам автор musl
>I am the author of musl,

http://www.etalabs.net/compare_libcs.html
MUSL vs GLibc меньше лучше
Tiny allocation & free     0.005     0.002
Big allocation & free     0.027     0.016
Zero-fill (memset)     0.023     0.012  
и тд.
Сам musl спроектирован для уменьшения размера в ущерб скорости.
Это не баг, это фича.

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

21. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +1 +/
Сообщение от Аноним (9), 27-Июн-18, 14:46 
Во, так уже лучше гораздо. Но должен сказать, что по бенчмаркам Musl не выглядит очень медленным. По многим пунктам из сравнения он медленнее glibc, но ведь по некоторым и быстрее (например декодирование utf-8). Да и по оставшимся разница не выглядит принципиальной.

В общем это я всё к тому, что "Musl очень медленный" звучит как-то слишком сильно. :)

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

24. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +2 +/
Сообщение от Аноним (11), 27-Июн-18, 15:15 
>Musl не выглядит очень медленным

Выглядит. Аллокация памяти - важнейший процес для libc. Разница в производительности почти в 2 раза это очень много.
Для сравнения ява в аналогичном тесте медленнее всего на 20%.

>но ведь по некоторым и быстрее (например декодирование utf-8)

Вот исходник теста
http://www.etalabs.net/src/libc-bench/utf8.c
В качестве тестовой нагрузки там вызов mbrtowc
MUSL mbrtowc
https://github.com/ifduyue/musl/blob/master/src/multibyte/mb...
GLIBC
https://github.com/lattera/glibc/blob/master/wcsmbs/mbrtowc.c
Код Glibc значительно сложнее, но это из-за подержи большого количества locale-ей
> All other locales are still processed as multibyte UTF-8, and the intent is that the plain C locale’s character set be thought of as “UTF-8, but processed byte-by-byte and without validation”.

А musl знает C locale а всё остальное пихает в UTF-8 без проверки.
Откуда и выигрыш в скорости.

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

28. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +/
Сообщение от Аноним (9), 27-Июн-18, 16:06 
Хм, ну да, звучит убедительно. Мне на это нечем возразить, спасибо за развернутый ответ.
Ответить | Правка | Наверх | Cообщить модератору

32. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  –3 +/
Сообщение от Аноним (11), 27-Июн-18, 16:52 

loop:
...
if (*s-0x80u >= 0x40) GOTO ilseq;
GOTO loop;

Собираю деньги на книгу "GOTO  Considered Harmful" для авторов MUSL-а.
«О вреде оператора GOTO» - это знаменитая работа Эдсгера Дейкстры.
Эх сейчас бы цикл через метки и GOTO запилить как в 1967...


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

40. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +1 +/
Сообщение от Аноним (40), 27-Июн-18, 20:47 
> Собираю деньги на книгу "GOTO  Considered Harmful" для авторов MUSL-а.

Мне тут одна утилита по автоматической проверке качества кода на КАЖДЫЙ else написала ворнинг с отсылкой на статью, что ЛЮБОЙ if/else всегда можно переписать так, что ветки else не потребуется (в крайнем случае выделить в отдельную функцию и в конце if-ветки использовать возврат из неё).

Полагаю, после этой информации вы сможете комментировать тут в КАЖДОЙ новости про софт.

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

46. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +/
Сообщение от KonstantinB (ok), 28-Июн-18, 02:40 
А вы попробуйте переписать эту функцию так, чтобы без goto было понятнее.

Там хитрая логика-то.

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

41. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  –1 +/
Сообщение от Аноним (40), 27-Июн-18, 20:54 
> Код Glibc значительно сложнее

Постойте-постойте. Мне показалось, или функция выше в musl выполняет ВСЮ необходимую работу, тогда как в glibc это ЛИШЬ ОБВЯЗКА для вызова настоящей функции? Тогда это совсем лол.

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

39. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +/
Сообщение от Аноним (40), 27-Июн-18, 20:41 
> 0.005 [...] 0.002 [...] 0.027 [...] 0.016 [...] 0.023 [...] 0.012

Это типа теперь профессионалы бенчат так, да? Измерение в пределах погрешности.

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

49. "Релиз минималистичного дистрибутива Alpine Linux 3.8"  +/
Сообщение от имя (?), 28-Июн-18, 11:17 
> Musl тоже очень медленный

но можно установить glibc

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

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

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




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

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