A common dis-functionality of Composer is that when it just hangs while installing or updating dependencies. Especially when using heavy packages like these of Symfony, Composer is going to run hard.
This issue is not new, and while there is been some discussion about it i still encounter issues running on a generally old machine with 4GB ram and a Core2Duo CPU.
Whilst i tried all of the suggested solution i ended up discovering that the problem is when you use the wildcard(*) for choosing the vendor package version.
Prefer using the latest version of the package you want instead of the wildcard(*) the next time you encounter the same problem.
Instead of writing
"require": {
"monolog/monolog":"1.*"
}
...
write
...
"require": {
"monolog/monolog":"1.10.0"
}
...
You can also try cleaning your Composer cache which is located at %APPDATA%/local/composer/ on Windows and using --prefer-dist flag which tries to download a zip file of the package whenever one is available.
Last but not least, use --vvv flag for a more verbose output of the Composer and --profile displaying some hardware information at the end.