Existem alguns mitos em programação, um deles é que o operador ternário é mais rápido do que o operador IF/ELSE mais comumente usado em desenvolvimento.O operador ternário é aquele no modelo:
<condição> ? <operação 1> : <operação 2>;
Esse operador é mais usado como forma de economizar na escrita do código e deixá-lo mais claro. Apesar de alguns profissionais não concordarem com a segunda colocação.
Na prática essa diferença não é notada em programas em linguagens compiladas como C. Afinal, o mais importante nesse caso será quantas vezes essa iteração ocorrerá. Em algumas linguagens interpretadas, mais especificamente o PHP, essa performance já é comprometida em projetos de médio e grande portes por causa de uma particularidade do interpretador.
Em PHP o operador ternário sempre copia o valor comparado, enquanto a instrução if não o faz. Temos ai dois comandos, o de leitura e gravação (em memória presumimos). O PHP usa uma técnica conhecida como copy-on-write: Ao atribuir um valor à uma variável, ele não cria realmente uma cópia do conteúdo da variável até que seja modificado. Ou seja, se o valor no IF não for modificado ele não é copiado, no operador ternário ele sempre é copiado.
fonte: Fabien Potencier
Nenhum comentário:
Postar um comentário
Enforque-se nas cordas da liberdade.