These two macros –
@inline – get thrown around a lot when performance comes up.
What exactly do they do?
When should you use them?
When should you not use them?
Also, are there other useful performance macros that people should be aware of?
// asking b/c I’m trying to sprinkle some speedups throughout a codebase
edit: this is the explain-like-im-five version of:
Just making sure you saw the section on performance annotations? I was going to write something, but I don’t think I can explain it any better than this:
There’s also this similar topic; a bit old, but still relevant I think:
I have been trying to step up my game in Julia by thinking more parallel and speed to make the fastest version of my code, and I find myself faced with a number of not-so-thoroughly-documented options so I have a few questions:
I understand that @inbounds drops checking the bounds when accessing an array element, but why would not using that be ever a use case? I assume every functioning piece of code should not have any array cross its bounds. So after testing my code, and making sure no out…
The performance documentation is quite extensive and written to be useful for normal (non-expert) julia users. It would be easier to help you if you pointed out specifically what parts you had troubles understanding.