Le risposte fino ad ora mancano di un punto cruciale: i pacchetti di runtime sono utili allo stesso modo in cui le DLL sono utili se si dispone di una suite di applicazioni che lavorano insieme e vengono installate insieme. Ovviamente puoi collegare la VCL e le librerie di terze parti in tutti loro costruendole senza pacchetti, ma a seconda del numero di applicazioni e librerie utilizzate la dimensione di queste applicazioni combinate sarà maggiore della dimensione di esse create con i pacchetti di runtime più la dimensione di questi pacchetti di runtime. Questo renderà i pacchetti di installazione più grandi, che non è il grosso problema che era una volta.
Tuttavia, l'utilizzo di tutte queste applicazioni contemporaneamente allo comporta un carico molto più elevato per il sistema. Dal momento che ogni applicazione utilizza la propria copia della VCL e le altre librerie di tutto questo ha bisogno di essere caricato da disco in memoria, che provoca più di I/O. E poi ci saranno diverse copie in memoria, ognuna occupando spazio per il codice. Quando vengono utilizzati pacchetti di runtime, ciascuna applicazione avrà una propria area di memoria per i dati, ma condivideranno tutti la stessa copia del codice dei pacchetti in memoria.
Per una singola applicazione autonoma senza particolari esigenze, sicuramente senza pacchetti.
Sono curioso anche di questo. Io uso EurekaLog, e la sua capacità di perdita di memoria non funziona a meno che non si costruisca senza pacchetti di runtime. Così ho trascorso alcuni giorni eliminando la necessità. Quindi, per aggiungere alla tua domanda, sono anche curioso di sapere se vale la pena costruire WITH WITH i pacchetti di runtime per una build di debug, e WITHOUT per una build di rilascio, e se sì, come può essere fatto? – lkessler