Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Just for fun, and because I'd never done it before, I just threw together some Ruby to do this: https://gist.github.com/peterc/5019760

It gets to 3.14 within a second, about 30 seconds to 3.1415.. and Ruby is surely doing this in 100x the time C or Java would.

Update: Also did it for JavaScript - https://gist.github.com/peterc/5019804



You can optimize that JS code a lot by using the unit circle, limiting yourself to the first quadrant, and using multiplication instead of Math.pow(). Then you can make it branchless using a little bitwise trickery. The result is this: https://gist.github.com/osuushi/5022143 .

OK, so I was going to just do the unit circle thing. Then I got stuck in optimization mode. God I miss performance graphics programming.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: