4 ms·
I don't have anything to compare to, but Go seems quite fast. I would guess no worse than 2x C in this case, but I'm pulling that number out of my butt. Actual
by fogleman 12y ago
I don't have anything to compare to, but Go seems quite fast. I would guess no worse than 2x C in this case, but I'm pulling that number out of my butt.
Actually I was originally going to write this in C but it started to be a PITA and I had the spontaneous idea that maybe Go would be the right choice for this (never used it before). It totally was. No way I would've had this level of results so quickly in C.
Being a big fan of Python and C, Go seems like a really good middle ground. Really happy to have learned it.
- gravitronic 12y agoI took a look at your code as I've been writing go for side projects for the last few months and like to compare styles. You nailed the idiomatic go approach to development imho. Very nice.
- bitg 12y agoI'm very very impressed by your code quality especially when this is just your first Go project. I'm an experienced Go developer btw. You're just so good.
- dtf 12y agoAs someone trying to learn the basics of rendering, I was really pleased to see your project pop up on the github explore email today. It's very easy to follow, even for a non-Go programmer like me. Performance question from a no-Go programmer though - does returning objects from functions incur a cost? For example "func Reflect() Ray {}" or "func Add() Vector" - do they create a new object on the heap? If so is that an issue in Go?
- fogleman 12y agoI actually tried changing all of my Rays to *Rays, passing pointers instead of values, and it made no significant difference in rendering times.