Забавные новости 0й-Ti :)

Тема в разделе "WASM.HEAP", создана пользователем UbIvItS, 18 июн 2018.

Статус темы:
Закрыта.
  1. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    так и запишем == >> слово "очередь" прошло мимо Тебя :laugh1::laugh2::laugh3: ну, и действительно крайне любопытно как Ты ПОПУЛЯРНЫЙ ВЕБСЕРВИС без потоков сделаешь ==>> Твоё фапшебство не ведает границ :grin:
     
  2. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Очень хорошо, что ты не делаешь популярные веб сервисы.
     
  3. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    но хорошо ли, что Ты как всегда соскочил с темы? Вот в чём Вопрос :grin: современный вебсервис работает на энн серверах, то бишь имеют место быть как минимум энн потоков ФИЗИЧЕСКИ изолированных друг от друга.. какой там толк от асинок? Загадка :)
    https://github.com/apache/httpd/blob/trunk/server/main.c - где асинки? :) ща Ты побежишь мне рассказывать, что асинки тамо есть.. но для чего они нужны??? правильный ответ - для симуляции многопоточности. в однопоточной среде нужно как-то сделать многозадачность и она делается чрез вложенные циклы. во многопоточной среде такие костыли чрез ЖОоооо.. не нужны и используются в основном плоские циклы, то бишь средняя глубина вложенности == 1 :)
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Так а смысл? Это как с мемными двумя процентами и куче других вещей: ты - далеко не тот человек, которому можно что-то объяснить, это же проходили уже ни один раз. А в риторике можно упражняться и без фиксации на какой-то теме.
    --- Сообщение объединено, 26 июл 2024 ---
    https://pressable.com/blog/head-to-...red that Nginx is,a substantial edge in speed. - действительно, зачем нужны эти ваши асинки, если можно просто процессы и потоки спаунить, и очередь, не забывайте про очередь!
     
  5. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    Ты реально ходячий анекдот :)
     
  6. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.796
    Rel, UbIvItS, пока спор не перешел в горячую фазу, хотелось бы напомнить три первых пункта правил:rtfm:
     
  7. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    а что ж Ты так скромно не процитировал, что было дальше? :)
    сервачок в сыром виде может быть и в три раза шустрей того же Апача, но есть-таки куча более существенных параметров: безопасность, логирование, отказоустойчивость на больших нагрузках итд-итп :)
    --- Сообщение объединено, 27 июл 2024 ---
    теперь идём и смотрим сорцы..
    Код (C):
    1. ngx_thread_pool_init(ngx_thread_pool_t *tp, ngx_log_t *log, ngx_pool_t *pool)
    2. {
    3.     int             err;
    4.     pthread_t       tid;
    5.     ngx_uint_t      n;
    6.     pthread_attr_t  attr;
    7.  
    8.     if (ngx_notify == NULL) {
    9.         ngx_log_error(NGX_LOG_ALERT, log, 0,
    10.                "the configured event method cannot be used with thread pools");
    11.         return NGX_ERROR;
    12.     }
    13.  
    14.     ngx_thread_pool_queue_init(&tp->queue);
    15.  
    16.     if (ngx_thread_mutex_create(&tp->mtx, log) != NGX_OK) {
    17.         return NGX_ERROR;
    18.     }
    19.  
    20.     if (ngx_thread_cond_create(&tp->cond, log) != NGX_OK) {
    21.         (void) ngx_thread_mutex_destroy(&tp->mtx, log);
    22.         return NGX_ERROR;
    23.     }
    24.  
    25.     tp->log = log;
    26.  
    27.     err = pthread_attr_init(&attr);
    28.     if (err) {
    29.         ngx_log_error(NGX_LOG_ALERT, log, err,
    30.                       "pthread_attr_init() failed");
    31.         return NGX_ERROR;
    32.     }
    33.  
    34.     err = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
    35.     if (err) {
    36.         ngx_log_error(NGX_LOG_ALERT, log, err,
    37.                       "pthread_attr_setdetachstate() failed");
    38.         return NGX_ERROR;
    39.     }
    40.  
    41. #if 0
    42.     err = pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN);
    43.     if (err) {
    44.         ngx_log_error(NGX_LOG_ALERT, log, err,
    45.                       "pthread_attr_setstacksize() failed");
    46.         return NGX_ERROR;
    47.     }
    48. #endif
    49.  
    50.     for (n = 0; n < tp->threads; n++) {
    51.         err = pthread_create(&tid, &attr, ngx_thread_pool_cycle, tp);
    52.         if (err) {
    53.             ngx_log_error(NGX_LOG_ALERT, log, err,
    54.                           "pthread_create() failed");
    55.             return NGX_ERROR;
    56.         }
    57.     }
    58. //https://github.com/nginx/nginx/blob/master/src/core/ngx_thread_pool.c#L107
    как же так ??? :blush2:
     
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Не может быть, а быстрее. А кого интересует какие-то другие параметры, когда 2 процента - это два процента.

    Смотрим сорсы и видим тред пул для асинков, но ничего не в чем не понимаем и делаем вид, что это подтверждает твои теории о ненужности асинков.
     
  9. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    Ты прав, но относительно времён выньки 95 и ранее :laugh1::laugh2::laugh3: сейчас же асинками часто называют многопоточку - многопоточку тупо легче делать и она сильно надёжней.. покажи хотя бы один пример где бы КЛАССИЧЕСКАЯ СОФТВАРНАЯ асинка была бы лучше альт :popcorm2:
     
  10. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Покажи пример, где она хуже.
     
  11. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    ну, во1ых, давай перечислим что именно величают асинками..
    1. многозадачность в однопоточной среде.
    2. закос многопоточности под один поток (типа очень вумные либы позволяют прогеру стругать многопоточку аки single thread).
    3. хадварная асинхронность.
    4. асинка == многопоточка.
    5. смешанные варианты.
    ==========
    №1-2 == унылая шляпа, а вот остальные варианты действительно имеют Прямую Практическую Ценность :)
     
    Win32Api нравится это.
  12. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.796
    UbIvItS,
    стесняюсь спросить, а что именно величают «асинками»? Вы когда вводите новый термин, хотя бы сноску делайте, пока остальные не привыкнут. Асинки ― это что?
     
  13. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Нам уже нужно создавать "толковый словарь васма", чтобы все знали, где "асинки", где "2 процента". Потом добавим туда всяческие классические "софтварные анклавы" и сразу вообще все понятно станет.
     
    Mikl___ нравится это.
  14. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    если в самой общей форме: асинка - это исполнение данного набора задач без соблюдения чёткой очередности.. классические примеры - файловые операции и приём/передача сетевых пакетов. но когда доходим до методик решения асинхронных очередей, начинается размытие понятия "асинка", пч железо, алгоритмы и типы очередей всЁ меняют :)
     
  15. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.796
    UbIvItS,
    так и пишите «асинхронные операции»
     
  16. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.460
    Адрес:
    Россия, Нижний Новгород
    А собственно, почему?
     
    Mikl___ нравится это.
  17. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Вообще-то, нельзя забывать, что помимо хардварных, еще есть "биоварные асинки":
    dbfedf2aca34c545c3a58ce177ab43a469.jpg
     
  18. Win32Api

    Win32Api Member

    Публикаций:
    0
    Регистрация:
    16 окт 2022
    Сообщения:
    109
  19. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.241
    >> закос multi-threaded env под single-threaded - идея очень плохая в плане отладки: очень вумная либа накосячит и лазь брюхом по отладчику (что там и как) + нарушается гибкость решений.
    >> идея многозадачности в одном потоке не имела альт для того же вынь 95. а сейчас-то зачем себя так мучить, лепя горбатого??? поток должен быть максимально плоским без лишних вложенных циклов: в куче случаев легче докупить железо, чем упражняться с псевдо-потоками асинок :)
    =============
    а теперь к ещё более забавной теме...

    Молодой человек вот Возмущается :) но в реалиях датацентров используют cow (copy-on-write). Никто не будет данные нищебродских акков лишний раз физически разделять и лишний раз гонять чекеры на права доступа == все ресурсы сжираются на бэкап и аптайм до 4х девяток :)
     
  20. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.330
    Сейчас бы в 2024 году сидеть в языках без абстракций и лазить брюхом по отладчику в поисках багов в очень вумных асинк либах. Но окей, я не осуждаю, каждый имеет право на хобби.
     
Статус темы:
Закрыта.