Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #34016

Re: Integracja bibliotek event-based

From Mateusz Viste <mateusz@xyz.invalid>
Newsgroups pl.comp.programming
Subject Re: Integracja bibliotek event-based
Date 2020-06-11 21:58 +0200
Organization . . .
Message-ID <20200611215852.33a1c421@mateusz> (permalink)
References (2 earlier) <aa97820e-825e-4efe-b403-2c1f496dc7ffo@googlegroups.com> <20200610105625.30b3dad0@mateusz> <e642682f-3296-4377-85b1-4c7dee0359b4o@googlegroups.com> <20200611103732.69e48f11@mateusz> <9386ac2d-2d1d-46db-8f52-250c1511dfebo@googlegroups.com>

Show all headers | View raw


2020-06-11 o 11:00 -0700, Maciej Sobczak napisał:
> > Trzymajmy się założeń: była mowa o bibliotece "do http", innej "do
> > tweetera" i trzeciej "baza danych".  
> 
> Nie. Była mowa o integracji kilku bibliotek event-based.
> Przykłady dot. HTTP, bazy danych i Twittera to były *przykłady* do
> zobrazowania problemu a nie konkretne zadania do rozwiązania.

No widzisz, ja nie zajmuję się akademickimi rozważaniami, staram się
rozwiązywać wyłącznie praktyczne problemy. Było trafniejszy przykład
dać.

> Nie. W szczególności biblioteka do baz danych automatycznie dobierze
> metodę komunikacji zależnie od tego, gdzie jest baza. W
> szczególności, jeśli baza jest na tym samym komputerze

Unix domain? Też socket.

> to istnieją sprawniejsze metody komunikacji, niż sockety.

"sprawniejsze" w tym kontekście jest niezwykle śmieszne. Nie słyszałem
jeszcze o tym, by komukolwiek udało się odciążyć serwer bazodanowy
poprzez zmianę kanału komunikacji na "sprawniejszy" (pomijam ew.
głupoty jak silne ssl po localhost). To po prostu nie ma żadnego
znaczenia. No ale rozumiem, że znów chodzi o to, że oczekiwałeś
złotego rozwiązania na ogólny problem, a ja tu włażę w kaloszach
i saperką. Idealista.

> Pomijając drobny fakt, że select() nie nadaje się do obsługi tysięcy
> socketów

Użyj poll(). Względnie epoll().

> Co więcej, jest kompletnie bez sensu, żebyś duplikował ciężką pracę,
> którą biblioteka i tak robi w środku.

To zależy od konkretnego przypadku. Ciężka praca polegająca na otwarciu
połączenia żeby sprawdzić tweetera nie jest tak znów ciężka. Przy
innych rzeczach może być inaczej.

> Doszedłeś w ten sposób do wniosku, że do obsługi *kilku* bibliotek
> event-based potrzebne są wątki. Albo wyjdą z biblioteki albo do niej
> wejdą. Ale będą potrzebne.

Przy założeniu, że chcesz quasi-natychmiastowy czas reakcji, że
biblioteka nie udostępnia socketa(ów), że nie pracujesz na
żadnych przerwaniach sprzętowych oraz że nie chcesz busy loop z
opóźnieniem (lub bez)... to tak. Wszystko zależy od założeń
projektowych.

> tego stanu nie da się uwspólnić w jednym wątku, bez ciężkich
> kompromisów typu kręcenie się w pętli z odpytywaniem (nawet z jakimś
> mniej lub bardziej przemyślanym opóźnieniem).

"ciężki kompromis"? Bez przesady. Tak działał m.in. Win 3.x. I w
praktyce bardzo fajnie mu wychodziło. Kwestia doboru timingu do
akceptowalnego poziomu latencji oraz możliwości buforowych tego, co
biblioteki mają obsłużyć. A jeśli ma być nowocześnie i szybko to
wątki. No ale ty chcesz uniwersalny lek na zło całego świata. :)

Mateusz

Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Integracja bibliotek event-based Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-08 14:58 -0700
  Re: Integracja bibliotek event-based heby <heby@poczta.onet.pl> - 2020-06-09 00:32 +0200
    Re: Integracja bibliotek event-based heby <heby@poczta.onet.pl> - 2020-06-09 00:38 +0200
  Re: Integracja bibliotek event-based Mateusz Viste <mateusz@xyz.invalid> - 2020-06-09 09:46 +0200
    Re: Integracja bibliotek event-based Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-09 13:58 -0700
      Re: Integracja bibliotek event-based heby <heby@poczta.onet.pl> - 2020-06-09 23:18 +0200
      Re: Integracja bibliotek event-based Mateusz Viste <mateusz@xyz.invalid> - 2020-06-10 10:56 +0200
        Re: Integracja bibliotek event-based Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-10 14:19 -0700
          Re: Integracja bibliotek event-based Mateusz Viste <mateusz@xyz.invalid> - 2020-06-11 10:37 +0200
            Re: Integracja bibliotek event-based Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-11 11:00 -0700
              Re: Integracja bibliotek event-based Mateusz Viste <mateusz@xyz.invalid> - 2020-06-11 21:58 +0200
                Re: Integracja bibliotek event-based Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-12 11:55 -0700
                Re: Integracja bibliotek event-based Mateusz Viste <mateusz@xyz.invalid> - 2020-06-13 09:33 +0200
                Re: Integracja bibliotek event-based Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-13 12:52 -0700
                Re: Integracja bibliotek event-based Mateusz Viste <mateusz@xyz.invalid> - 2020-06-14 13:55 +0200
                Re: Integracja bibliotek event-based Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-14 11:52 -0700

csiph-web