Falar qual vaii ser mais rápida é complicado dado que um JIT’er pode converter a sequencia de ifs no mesmo código que um switch.
Falando do bytecode emitido, usando if`s serão emitidos instruções de comparação para cada um deles. No caso do switch depende da densidade númerica dos teus cases. Se eles forem sequenciais (case 1: … case 2: … case 3: … … … case n: …) o javac pode usar a instrução mais rápida que executa um jump indexado, caso contrario emite outra, que usa uma tabela ordenada e faz busca binaria para encontrar o case.
Porém se voce precisa deste grau de otimização e possui esse tipo de dúvida sugiro que contrate uma consultoria preparada para resolver teu problema de performance (dica: me mande um PM).
[quote=“Vegetto”][quote=“Ping”]
Primeiramente não estou afim, hehe… também não tenho tempo e ainda teria que achar um benchmark (não sei direito como se escreve)[/quote]
Se o problema é falta de vontade, contrata uma consultoria para tirar suas dúvidas então, eles estarão sempre a sua disposição[/quote]
Valeu pela sua super-ajuda, em primeiro lugar, eu achei que tivesse alguém que já tivesse tido está dúvida antes ou que já tivesse um benchmark na máquina para testar… também não tirei esta dúvida do nada, eu estou fazendo um projeto de um sistema e vão existir muitos, mas muitos switch-case ou if´s… mas brigadão pela sua ajuda…
[quote=“Ping”][quote=“Vegetto”][quote=“Ping”]
Primeiramente não estou afim, hehe… também não tenho tempo e ainda teria que achar um benchmark (não sei direito como se escreve)[/quote]
Se o problema é falta de vontade, contrata uma consultoria para tirar suas dúvidas então, eles estarão sempre a sua disposição[/quote]
Valeu pela sua super-ajuda, em primeiro lugar, eu achei que tivesse alguém que já tivesse tido está dúvida antes ou que já tivesse um benchmark na máquina para testar… também não tirei esta dúvida do nada, eu estou fazendo um projeto de um sistema e vão existir muitos, mas muitos switch-case ou if´s… mas brigadão pela sua ajuda…[/quote]
Não conheço nada do seu sistema, mas este monte de if’s/switches está me cheirando a anti-pattern. Não sei se cabe, mas já tentou dar uma olhadinha em um negócio chamado Command-pattern?!
Ah, qual é a d vcs? O cara chega aqui pra fazer uma simples pergunta, e o tópico se transforma numa guerra de julgamentos?
Pow, eu ficaria super-envergonhado. Eu chegando aqui pra fazer minha perguntinha, e ser metralhado desse jeito…
Espero q me entendam… Não estou falando isso pra ofender ninguém.