Ich benötige Socket-ähnliche lokale IPC. Ich habe Named Pipes verwendet und IO über Windows überlappt und möchte die Anwendung in boost :: ASIO umschreiben, damit auch UNIX-Domain-Sockets verwendet werden können.Hat jemand eine Leistungsanalyse von boost :: asio durchgeführt?
Ich habe kürzlich Teile der Libevent-Bibliothek überprüft und ich weiß, dass es nur Socket() und select() für Windows in der Version 1.4 unterstützt. Da überlappende IO sehr effizient ist, ist es offensichtlich ein inakzeptables Merkmal, das in der Version 2 (die in Alpha ist) angesprochen wird. Ein anderes Beispiel einer suboptimalen Implementierung ist die Verwendung von Rot-Schwarz-Bäumen gegenüber Prioritätswarteschlangen für die Zeitablauflogik, die irgendwo entlang der Linie adressed war.
Hat jemand eine Meinung über die Leistungsmerkmale von Boost vs Libevent/Libev. Hat es auf bestimmten Plattformen eklatante unerwünschte Merkmale? Mein Ziel für diese Frage ist, dass ich die ASIO-Bibliothek nicht piddle-hole, außer ich muss unbedingt. Ich möchte wissen, ob boost :: asio die optimalsten OS-Primitive optimal nutzt.
Ich denke, der Kommentar des Fragestellers über Libevent, die überlappende IO unter Windows nicht unterstützt, ist veraltet. Jemand bestätigt es. – unixman83