Os sistemas operacionais geralmente funcionam com alças. Uma função "aberta" é chamada, que especifica o nome do arquivo e um identificador é retornado. Outras chamadas de E / S usam um identificador, não um nome de arquivo.
Outras funções que exigem o nome do arquivo seriam criar arquivos, listar um diretório e excluir arquivos.
Portanto, qualquer impacto no desempenho ao lidar com a insensibilidade a maiúsculas e minúsculas não afetará muito a E / S real, apenas o gerenciamento de arquivos.
Alguns programas usam arquivos de bloqueio para indicar que os recursos estão em uso. Isso pode se traduzir em muitas criações e exclusões.
No entanto, a sobrecarga de fazer duas comparações em vez de uma é provavelmente uma questão de algumas instruções adicionais em linguagem de montagem. Significando menos de 50 ou mais ciclos. Talvez 500 ou 5000 se falhas de cache entrarem em jogo.
Realmente, não vale a pena se preocupar a menos que você esteja literalmente preocupado com o desempenho de criar / excluir bilhões de arquivos em um curto período de tempo. Aplicativos de E / S de disco alto incluem coisas como bancos de dados e bancos de dados normalmente abrem alguns arquivos muito grandes e os mantêm abertos enquanto o banco de dados está sendo usado. Portanto, esses tipos de aplicativos - um que normalmente requer toda a E / S de disco que existe - não fazem muitas chamadas em que o nome do arquivo precisa ser analisado.
A velocidade do meio vai ser um gargalo muito antes de o tempo de lidar com nomes de arquivos se aproximar dele.