... Est-ce que ça vaut le coup?
Cela dépend de ce que vous essayez de faire. La plupart des applications Web sont construites avec peu ou pas de considération pour les performances. La majorité des pages n'ont pas besoin de CGI du tout. L'utilisation d'une base de données et d'un code pour produire/modifier la page est logique, mais diffuser des pages aux clients en générant chaque fois n'est pas optimal. Comme indiqué par d'autres, la création de la conception, de la mise en page, du contenu, de l'infrastructure et du maintien de l'exécution prend généralement le pas sur la vitesse de génération de la page. Les méthodes actuelles utilisées pour les performances sont la mise en cache inversée, la mise en cache latérale, l'équilibrage de charge, le clustering, etc. Le système web est alimenté par un framework standard (java, php, python, ruby, perl, etc.) rencontré en répartissant la charge sur plusieurs boîtes et la mise en cache. Tout CGI, même C++, sera plus lent que les fichiers statiques servis par un serveur statique optimisé (ex: nginx) ou des fichiers statiques servis depuis la mémoire à l'aide d'un cache inversé (ex vernis).Cela étant dit, la plupart des gens hésitent à utiliser un langage de niveau inférieur pour le service Web en raison du manque de connaissances dans les langues de niveau inférieur et de la masse de code et de cadres disponibles dans les langages de script. Ayant travaillé sur des projets où la direction a dicté qu'aucun code source libre ne devait être utilisé, je ne suis pas d'accord que cela prend plus de temps à développer en utilisant des langages de niveau inférieur. Si vous avez écrit "tout" le code en PHP, cela vous prendra aussi longtemps mais la plupart ne le font pas. La plupart des gens utilisent le code des autres et prétendent que c'est plus rapide que d'écrire tout votre propre code dans une langue de niveau inférieur.
Les applications Web sont généralement très simplistes et au fil du temps, vous (ou votre entreprise) développerez un ensemble de bibliothèques pour faire des routines Web standard. Une fois écrite, une page Web CGI peut être construite aussi rapidement en C ou C++ que dans n'importe quel langage de script. Mais si vous avez besoin d'un fichier json importé dans votre sortie AJAX, vous trouverez probablement une certaine quantité de code de démarrage dans un langage de script plutôt qu'un langage de niveau inférieur.
Les applications web sont-elles construites avec C et C++? Absolument. Beaucoup de ces serveurs publicitaires "diaboliques" sont codés en C pour la performance. De nombreuses «applications» basées sur le Web sont construites en utilisant C ou C++, comme la console virtuelle basée sur le Web de VMware.
Si vous recherchez des performances supérieures, pensez à votre application Web en deux applications distinctes. L'un est un gestionnaire de contenu et de la page. L'autre est le cadre de service. Les pages entières et les fragments de page peuvent être pré-générés ou générés à la demande et servis de fichiers statiques, augmentant ainsi les performances bien au-delà de tout changement dans le langage de programmation. Même si une page ne dure que deux requêtes, il peut y avoir une différence de charge et de vitesse de 100 à 1. Traiter les sessions, l'authentification et l'autorisation devient la partie délicate. Comment découpler des sessions de pages et maintenir la sécurité. Cela est souvent fait en utilisant des modules basés sur C dans le serveur Web. La même chose est faite pour le décryptage SSL, la compression GZIP, le contrôle de flux, etc.
Si vous écrivez un serveur de jeu basé sur le Web ou une application web complexe, alors commencez par construire une bibliothèque C ou C++. Si vous souhaitez accélérer un blog, apprenez et utilisez des techniques de mise en cluster et de mise en cache.
À quels types de problèmes de vitesse es-tu confronté? – jonnii
Aucun vraiment .. Im juste expérimenter avec des choses différentes. Aimeriez-vous savoir s'il est possible de faire tourner un site aussi grand que digg.com sur un ordinateur portable 733MHZ. – user161433
** @ luke101: ** Une question qui n'est guère plus qu'un lien vers un produit commercial sent un peu de viande transformée, même si vous êtes complètement sérieux. Quelque chose d'un peu plus général ---- dire demander après frameworks c et C++ web - aurait pu être * les deux * plus approprié, et plus susceptible de vous obtenir ce que vous recherchez. – dmckee