3 ms·
Author here, AMA :)
by jesse__ 1y ago
Author here, AMA :)
- jackmottatx 1y ago[dead]
- 0points 1y agoNice write-up, and congratulations on the result! Since it's about perlin and performance, have you had a look at opensimplex? PS. bonsai looks really cool! Checking it out right now
- jesse__ 1y agoI haven't looked at opensimplex. I will when I get around to doing a simplex implementation. And thanks for the kind words!
- Keyframe 1y agopretty sweet! I'm mostly interested in how / what did you do to measure the performance and focus on a function. Is it perf pretty much with hist or visualizer or what?
- jesse__ 1y agoI just called _rdtsc() before and after the noise gen once every iteration, and pushed the sample onto a fixed size buffer .. after some N iterations (4k maybe, can't remember) of samples, computed min/max/avg. There's a little project here that I used to benchmark in part 4 https://github.com/scallyw4g/bonsai_noise_bench https://github.com/scallyw4g/bonsai_noise_bench
- jokoon 1y agoyou should post the result at the end and yes, make a benchmark (although I would not know how to make one, or what reference point to use) what do you think about the fastnoiselite implementation used in godot?
- jesse__ 1y agoI kinda did post results at the end of part 4 .. I beat the SOTA by 1.8x There's a benchmark utility here: https://github.com/scallyw4g/bonsai_noise_bench https://github.com/scallyw4g/bonsai_noise_bench Fastnoise2 is a high quality library. Can't speak to fastnoiselite .. never looked at it.
- vlovich123 1y agoWhich compiler & optimization settings did you use? Out of curiosity, any idea why the compiler failed to auto-vectorize the loops?
- jesse__ 1y agoClang -O2 .. -O3 didn't seem to make any appreciable difference. Re. the auto-vectorization, I really don't know. I didn't even read the assembly the compiler generated until at least halfway through the process. Generally I've found that you basically can't rely on the compiler auto vectorizing anything, ever, if it actually matters.