Dunno how to account for the .exe size differences but here's a different way of looking at what your saying about speed differences:
10,956,800 bytes divided by 43,000 bytes equals a size difference of over 2,500 times. By your logic this would mean that the B3D equivalent is executing 2,500 times more instructions than the C version. Wouldn't this mean that the B3D version would run 2,500 times slower as a direct result of this overhead? Is that the case, or not? For sure B3D would be slower because it's BASIC, but I'm fairly certain it won't be 2,500 times slower at doing logic (i.e. For,Next,If,Then etc...) based stuff. Emulators tend to be logic intensive. So, does your emulator run 2,500 times slower under B3D?
10,956,800 bytes divided by 43,000 bytes equals a size difference of over 2,500 times. By your logic this would mean that the B3D equivalent is executing 2,500 times more instructions than the C version. Wouldn't this mean that the B3D version would run 2,500 times slower as a direct result of this overhead? Is that the case, or not? For sure B3D would be slower because it's BASIC, but I'm fairly certain it won't be 2,500 times slower at doing logic (i.e. For,Next,If,Then etc...) based stuff. Emulators tend to be logic intensive. So, does your emulator run 2,500 times slower under B3D?