Also...pseudo-random number generation is not a specific computation; there are many ways to do it--some faster some slower, some better some worse. If you want to time a general poisson disc simulation you would be better with a grid than calls to rand() because now you are testing the speed of the chosen random number generator.
For comparison, your fmt.Println(calPi(100000000)) with the standard (locking) prng on my notebook: 3.14151812 real 0m5.123s versus a one-thread high-quality prng: 3.14154348 real 0m1.395s The speedup shows that you are just testing random number generation speed. The same computation with a grid of pointCount points... root := math.Sqrt(float64(pointCount)) d := 2 / root for x := -1.0; x < 1.0; x += d { for y := -1.0; y < 1.0; y += d { if x*x+y*y < 1 { inCircleCount++ } } } ...gives: 3.14158668 real 0m0.170s So, 5.123 or 1.395 or 0.170 seconds based on how the sample points are calculated. Performance testing is hard. Michael On Thu, Jan 24, 2019 at 8:48 PM Ian Lance Taylor <i...@golang.org> wrote: > On Thu, Jan 24, 2019 at 7:01 PM Karthik Krishnaswamy > <karthik.krishnaswam...@gmail.com> wrote: > > > > I am just curious to understand what is the best possible way to > increase the execution speed of this particular program ? I am still > learning go though :) > > To speed up that particular program, don't use recursive Fibonacci. > The recursive function that you wrote has complexity O(2 ** N). Write > a simple loop, complexity O(N). > > Ian > > > > On Fri, Jan 25, 2019 at 8:26 AM Ian Lance Taylor <i...@golang.org> > wrote: > >> > >> On Thu, Jan 24, 2019 at 6:21 PM Topget <topget1...@gmail.com> wrote: > >> > > >> > I have tested several simple functions with Golang and Java. To my > surprise, Java sometimes is faster than Golang(especially in recursive > function and some function in standard library such as math/rand.Rand). I > wonder why. Here is some code I used for test and the result. > >> > >> Because goroutines start with a small stack that grows as needed, > >> deeply recursive functions will tend to have somewhat worse behavior > >> the first time they are called. > >> > >> Ian > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups "golang-nuts" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an email to golang-nuts+unsubscr...@googlegroups.com. > >> For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- *Michael T. jonesmichael.jo...@gmail.com <michael.jo...@gmail.com>* -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.