Apesar de flexíveis, as estruturas encadeadas dinâmicas apresentam certas desvantagens em arquiteturas modernas de computadores quando comparadas a arrays estáticos ou dinâmicos, particularmente no que diz respeito ao "Cache de CPU". Qual das alternativas explica corretamente o motivo da menor eficiência do encadeamento no uso da memória Cache?
Apesar de flexíveis, as estruturas encadeadas dinâmicas apresentam certas desvantagens em arquiteturas modernas de computadores quando comparadas a arrays estáticos ou dinâmicos, particularmente no que diz respeito ao "Cache de CPU".
Qual das alternativas explica corretamente o motivo da menor eficiência do encadeamento no uso da memória Cache?
- O tipo de dado armazenado em encadeamentos é sempre mais complexo, exigindo caches de nível L3.
- O sistema operacional impede que ponteiros sejam carregados da memória Cache por questões de segurança.
- Os endereços de memória dos nós encadeados geralmente são não contíguos (espalhados no heap), reduzindo a localidade espacial explorada pela Cache da CPU.
- Os nós ocupam menos memória que um vetor, não preenchendo as linhas de cache adequadamente.
- Arrays usam alocação dinâmica que prevê antecipadamente os acessos, o que é impossível com ponteiros.