If you think your $1 million today will become $10 million in 10 years, and then $100 million in another 10 years, and then $1 billion after thirty years total... wouldn't it seem deeply wrong to give away the $1 million today, and throw away the opportunity to do $999 million of good in 30 years? Or from an equivalent perspective, to do $999 million of future harm in exchange for a mere $1 million of good today.
Obviously it depends on whether the money will grow, whether who you give to invests it themselves, it's a balancing of risk reward etc. But the idea that you always ought to give charitably now rather than invest and give later seems deeply flawed.