🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217064

Re: Integracja bibliotek event-based

#217064
From: Maciej Sobczak
Date: Fri, 12 Jun 2020 18:55
61 lines
4030 bytes
> > 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.

https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.admin.doc/ids_admin_0133.htm

No jednak nie 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"

https://www.ibm.com/support/knowledgecenter/SSGU8G_14.1.0/com.ibm.admin.doc/ids_admin_0343.htm

"The database server uses shared memory to [...] provide a fast communications channel for local client applications [...]."

> 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ą.

Zapraszam również w kaloszach.

> > Pomijając drobny fakt, że select() nie nadaje się do obsługi tysięcy
> > socketów
> 
> Użyj poll(). Względnie epoll().

Ani poll() ani epoll() nie działają z pamięcią dzieloną, którą Twój klient używa do sprawnej komunikacji z bazą danych na tym samym komputerze.

> > 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.

Tak. W podanym przeze mnie konkretnym przypadku jest to bez sensu.

> > Doszedłeś w ten sposób do wniosku, że do obsługi *kilku* bibliotek
> > event-based potrzebne są wątki.
> 
> 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.

Właśnie takie mam założenia projektowe.

Bo można mieć też inne założenia projektowe - np. takie, że z założenia ma nie być wątków, niezależnie od ceny, którą trzeba będzie za ten brak wątków zapłacić. Wtedy oczywiście szukamy innych rozwiązań.

Ogólnie - minimalizujemy koszt.

> No ale ty chcesz uniwersalny lek na zło całego świata. :)

Nie. Dyskutujemy sobie tylko, a kontakt z innym punktem widzenia pozwala też lepiej zrozumieć swój własny.

-- 
Maciej Sobczak * http://www.inspirel.com
Technical Details
Message-ID: <5ecf1d89-86e9-4b98-b92b-f90a1c9a739ao@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin2!goblin1!goblin.stu.neva.ru!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <5d642286-413d-47db-91b0-c689bbe167f4o@googlegroups.com> <20200609094640.04ee0ae2@mateusz> <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> <20200611215852.33a1c421@mateusz>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:620a:1456:: with SMTP id i22mr4430335qkl.423.1591988122712;        Fri, 12 Jun 2020 11:55:22 -0700 (PDT)
X-Received: by 2002:a0c:e710:: with SMTP id d16mr14239278qvn.158.1591988122461; Fri, 12 Jun 2020 11:55:22 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin2!goblin1!goblin.stu.neva.ru!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Fri, 12 Jun 2020 11:55:22 -0700 (PDT)
In-Reply-To: <20200611215852.33a1c421@mateusz>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=213.108.152.51; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 213.108.152.51
References: <5d642286-413d-47db-91b0-c689bbe167f4o@googlegroups.com> <20200609094640.04ee0ae2@mateusz> <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> <20200611215852.33a1c421@mateusz>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5ecf1d89-86e9-4b98-b92b-f90a1c9a739ao@googlegroups.com>
Subject: Re: Integracja bibliotek event-based
From: Maciej Sobczak <see.my.homepage@gmail.com>
Injection-Date: Fri, 12 Jun 2020 18:55:22 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit