Code contest

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? :wink:

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. :smiley:

]['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

:wink:

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 :smiley: