eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingIntegracja bibliotek event-based › Re: Integracja bibliotek event-based
  • Data: 2020-06-11 21:58:52
    Temat: Re: Integracja bibliotek event-based
    Od: Mateusz Viste <m...@x...invalid> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: