Esistono molti studi comparativi e sono disponibili online quando si tratta delle prestazioni di runtime di applicazioni create utilizzando una lingua o un'altra. Alcuni guidati da aziende, alcuni accademici, alcuni rapporti di soli esperimenti personali.
Abbiamo anche una buona dose di studi comparativi sugli effetti collaterali di un linguaggio di programmazione e dei suoi strumenti, come:
- tempi di compilazione,
- probabilità di rilevamento dei bug post-produzione,
- potere espressivo
- ecc ...
Tuttavia, recentemente sono stato sempre più colpito dal consumo di memoria dei miei programmi più di ogni altra cosa. Ciò potrebbe derivare dal fatto che, mentre la Legge di Moore è dalla nostra parte per le prestazioni grezze, ci siamo resi conto che altri colli di bottiglia sono più importanti. Questo, e non tendo ad aggiornare il mio hardware ogni tanto, e ho alcuni "vecchi" (leggi Pentium 4 da 3,6 GHz 2005-2006 con 4 GB di RAM) che oggigiorno sono difficili da usare per grandi applicazioni senza richiedendomi di avere grandi problemi a spremere ogni bit di succo da loro (scelta di SO, UI, tweaking di servizi e demoni, scelta di applicazioni da utilizzare per un'attività o un'altra ...). Onestamente, a volte sparo top
o procexp
e piango alla vista della memoria usata dai programmi più innocenti.
Posso affrontare questo problema continuando a spingere nella direzione sopra elencata, e essenzialmente cercando di limitare me stesso e i programmi che uso (ho un caro amore per i programmi cli per quel motivo, immagino), ma non posso nemmeno aiutare ma pensare che forse stiamo sbagliando.
Strumenti moderni per esigenze moderne
Naturalmente, le lingue di livello superiore sono probabilmente migliori e giustificano il loro valore di peso morto. Alcune scelte di progettazione sono state fatte per buoni motivi (o presumibilmente ben intenzionati) al momento, in molti toolchain. Librerie condivise, modelli di memoria, pre-processori, sistemi di tipi, ecc ... Ma alcuni potrebbero essere più fattibili di altri con il nostro hardware moderno, e sarei curioso di leggere alcuni studi seri sull'argomento.
Quindi, la mia domanda è, c'è un ciondolo al Benchmark Game e altri che si concentrano su un confronto delle lingue 'consumo di memoria di runtime di base?
E anche oltre, ci sono degli studi che fanno riferimento incrociato a questo con altri parametri (simili a ciò che questo articolo ha, ad esempio, altri criteri, anche in base al Benchmark Game )?