Performance optimization with blueprints?

B & C are essentially the same. The switch on Int is more efficient than a series of String comparisons. But once you get past that switch to a branch, “Completion” variable is only used once (regardless of how and where it’s connected).

You could compare each in CPU time (not GPU). But this is not were I would be looking for performance improvements. Instead, I would be more concerned with BP organization and maintainability.

Hello! Here I have three possible ways of doing the same thing, which one of them is the best performance-wise and why?

The only difference between 2nd & 3rd is getting Completion% integer multiple times, does this affect performance?
If so, which is better or are they equal?

I’ll be using the methods I learn here to optimize all of my future blueprints, not just these, so in the grand scale of things it might have an effect on performance even if it’s a small one, and I know there are much more important things to optimize first, before this, but I like going for perfection. :slight_smile: Thanks in advance!

When the flow is similar with different input it will be much cleaner if you use a select node instead of a switch. The performance will be the same but performance is worthless in a system with “hidden” bugs because you forgot something on Branch-Flow-Row 49.