>
http://zgadzaj.com/benchmarking-nodejs-basic-performance-tests-against-apache-php
Fabio, non per smorzare l'entusiasmo, ma uno scontro tra node.js/Javascript e Apache/PHP, sul tema delle performance poi, è più o meno a questi livelli:
https://www.youtube.com/watch?v=cWk6RgQbPVc
Apache e node.js sono due esempi perfetti del non capire un cazzo di parallelismo in due modi diametralmente opposti: Apache che nell'anno del signore 2013 è ancora basato sui thread, node.js che per non saper nè leggere nè scrivere va di thread singolo e callback concatenate (roba che era obsoleta ai tempi di Clinton). Matrimonio perfetto con i due rispettivi linguaggi, che dimostrano due scuole diametralmente opposte di ostilità all'efficienza: PHP che viene distribuito senza compilatore come forma di strategia commerciale, e Javascript che è stato progettato per essere immune a ogni tipo di ottimizzazione - due linguaggi perfetti, insomma, per implementare un sistema di cifratura
Non dico con questo che il tuo sogno sia da buttare. Ti farà piacere sapere, anzi, che nel feticismo per Javascript sei stato raggiunto e superato:
https://github.com/kripken/emscripten/wiki
Hai capito bene: è un coso che compila da LLVM a Javascript. Sai cosa può essere compilato per LLVM? tutti i maggiori linguaggi di programmazione, inclusi C e C++ (ma escluso Java). Tutte le piattaforme client che hai in mente supportano codice nativo, e C/C++ possono essere compilati in codice nativo efficiente, mentre Javascript no. Nell'unico, marginale (sì, marginale) caso di Javascript puro nella VM di un browser, puoi compilare il tuo codice C/C++ in pessimo, illeggibile, moderatamente inefficiente Javascript usando emscripten. Se proprio devi avere una codebase comune, almeno le parti di cifratura possono/devono essere C/C++. Non vorrai mica metterti a riscrivere PGP/MIME in Javascript?
... perché non PGP/MIME? sfido chiunque a tirarmi fuori una buona ragione. La lacrimuccia di nostalgia per la tua chiave privata d'annata 1999 che è chiusa in un qualche disco di backup dal 2005 o giù di lì (perché tanto nessuno usa PGP), che comunque non sarebbe abbastanza _hip_, abbastanza _cool_ per questo pazzo, pazzo mondo _2.0_ [*] in cui non c'è neanche gpg per i tuoi tre _iDevice_ (e comunque la licenza dell'_app store_ è incompatibile con la GPL), NON è una buona ragione. Non rompere i coglioni e metti la chiave privata su Dropbox. O iCloud. O una cazzo di pagina su pastebin, o pastehtml [**]. Tanto è cifrata con la passphrase che nel frattempo hai dimenticato, no? più sicura di così
Di certo NON PUOI venirmi a dire che t'hanno visitato nottetempo gli spiriti della crittografia passata, presente e futura [***] e il mattino dopo ti sei svegliato sereno sorridente ché avevi capito Il Vero Significato della Crittografia, e prima che calasse il sole avevi già reinventato un PKCS#1 vulnerabile a quattro diversi oracle attack, una ASCII armor che viene corrotta da GMail e una variante di PBKDF a un solo round. PGP _non_ è da buttare solo perché la migliore interfaccia utente che gli dei della sicurezza siano riusciti a cagarci sopra in 22 anni è un plugin per un programma di posta elettronica fuori produzione in cui il colore che dice "e-mail verificata" è l'azzurrino VGA (chi _non_ si sente rassicurato dall'azzurrino VGA?)
[*] l'immagine mentale è di un'ipotetica commedia americana anni '80, in cui la Mummia torna in vita nella frenetica Manhattan degli anni '80, e l'antico Faraone deve riacquistare rispetto e potere partendo da zero: vincere la gara di breakdance, e conquistare il cuore della giovane gallerista (che se solo si togliesse gli occhiali e sciogliesse i capelli sarebbe una _dea_...)[**] se proprio devi, mettila sul tuo serverino web personale: in fondo, chi cazzo _non_ ha un serverino web personale? [****][***] rispettivamente Turing (vestito da donna), Zimmermann (perfetto così com'è) e Schneier (con la lussureggiante barba che fluisce dal cappuccio del mantello)[****] _nessuno_ ha un serverino web personale, NERD di merda