Adding to what Caveman said, each pokemon falls into one of these categories, the number being how much EXP that pokemon category takes to reach level 100:

Erratic - 600,000 EXP

Fast - 800,000 EXP

Medium-Fast - 1,000,000 EXP

Medium-Slow - 1,059,860 EXP

Slow - 1,250,000 EXP

Fluctuating - 1,640,000 EXP

A weak, but fast-evolving pokemon like Metapod would be in the Erratic or fast group, while more powerful pokemon like Dragonite or Tyranitar fall in the higher EXP range.