I servizi di background del sistema influenzano il benchmarking delle lingue?

3

Oggi stavo guardando alcuni blog su Ruby e Python. Un lealista di Python ha scritto alcune righe di codice con un ciclo per mostrare come Python sia più veloce di Ruby, con un codice simile. Ho anche trovato un blog di un discepolo di Ruby che dice che è sbagliato e ha anche inviato un campione di codice e risultati di benchmarking.

Mi chiedo se i programmi in background oi processi in background potrebbero talvolta ostacolare i risultati e forse non si ottiene uno scenario di benchmark esatto.

Per favore correggimi se sbaglio.

    
posta RPK 16.11.2010 - 21:40
fonte

2 risposte

4

Sì, possono.

Normalmente è solo buon senso prendere i risultati di un paio di analisi di benchmark, avere un'idea di cosa aspettarsi e sapere quali servizi in background potrebbero attivarsi sulla tua macchina (attenzione all'indicizzazione / servizi di ricerca in particolare) e rallentarlo in generale eviterà di essere seriamente fuorviato dai risultati. Ho riscontrato che questo è più un problema con i test automatici delle prestazioni, in cui non c'è nessun umano nel ciclo da seguire "WTF ...? Oh, il servizio stupido ha appena iniziato un aggiornamento".

Per benchmark puramente computazionali, ho scoperto che l'esecuzione del processo di benchmark con una priorità più alta del normale può fornire utili risultati coerenti e stabili su macchine "occupate". Questo potrebbe non funzionare se I / O è un fattore (dipende se la nozione di priorità del tuo SO influisce solo sulla schedulazione della CPU o anche sull'I / O).

    
risposta data 16.11.2010 - 22:46
fonte
5

È possibile.

Ma se questo è il caso, eseguire nuovamente il benchmark produrrebbe quasi certamente risultati diversi. Ecco perché i benchmark vengono sempre eseguiti più volte, per assicurarti che non vi siano processi in background che distorcono i risultati.

    
risposta data 16.11.2010 - 21:44
fonte

Leggi altre domande sui tag