Why is BP slower than pure C++ ?

Code in blueprints needs more CPU instructions to perform task than C++. C++ is compiled by visual studio to native CPU opcodes.

I am not quite sure how unreal runs blueprints in packaged game (never bothered to check this really), but i think it interprets blueprint nodes in runtime, then finds single node implementation and runs it (calls C++ code). Compiled C++ has all that runtime interpretation already done by visual studio compiler.

Also when you create function in C++ all code inside is run together. When you create blueprint code each instruction is like separate function in C++. Arguments need to be read, node for single instruction called, then results saved to variable. That all platter code adds up quickly, when you consider that real work of some basic blueprint node can be less than 10% of all code needed to run it. And 90% is that calling function, storing variables, loading them etc.