Esta resposta memoriza e expande parte da discussão nos comentários. Um disco RAM emula uma unidade de disco externa usando parte da RAM em um sistema de computação. Ele pode ler e gravar em velocidades comparáveis ao cache na memória, menos um pouco de sobrecarga para os protocolos de conversão converterem comandos orientados a disco em comandos orientados a memória. Um disco RAM é criado executando um software especial no nível do sistema operacional, um "driver de dispositivo". Os discos de código aberto e RAM gratuitos estão disponíveis para muitos sistemas operacionais, incluindo o Windows.
Portanto, uma maneira de acelerar um gargalo devido à E / S do disco intermediário é configurar um disco RAM (comprando a RAM adicional, se necessário) e colocar a pasta de trabalho lá. (Geralmente, essa é uma configuração de software.)
Outra opção é instalar um dispositivo de estado sólido (SSD) DRAM de ponta , que é essencialmente um bloco de RAM em um pacote separado com uma interface eletrônica para agir como uma unidade de disco. Ele é instalado em um sistema de computação no lugar de uma unidade de disco e se comporta exatamente como outra unidade de disco sem nenhum software adicional, mas lê e grava quase tão rápido quanto a memória acessa. Eles são relativamente caros, mas provavelmente apenas um pequeno é necessário, mesmo para armazenamento raster intermediário muito grande.
Antes de executar qualquer uma dessas etapas, é importante criar um perfilo processo para verificar onde realmente está o gargalo. (O Windows foi fornecido com aplicativos de perfil e monitoramento cada vez mais poderosos nos últimos anos, disponíveis no Win 7 como o par Gerenciador de tarefas / Monitor de recursos e, é claro, muitos aplicativos semelhantes também estão disponíveis para outros sistemas operacionais.) Muitos sistemas são configurados automaticamente ou pode ser configurado para armazenar em cache as leituras e gravações do disco na RAM por curtos períodos. O armazenamento em cache funciona quase da mesma forma que um disco RAM, mas provavelmente é ainda mais rápido: o software pensa que está gravando arquivos intermediários no disco, mas o sistema operacional os grava temporariamente na RAM primeiro, sem acessar o disco, na esperança de que em breve os mesmos dados será lida novamente e excluída; nesse caso, uma gravação física nunca será necessária.
Dada a quantidade de computação necessária para qualquer cálculo de visibilidade total (em um algoritmo ingênuo, todas as células precisam ser inspecionadas quanto à visibilidade uma vez para cada ponto de vista), deve-se pelo menos suspeitar que a velocidade da computação, não a E / S do disco, possa ser o problema aqui. Se for esse o caso, os discos RAM ou SSDs serão um desperdício de tempo e dinheiro. Em vez disso, o esforço deve ser direcionado para analisar e melhorar o algoritmo subjacente .
Alguma discussão sobre se o desempenho do disco RAM ajuda o ArcGIS apareceu em outro segmento .