The OpenNET Project / Index page

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



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

Оглавление

Релиз FreeBSD 11.0, opennews (ok), 10-Окт-16, (0) [смотреть все]

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


12. "Релиз FreeBSD 11.0"  +/
Сообщение от rm_email (ok), 10-Окт-16, 21:57 
Интересно почему armv6, а не v7. Из-за одной только разбери-пи сильно замедляют работу на ВСЕХ перечисленных остальных бордах.
Ответить | Правка | Наверх | Cообщить модератору

19. "Релиз FreeBSD 11.0"  –1 +/
Сообщение от fidaj (ok), 10-Окт-16, 22:03 
патамушта некому - очевидно же.
Ответить | Правка | Наверх | Cообщить модератору

35. "Релиз FreeBSD 11.0"  +/
Сообщение от Dmitry (??), 10-Окт-16, 23:17 
> Интересно почему armv6, а не v7. Из-за одной только разбери-пи сильно замедляют
> работу на ВСЕХ перечисленных остальных бордах.

Воздух в луже засчитан.

Цитата из https://www.freebsd.org/platforms/arm.html

FreeBSD/arm supports ARMv4 and ARMv5 processors. FreeBSD/armv6 supports ARMv6 and ARMv7 processors, including SMP on the latter.

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

95. "Релиз FreeBSD 11.0"  –1 +/
Сообщение от бедный буратино (ok), 11-Окт-16, 04:29 
ты вообще понял, что тебе выше сказали

> FreeBSD/armv6 supports ARMv6 and ARMv7 processors, including SMP on the latter.

конгениально! а в дебиане debian/arm поддерживал и armv5, и armv6 и armv7 - но зачем-то сделали ещё и дистрибутив debian/armhf, а для расбери отдельные люди перекомпилировали всё под armv6

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

126. "Релиз FreeBSD 11.0"  +1 +/
Сообщение от john123 (ok), 11-Окт-16, 10:06 
>конгениально! а в дебиане debian/arm поддерживал и armv5, и armv6 и armv7

не неси чушь.

разберись сначала толком что означает v для arm.
https://en.wikipedia.org/wiki/ARM_architecture

читать по ссылкам до прояснения в голове.


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

243. "Релиз FreeBSD 11.0"  +/
Сообщение от Аноним (-), 11-Окт-16, 20:39 
> читать по ссылкам до прояснения в голове.

Для именно дебиана логично начать с https://wiki.debian.org/ArmPorts

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

242. "Релиз FreeBSD 11.0"  –3 +/
Сообщение от Аноним (-), 11-Окт-16, 20:37 
> - но зачем-то сделали ещё и дистрибутив debian/armhf, а для расбери
> отдельные люди перекомпилировали всё под armv6

Вот только в дебиане можно пользоваться armhf пакетами для нормальных железок с ARMv7 (минимальные требования согласно вике - ARMv7 CPU with Thumb-2 and VFP3D16) и armel'ом для всякой архаики (с соотв. penalty по производительности).

Упомянутому требованию armhf - соответствуют вообще все железки с Cortex A. Поэтому и выбрали такой пресет: такой себе next-gen, лучшее что можно выжать из 32-битных ARM-ов, общий знаменатель под Cortex-A с довольно полным использованием железа. Дополнительно из железа вообще можно отыграть только 16 регистров FPU v3 (в D32 варианте VFP) и NEON, которые есть не у всех кортексов. Поэтому они и не используются по дефолту.

А сабж такое не потянул и предлагает использовать архаичный ARMv6 всем. Это фэйл. В v6 нет ряда полезных команд, плавучка - оациональна, так что использование v6 кода на v7 железе очень серьезно недоиспользует возможности железа. В частности плавучка будет тормозить. Привет мультимедии типа кодеков. У демьяна есть хороший пример как в softfp abi перегрузка регистров может занять в 5 раз больше времени яем сам счет. А hardfp перегрузок нет - напрямую используют регистры FPU. Который разумеется должен для этого быть в системе.

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

525. "Релиз FreeBSD 11.0"  +1 +/
Сообщение от john123 (ok), 17-Окт-16, 21:57 

> А сабж такое не потянул и предлагает использовать архаичный ARMv6 всем. Это
> фэйл. В v6 нет ряда полезных команд, плавучка - оациональна, так
> что использование v6 кода на v7 железе очень серьезно недоиспользует возможности

Пилять твой дом труба шаталь.

Ты хоть раз в результат компиляции залядывал, теоретик apt-get?

-------------
> Интересно почему armv6, а не v7. Из-за одной только разбери-пи сильно замедляют
> работу на ВСЕХ перечисленных остальных бордах.

Наверное, ты один такой умный. А вот сотни системных разработчиков, так они тупые.

# time pigz < ~/glpi-9.1.tar > /dev/null

real    0m10.855s
user    0m38.439s
sys    0m0.567s

# readelf -a /usr/local/bin/pigz | grep Tag_CPU
  Tag_CPU_name: arm1176jzf-s
  Tag_CPU_arch: ARM v6

--------- with CC='clang -march=armv7' --------

# time pigz < ~/glpi-9.1.tar > /dev/null

real    0m10.631s
user    0m39.010s
sys    0m0.712s

# readelf -a /usr/local/bin/pigz | grep Tag_CPU
  Tag_CPU_name: cortex-a8
  Tag_CPU_arch: ARM v7
  Tag_CPU_arch_profile: Application Profile

PS

Ради интереса с СС='gcc -march=armv8-a'

# readelf -a /usr/local/bin/pigz | grep Tag_CPU
  Tag_CPU_name: 8-A
  Tag_CPU_arch: Unknown (14)
  Tag_CPU_arch_profile: Application Profile

# time pigz < ~/glpi-9.1.tar > /dev/null

real    0m10.596s
user    0m40.158s
sys    0m0.794s

---------

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

37. "Релиз FreeBSD 11.0"  +5 +/
Сообщение от doom (ok), 10-Окт-16, 23:23 
> Интересно почему armv6, а не v7. Из-за одной только разбери-пи сильно замедляют
> работу на ВСЕХ перечисленных остальных бордах.

Это исторически сложившееся корявое название. TARGET_ARCH=arm - это для v4 и v5. TARGET_ARCH=armv6 поддерживает как armv6 так и armv7.

Далее в конфигах к конкретному SOC можно увидеть:
makeoptions CONF_CFLAGS="-march=armv7a" для Allwinner A10
makeoptions CONF_CFLAGS="-mcpu=arm1176jzf-s" для старой R-PI.

Т.е. для v7 нормальня поддержка в том числе и hard float.

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

96. "Релиз FreeBSD 11.0"  –2 +/
Сообщение от бедный буратино (ok), 11-Окт-16, 04:30 
> Далее в конфигах к конкретному SOC можно увидеть:

это весь софт надо будет из сырцов собирать?

итить колотить

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

106. "Релиз FreeBSD 11.0"  +/
Сообщение от john123 (ok), 11-Окт-16, 07:59 
>> Далее в конфигах к конкретному SOC можно увидеть:
> это весь софт надо будет из сырцов собирать?
> итить колотить

"надо"? возможно.

что такое "весь софт"?
make buildworld? таки никто не запрещает.
make kernel? тоже самое.

готовые пакеты http://pkg.freebsd.org/FreeBSD:11:armv6/latest/All/

отличия в скорости исполнения на arm при различных -march=, на практике измеряется в 1-2%.


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

130. "Релиз FreeBSD 11.0"  +1 +/
Сообщение от анон (?), 11-Окт-16, 10:50 
> отличия в скорости исполнения на arm при различных -march=, на практике измеряется
> в 1-2%.

На практике, таки hard float даёт очевидные преимущества в скорости.


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

252. "Релиз FreeBSD 11.0"  +/
Сообщение от Led (ok), 11-Окт-16, 23:24 
> На практике, таки hard float даёт очевидные преимущества в скорости.

И не столько из-за FPU, сколько из-за нового ABI.

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

262. "Релиз FreeBSD 11.0"  +/
Сообщение от Аноним (-), 12-Окт-16, 00:07 
> И не столько из-за FPU, сколько из-за нового ABI.

Новое ABI позволяет прямую передачу аргументов в регистрах FPU, так что это взаимосвязано.

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

266. "Релиз FreeBSD 11.0"  +/
Сообщение от Led (ok), 12-Окт-16, 00:15 
>> И не столько из-за FPU, сколько из-за нового ABI.
> Новое ABI позволяет прямую передачу аргументов в регистрах FPU, так что это
> взаимосвязано.

Да, именно так. Неудачно выразился, нужно было "не столько из-за FPU-вычислений".

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

127. "Релиз FreeBSD 11.0"  +4 +/
Сообщение от john123 (ok), 11-Окт-16, 10:25 
> Интересно почему armv6, а не v7. Из-за одной только разбери-пи сильно замедляют
> работу на ВСЕХ перечисленных остальных бордах.

Наверное, ты один такой умный. А вот сотни системных разработчиков, так они тупые.

# time pigz < ~/glpi-9.1.tar > /dev/null

real    0m10.855s
user    0m38.439s
sys    0m0.567s

# readelf -a /usr/local/bin/pigz | grep Tag_CPU
  Tag_CPU_name: arm1176jzf-s
  Tag_CPU_arch: ARM v6

--------- with CC='clang -march=armv7' --------

# time pigz < ~/glpi-9.1.tar > /dev/null

real    0m10.631s
user    0m39.010s
sys    0m0.712s

# readelf -a /usr/local/bin/pigz | grep Tag_CPU
  Tag_CPU_name: cortex-a8
  Tag_CPU_arch: ARM v7
  Tag_CPU_arch_profile: Application Profile

PS

Ради интереса с СС='gcc -march=armv8-a'

# readelf -a /usr/local/bin/pigz | grep Tag_CPU
  Tag_CPU_name: 8-A
  Tag_CPU_arch: Unknown (14)
  Tag_CPU_arch_profile: Application Profile

# time pigz < ~/glpi-9.1.tar > /dev/null

real    0m10.596s
user    0m40.158s
sys    0m0.794s


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

144. "Релиз FreeBSD 11.0"  +2 +/
Сообщение от Andrey Mitrofanov (?), 11-Окт-16, 11:15 
>> Интересно почему armv6, а не v7. Из-за одной только разбери-пи сильно замедляют
>> работу на ВСЕХ перечисленных остальных бордах.
> Наверное, ты один такой умный. А вот сотни системных разработчиков, так они
> тупые.

При чём тут какие-то сис.разрабы и почему ты думаешь, что померил что-то, кроме чтения из памяти и скорости команд mov своего (одного и того же во всех тестах, да?) CPU -- и между регистрами и кешированных в CPU?  Я не умный -- мне нужны пояснения. Прошу.


>[оверквотинг удален]
>   Tag_CPU_name: arm1176jzf-s
>   Tag_CPU_arch: ARM v6
> --------- with CC='clang -march=armv7' --------
> real 0m10.631s
> # readelf -a /usr/local/bin/pigz | grep Tag_CPU
>   Tag_CPU_name: cortex-a8
>   Tag_CPU_arch: ARM v7
> Ради интереса с СС='gcc -march=armv8-a'
>   Tag_CPU_name: 8-A
> real 0m10.596s

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

166. "Релиз FreeBSD 11.0"  +2 +/
Сообщение от john123 (ok), 11-Окт-16, 13:50 

нетрудно, но вкратце.

для разной целевой архитектуры компилятор использует разные множества возможных команд.

и реально ассеблерный код немного разный, но практически скорость выполнения алгоритма
в итоговом a.out при march=arvmv7 и armv6 почти таже самая.
к счастью, arm совместимо снизу вверх.

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

не рассматриваю применение NEON или, вдруг, режим Thumb2. Мест для их применения немного, как правило это целевой ассемблерный код.

школяр был опечален "ах, разработчики идиоты, они компилируют исходники для armv6 там armv7/8, и все жутко тормозит!11"

на практике же отличий почти нет, окромя нескольких мест 0.2%, которые опят же как правило вставляют на целевом ассемблере.

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

264. "Релиз FreeBSD 11.0"  +/
Сообщение от Аноним (-), 12-Окт-16, 00:10 
> Наверное, ты один такой умный. А вот сотни системных разработчиков, так они
> тупые.
> # time pigz < ~/glpi-9.1.tar > /dev/null

А эти твои свиньи используют плавучку вообще? А то может быть тебе стоило бы взять бенчмарком что-нибудь типа ffmpeg, чтобы плавучку то нагрузить? ;) Системный млять разработчик, не знающий чем abi отличается и где оно тормозит.

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

526. "Релиз FreeBSD 11.0"  +/
Сообщение от john123 (ok), 17-Окт-16, 22:08 
>> Наверное, ты один такой умный. А вот сотни системных разработчиков, так они
>> тупые.
>> # time pigz < ~/glpi-9.1.tar > /dev/null
> А эти твои свиньи используют плавучку вообще? А то может быть тебе
> стоило бы взять бенчмарком что-нибудь типа ffmpeg, чтобы плавучку то нагрузить?

Жеваный крот....
Ты хоть раз код кодеков смотрел?
Там целочисленные вычисления 95%.

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

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

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




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

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