How do wallets receive the amount of Bitcoins I've always wondered how wallet clients can receive the corresponding amount of Bitcoins so fast.

If I want to know how muc Bitcoins I own, I have to parse the complete the complete blockchain to read all incoming and outgoing transactions. The current size is over 170 GB, wouldn't it take minutes (if not hours) to get all the transactions?

But when I use a web wallet for example, the correct amount of Bitcoins is loaded instantly. How does this work?

Thank you
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.