Для тех, кто изучал epoll (материала достаточно много в том числе и научных статей) ответ очевиден — он лучше тогда и только тогда, когда число "ожидающих события" соединений существенно превышает число "готовых к обработке".
Вот эта формулировка, на мой взгляд, не корректна.
typeof — это нестандартное расширение GCC, которое собранное другим компилятором может делать все что угодно.
Поэтому соглашусь с @humburg — такой код не стоит использовать в своих проектах.
Возможно не внимательно прочитал, но в статье не тестировался кейс "10000 активных коннектов", а только кейсы "N-активных коннектов" vs "N-активных коннектов+10000 айдл".
Сходу, информации о том, чему равно N — не нашел.
А если N было не очень велико, то естественно, заметной разницы между poll и epoll нет.
А при 10к дескрипторов, у poll накладные расходы: как минимум копирование 80КБ из user в kernel на каждый вызов. Если честно, с трудом верится, что это не играет существенной роли.
Вообще, статья полезная, но было бы очень круто, если бы вы приложили бенчмарки с исходниками и графики подтверждающие тезисы.
В объеме копируемых данных kernel <-> user, между poll и epoll разница есть, даже если все декрипторы — "активные".
Ведь при каждом вызове epoll_wait в ядро не копируется массив всех дескрипторов, а при каждом вызове poll копируется.
Это да, вообще шлейф китайских "noname" чипмейкеров большой. Тоже видел несколько борд на таких вот SoC (забыл их названия уже). Пожал плечами, практического смысла в наших реалиях от них 0 :)
Я с ними детально тоже не разбирался. Видел несколько дешевых китайских плат на GM8136 — общее впечатление от качества (и картинки и сборки) было удручающим. Посмотрел на GM8136 SDK — в принципе более менее адекватное.
А на Fullhan видел Ezviz C2 Mini O, вполне себе неплохая модель. Но мы решили, что из за одной модели портироваться под Fullhan не целесообразно.
Тут такое — на самом деле во многих избирательных участках оставались старые ПАК (ноуты с вебкамерами, еще с выборов 2012 года). Они уже морально и физически устарели — сыпались по просту. Все же 6 лет прошло. В основном их меняли.
P.S. Ну вообще я за технику отвечаю, вопросы про закупки и прочее с этим связанное — это не ко мне.
camera.rt.ru — на нем сейчас практически полный спектр моделей Hikvision
smarthome.rt.ru — тут сейчас только Hikvision vc1w, который достаточно дорогой и на запуске сервиса использовался вариант прошивка Hikvision + наш плагин, а сейчас мы их переводим на нашу прошивку.
В скором времени +9 моделей начиная от бюджетных моделей на 3518E, с 64MB ОЗУ
В Android обычно используется ext4 или yaffs. В чем проблема то?
По T10 + камеры, гуглится именно ingenic, да. По ТТХ ± похож на 3518e, за исключением того, что в отличии от 3518e, T10 — mips.
Больше ничего про него сказать не могу :)
Нет, с таким не сталкивались еще.
Вот эта формулировка, на мой взгляд, не корректна.
define (все) :)?
судя по
This is followed by a comparison of the performance of the event dispatch mechanisms when the server is pre-loaded with 10,000 idle connections
.В первых тестах не было 10,000 активных коннектов.
Так сколько активных коннектов то было на тестах из первых трех графиках? Не нашел инфы об этом в статье.
typeof
— это нестандартное расширение GCC, которое собранное другим компилятором может делать все что угодно.Поэтому соглашусь с @humburg — такой код не стоит использовать в своих проектах.
Возможно не внимательно прочитал, но в статье не тестировался кейс "10000 активных коннектов", а только кейсы "N-активных коннектов" vs "N-активных коннектов+10000 айдл".
Сходу, информации о том, чему равно N — не нашел.
А если N было не очень велико, то естественно, заметной разницы между poll и epoll нет.
https://jacquesmattheij.com/poll-vs-epoll-once-again/ — там и исходники канули в лету ( Поэтому, затрудняюсь прокомментировать цифры из статьи.
А при 10к дескрипторов, у poll накладные расходы: как минимум копирование 80КБ из user в kernel на каждый вызов. Если честно, с трудом верится, что это не играет существенной роли.
Вообще, статья полезная, но было бы очень круто, если бы вы приложили бенчмарки с исходниками и графики подтверждающие тезисы.
В объеме копируемых данных kernel <-> user, между poll и epoll разница есть, даже если все декрипторы — "активные".
Ведь при каждом вызове epoll_wait в ядро не копируется массив всех дескрипторов, а при каждом вызове poll копируется.
Кстати, что удивительно — AR0130 весьма неплохой сенсор. На мой вкус заметно лучше ov9712 распространенного в ultra low сегменте.
Это да, вообще шлейф китайских "noname" чипмейкеров большой. Тоже видел несколько борд на таких вот SoC (забыл их названия уже). Пожал плечами, практического смысла в наших реалиях от них 0 :)
С github — вендоры пока к нам с GM не приходили :)
Я с ними детально тоже не разбирался. Видел несколько дешевых китайских плат на GM8136 — общее впечатление от качества (и картинки и сборки) было удручающим. Посмотрел на GM8136 SDK — в принципе более менее адекватное.
А на Fullhan видел Ezviz C2 Mini O, вполне себе неплохая модель. Но мы решили, что из за одной модели портироваться под Fullhan не целесообразно.
Какой то мега дешман. На видеоядро 10-16М по минимуму уйдет. 16м на линукс, инитрамфс и все аппы — выглядит слабореалистично.
А портироваться под хуавейос — что то сомнительное мероприятие.
Уж лучше на GM или Fullhan посмотреть, у них хотя бы по 64М и полноценный линукс
Пока с таким железом не сталкивались. И SDK под него тоже пока нет.
OMG! А с wifi то у нее как? (сходу не нашлось ничего про него в исходниках)
Тут такое — на самом деле во многих избирательных участках оставались старые ПАК (ноуты с вебкамерами, еще с выборов 2012 года). Они уже морально и физически устарели — сыпались по просту. Все же 6 лет прошло. В основном их меняли.
P.S. Ну вообще я за технику отвечаю, вопросы про закупки и прочее с этим связанное — это не ко мне.
Посмотрите — есть ли среди них камеры на hisilicon. Это можно понять либо подключившись к UART — по логу загрузки, либо по маркировке чипа.
camera.rt.ru — на нем сейчас практически полный спектр моделей Hikvision
smarthome.rt.ru — тут сейчас только Hikvision vc1w, который достаточно дорогой и на запуске сервиса использовался вариант прошивка Hikvision + наш плагин, а сейчас мы их переводим на нашу прошивку.
В скором времени +9 моделей начиная от бюджетных моделей на 3518E, с 64MB ОЗУ