Gastou 170s em java para 200.000? esse é o melhor numero até aqui?
O recorde é 151.4s (Dell Optiplex GX280, Pentium 4 - 3.06Ghz Dual Core, 1Gb RAM, JVM 1.5.0_06 em Windows XP Pro SP2).
Daniel,
É muito dificil tu fazer o teste usando o Java 6 Beta?
]['s
Daniel,
É muito dificil tu fazer o teste usando o Java 6 Beta?
]['s[/quote]
149.66s (Dell Optiplex GX280, Pentium 4 - 3.06Ghz Dual Core, 1Gb RAM, JVM 1.6.0-beta em Windows XP Pro SP2). Novo recorde.
Resultado da minha versão em c++:
The time is Thu May 25 12:01:21.330 2006
n = [1.42022534547031440496694633368230597608996535674640E+973350]
The time is Thu May 25 12:53:45.210 2006
Demorou 52 Minutos…
Acabou a diversão:
-----------------------------------------------
COMPUTING 200000! = 1.4202 E+973350
-----------------------------------------------
PrimeSchoenhage 3,99 Sec <2731e705>
PrimeSwingLuschny 2,69 Sec <2731e705>
PrimeVardi 2,92 Sec <2731e705>
PrimeSwingList 2,75 Sec <2731e705>
PrimeSwingCache 3,53 Sec <2731e705>
SplitRecursive 5,13 Sec <2731e705>
http://www.luschny.de/math/factorial/FastFactorialFunctions.htm
Ah, mas cadê o arquivo de quase 1MB com todos os centenas de milhares de dígitos do número??? :lol:
Serve esse?
Acho que temos um vencedor, hehehe! :thumbup:
Acho que não… o algoritmo já estava pronto… O melhor implementado por alguém daqui ainda é a versão java do Daniel…
Tentem implementar algo parecido com a versão em Java em alguma outra linguagem, isto é, use threads para calcular resultados parciais (em C++ deve ficar interessante isso. Em Fortran idem. Em Ruby, eu tenho cá minhas dúvidas se vai ficar rápido de verdade).
Daniel,
É muito dificil tu fazer o teste usando o Java 6 Beta?
]['s[/quote]
149.66s (Dell Optiplex GX280, Pentium 4 - 3.06Ghz Dual Core, 1Gb RAM, JVM 1.6.0-beta em Windows XP Pro SP2). Novo recorde.[/quote]
Daniel!
Obrigado. Tu usou algum tipo de parametro na jvm ou foi no default mesmo?
Interessante pois achei que o java 6 seria bem mais rapido, visto que tao falando magavilhas da performance dele.
]['s
ele possui um UserAgent padrão, só que o google da um erro 403 se usar o padrão, pq ele filtra “robos de busca” que possam ser feitos em java.
se não fosse isto, dava pra usar url.openStream() direto :D[/quote]
Ahh, ressuscitando este tópico apenas para um lembrete: caso vocês queiram tapear o bloqueio de user-agents estranhos que o Google faz, faça isso no seu código Java:
System.setProperty("http.agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4"); // user-agent do Mozilla Firefox
Minha vez de lançar um code contest pra galera
http://www.urubatan.com.br/2007/07/13/code-contest-valendo-uma-cortesia-para-o-just-java-2007/
Valendo uma entrada de gratis pro Just Java