In an AEG the air is compressed as the BB moves down the barrel, but because it's compressed by a spring the pressure isn't constant. Instead the pressure increases as the piston accelerates. So you only want it to be actually pushing the BB down the barrel when it's moving at it's fastest. This means you'll transfer as much energy as possible to the BB. If you have a non-ported cylinder and a short barrel, you waste a good amount of the kinetic energy stored in the spring as the BB has left the barrel before the piston head hits the cylinder head. This equals lower FPS. I've also read about t