Probabilmente dovremmo confrontare le mele con le mele e le arance con le arance. JRE è un runtime, non un kit di sviluppo. Possiamo confrontare: la dimensione sorgente del kit di sviluppo, la dimensione del kit di sviluppo compilato e la dimensione compilata del runtime minimo.
Il pacchetto sorgente OpenJDK 7 è 82 MB (download.java.net/openjdk/jdk7) rispetto al bundle sorgente di GHC 7, che è 23 MB (haskell.org/ghc/download_ghc_7_0_1). GHC non è grande qui. Dimensioni di runtime: openjdk-6-jre-headless su Ubuntu è 77 MB non compressi rispetto a Haskell helloworld, collegato staticamente al suo runtime, che è < 1 MB. GHC non è grande qui.
Dove GHC è grande, è la dimensione del kit di sviluppo compilato:
GHC si prende 270 MB, e con tutte le librerie e le utilità che si incontrano ci vuole più di 500 MB. E sì, è molto, anche con le librerie di base e uno strumento di costruzione/gestore delle dipendenze. La piattaforma di sviluppo Java è più piccola.
GHC:
$ aptitude show ghc6 | grep Size
Uncompressed Size: 388M
contro withdependencies OpenJDK:
$ aptitude show openjdk-6-jdk openjdk-6-jre openjdk-6-jre-headless ant maven2 ivy | grep Size
Uncompressed Size: 34.9M
Uncompressed Size: 905k
Uncompressed Size: 77.3M
Uncompressed Size: 1,585k
Uncompressed Size: 3,736k
Uncompressed Size: 991k
Ma è ancora più di 100 MB, 26 MB, non come si scrive.
cose pesi massimi ghc6 e ghc6 prof sono:
$ dpkg -L ghc6 | grep '\.a$' | xargs ls -1ks | sort -k 1 -n -r | head -3
57048 /usr/lib/ghc-6.12.1/ghc-6.12.1/libHSghc-6.12.1.a
22668 /usr/lib/ghc-6.12.1/Cabal-1.8.0.2/libHSCabal-1.8.0.2.a
21468 /usr/lib/ghc-6.12.1/base-4.2.0.0/libHSbase-4.2.0.0.a
$ dpkg -L ghc6-prof | grep '\.a$' | xargs ls -1ks | sort -k 1 -n -r | head -3
112596 /usr/lib/ghc-6.12.1/ghc-6.12.1/libHSghc-6.12.1_p.a
33536 /usr/lib/ghc-6.12.1/Cabal-1.8.0.2/libHSCabal-1.8.0.2_p.a
31724 /usr/lib/ghc-6.12.1/base-4.2.0.0/libHSbase-4.2.0.0_p.a
Si prega di notare quanto è grande libHSghc-6.12.1_p.a
. Quindi la risposta sembra essere il collegamento statico e le versioni di profilazione per ogni libreria là fuori.
Da dove prendi questo 500 MB? Il mio GHC non è mai stato così vicino. – Jacob
A meno che non contiate tutte le librerie, immagino ... – Jacob
Scusate, stavo andando a scaricare un pacchetto manager che include alcuni deps. L'ho aggiornato per riflettere la dimensione del download dal sito web. Ho aggiunto un riassunto Modifica ma non è stato visualizzato qui (ancora?). Penso che la domanda sia ancora valida. È grande. –