Além disso, considere que:
a) Métodos estáticos são mais difíceis de usar em contextos de multiplas threads - o que pode ter um impacto significativamente ruim na performance;
b) Métodos estáticos não fazem polimorfismo - já que esse é um atributo da instância;
Finalmente, onde você anda lendo sobre performance?
Cuidado com os mitos, a internet está cheia deles.
Eles geralmente surgem do exagero de uma informação.
O que é mais lento num método estático em relação a um não estático (ou, mais precisamente, um método polimorfico, em relação a um não polimorfico) é a invocação, não a execução. Ou seja, é o tempo que o compilador leva entre a linha que chama o método, e a primeira linha desse mesmo método - em outras palavras, o tempo para “entrar” no método. E, em ambos os casos, esse tempo é extremamente pequeno, provavelmente, muito menor do que os comandos dentro do método levarão para executar.
Mesmo no caso do C++, onde a vtable não é otimizada em tempo de execução, culpar um método polimorfico pelo desempenho de execução só faz sentido em casos onde:
a) A aplicação é CPU Bound (ou seja, faz muitos cálculos e poucas operações de entrada/saída);
b) O método estático é uma das peças centrais do processamento, e está rodando num loop;
c) O tempo de execução do método estático é muito pequeno.
Aplicações matemáticas, como as de computação gráfica, meteorologia, ou bolsa de valores, podem vir a atingir esses três objetivos simultaneamente. Aplicações comerciais, raramente.
Recomendo fortemente que você leia os artigos do Brian Goetz, em especial, a série chamada Java theory and practice:
http://www.briangoetz.com/pubs.html