On Ethereum today a mapping could be entirely parallelized (you could split transaction processing into many shards internally under a node which may include social delegation and machines that are in geographically separate places) whereas in an array everything has to be done in sequence, with the updating of the array length after each step.