Se si utilizza Python su una macchina Linux, quale delle seguenti sarebbe più veloce? Perché?
- Creazione di un file all'inizio del programma, scrittura di grandi quantità di dati (testo), chiusura, quindi divisione del file di grandi dimensioni in molti file più piccoli alla fine del programma.
- Durante lo span del programma, verranno creati molti file più piccoli, scritti e chiusi.
In particolare, il programma in questione è uno che ha bisogno di registrare lo stato di un array molto grande in ognuna delle molte fasi temporali. Lo stato dell'array ad ogni passo temporale deve essere registrato in file indipendenti.
Ho lavorato con C su Linux e so che aprire / creare e chiudere i file costa molto tempo, e meno operazioni di apertura / creazione significano programmi più veloci. Lo stesso vale se si scrive in Python? Cambiare la lingua è importante anche se si utilizza ancora lo stesso sistema operativo?
Sono interessato anche al ruolo della RAM in questo contesto. Ad esempio, correggimi se ho torto, sto assumendo che parti di un file in fase di scrittura verranno inserite nella RAM. Se il file diventa troppo grande, aumenterà la RAM e causerà problemi di velocità o di altre aree? Se una risposta potrebbe incorporare RAM che sarebbe grande.