I haven’t done the math, but I would assume it’s more efficient. Ignoring drag, if you launch out of a tube, you don’t need to carry any of your fuel with you, and, at least for very subsonic muzzle velocities, you might be able to arrange for the pressure in the barrel behind the shell to be near atmospheric when the shell exits. In other words, most of the launch charge energy could actually go to kinetic energy of the shell.
In contrast, rockets are very inefficient. Except in the special case where the exhaust velocity equals the rocket’s velocity, a large amount of the engine’s energy ends up as kinetic energy in the exhaust.
In contrast, rockets are very inefficient. Except in the special case where the exhaust velocity equals the rocket’s velocity, a large amount of the engine’s energy ends up as kinetic energy in the exhaust.