Perché il controllo degli errori bit bit è importante nei garbage collector?

2

Ecco una traduzione approssimativa di un tweet di @xharaken .

"Space rays hit computers and mess up the bits in the memory" "hardware bugs mess up the bits in the memory" such things almost never happen, but they happen on a nearly daily basis when there are so many users using a software like [Google] Chrome. So the GC running inside Chrome has a function to check such bit anomalies.

L'originale:

「宇宙線が降ってきてメモリのビットが狂う」「ハードウェアのバグでメモリのビットが狂う」というのは非常にまれな現象だけど、Chromeくらいのユーザ数規模になるとけっこう日常的に起きます。なのでChromeで走ってるGCには、それらのビット異常を検知する機構をわざわざ入れてます。

Capisco che si verifichino errori così strani, ma non capisco come o perché controllare tali errori sia importante per scrivere un garbage collector. Quello che pensavo fosse il lavoro dei garbage collector non ha nulla a che fare con l'integrità dei dati nella memoria. Pensaci: ciò che un garbage collector fa è che cancella i dati nella memoria che non sono più referenziati. I bizzarri bug causati da errori di memoria casuali non sono in un modo, perlomeno ovvio, relativo al lavoro di un garbage collector.

    
posta Greek Fellows 06.12.2015 - 10:09
fonte

1 risposta

10

In qualsiasi applicazione complessa e che richiede molta memoria, errori di bit casuali possono essere estremamente difficili da eseguire il debug. Tutto ciò che ti aiuta a individuarli è molto utile quando il tuo software viene distribuito su milioni di dispositivi. Un garbage collector è semplicemente il punto in cui l'aggiunta di funzionalità per rilevare tali errori produce il sovraccarico più piccolo e ha buone possibilità di successo, perché è il job del garbage collector ad ispezionare costantemente la memoria dell'applicazione.

    
risposta data 06.12.2015 - 12:29
fonte

Leggi altre domande sui tag