-
Data: 2020-06-12 20:55:22
Temat: Re: Integracja bibliotek event-based
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> > 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/SSGU8
G_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_1
4.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
Następne wpisy z tego wątku
- 13.06.20 09:33 Mateusz Viste
- 13.06.20 21:52 Maciej Sobczak
- 14.06.20 13:55 Mateusz Viste
- 14.06.20 20:52 Maciej Sobczak
Najnowsze wątki z tej grupy
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-04-27 Warszawa => Senior Account Manager (on-site) <=
- 2024-04-27 Wrocław => Dyrektor Sprzedaży (branża usług/produktów IT) <=
- 2024-04-27 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-04-27 Chrzanów => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-04-27 Ja pierdolę...
- 2024-04-27 Ryby i kawitacja
- 2024-04-27 Zabrze => Junior HelpDesk <=
- 2024-04-27 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-04-27 Bażanowice => Inżynier Industrializacji - Elektronik <=
- 2024-04-27 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-04-27 Zadaszenie tarasu, a wymagany spadek
- 2024-04-27 Warszawa => Senior Account Manager <=