Coucou, grosse discutions ici, mais c'est intéressant et certain message m'ont interpellé. (Je vais pas parler de tous, sinon ça va être très long...)
DrBrook
La simplicité et l'ingéniosité de la TPL (ainsi que de la programmation asynchrone en général), ainsi que le compilateur JIT permettront d'out-performances les bonobos qui développent en C++
La tu m’interpelle, je connais surement pas suffisamment C#, mais je voit mal comment un code C# (de qualité équivalent à un code C++) compilé JIT pourrait d'out-performer un code C++ compilé par un outil comme GCC avec les options d'optimisation active, et ça même en excluant le temps de compilation JIT. @DrBrook pourrais-tu m'expliquer ou me donnée des liens en rapport ?
En ce qui concerne la programmation asynchrone, on peut en faire en C++ très naturellement, et c'est très performant (forcement, comme dit plus haut ça nécessite des connaissance et c'est au détriment du temps de développement). Et comme tu as l'air de dire que l’asynchrone en C# c'est plus performant qu'en C++ (je résume un peu vite), j'aimerais savoir pourquoi ? comment c'est possible ? et tu as des liens ?
Mais j'ai aussi des questions par rapport à ton projet @w0dm4n :
J'ai regardé que très rapidement le code, et je constate que c'est développer pour du win pure (je parle de la partie socket surtout). Pourquoi ne pas utiliser une librairie moderne, multi-plateforme et asynchrone à la place ?
Comme par exemple Libuv en C ou Boost::asio en C++.
Je pense que ça serait dommage de faire du C++ et de ne pas pouvoir utiliser l’émulateur sur un serveur Linux par exemple. De plus les sockets asynchrone ça sera déterminant pour les perfs si c'est ce qui est recherché (et même dans le cas global pour un serveur).
Et je me demandais aussi, pourquoi utiliser CAMP pour "émuler" de la réflexion ? Je n'ai pas regarder pourquoi tu utilisait cela et j'ai pas trop idée de l'utilité pour le projet, mais tu ne pense pas qu'utiliser de tel outil serait justement problématique pour les perf (dans l’éventualité que c'est ce que tu cherches).