sam88 Posted March 14, 2023 Share Posted March 14, 2023 12 minutos atrás, Omesmo disse: se nao me engano se voce nao ativar a instrução SIMD o compilador vai usar oq tiver tipo voce tem que liberar uso de mmx e sse com -mavx -msse4.2 -mpopcnt Minha dúvida é se é portável, será que numa máquina amd vai ter suporte a essa função? Vou testar só mais tarde, agora vou sair. 14 minutos atrás, rockcavera disse: Uma tabela de consulta de 256 é mais provável que seja carregada no cache mais rápido do processador em loops longos que uma tabela de 65535 (16bits). Faz sentido, por isso o aumento na velocidade. 1 Quote Link to comment Share on other sites More sharing options...
rockcavera Posted March 14, 2023 Share Posted March 14, 2023 18 minutos atrás, sam88 disse: Minha dúvida é se é portável, será que numa máquina amd vai ter suporte a essa função? Vou testar só mais tarde, agora vou sair Minha postagem sobre a comparação dos métodos fala a partir de qual processador Intel e Amd a instrução está presente. Então, portanto, não é portável. Mas você pode criar um ponteiro que na inicialização do programa defina se chama popcnt ou outra função de contagem se o processador não suportar. Claro que ai se tem o custo de chamada de procedimento. Outra forma é disponibilizar dois executáveis, sendo um para popcnt e outro com outra forma de contagem portável. 3 Quote Link to comment Share on other sites More sharing options...
rockcavera Posted March 14, 2023 Share Posted March 14, 2023 @sam88o cpusam do github é tu? 1 Quote Link to comment Share on other sites More sharing options...
sam88 Posted March 14, 2023 Share Posted March 14, 2023 5 horas atrás, rockcavera disse: @sam88o cpusam do github é tu? Isso, sou eu. 8 horas atrás, rockcavera disse: Minha postagem sobre a comparação dos métodos fala a partir de qual processador Intel e Amd a instrução está presente. Então, portanto, não é portável. Entendo, nesse caso não posso usar porque esse meu código faz parte de uma aplicação comercial. Vou deixar com a lookup table enquanto não acho uma solução melhor. Mas obrigado ai pelos exclarecimentos e ao @Omesmo também. 1 Quote Link to comment Share on other sites More sharing options...
rockcavera Posted March 14, 2023 Share Posted March 14, 2023 45 minutos atrás, sam88 disse: Entendo, nesse caso não posso usar porque esse meu código faz parte de uma aplicação comercial Depois manda uma key do software. Reduzimos em 10x o tempo de verificação Zoeira. Boa sorte no seu programa. 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.