Why is this so fast/slow?

The "numbers from" block is ridiculously quick, how does it do it?
I made a comparison project here and it clearly shows the speed.
"munbers" is the custom block that I made to recreate it.

And similar question I guess, why is the primitive ide_blocks so slow?

I think that's mostly just drawing the list. Try setting it to a hidden variable, so it doesn't have to draw anything.

That was a good idea, doesn't seem to be the cause though.
unnamed_ script pic (1)

That's because the actual numbers from () to () block uses the zip function that is used to make things fast. Zip might use a compiler to make things fast.