How do wallets receive the amount of Bitcoins
You don't have to parse the whole blockchain for every transaction, this is why database indexes exist. 

You parse the blockchain once and create a unspent-transaction-output set (UTXO) which is a mapping between all unspent outputs and their balance. This is around 2.5GB in size and much-much faster to process.