bearophile can say "i told you so" (re uint->int implicit conv)

Kagamin spam at here.lot
Thu Apr 4 22:10:38 PDT 2013


On Friday, 5 April 2013 at 01:26:27 UTC, Jonathan M Davis wrote:
> But I would point out that the bugs that you listed are not at 
> really related
> to this discussion. They're about dmd running out of memory 
> when compiling,
> and it's running out of memory not because it needs 64-bit to 
> have enough
> memory or because size_t is signed (because it is) but because 
> it doesn't
> reuse memory like it's supposed to. It generally just eats more 
> without
> releasing it properly. It should be perfectly possible for a 
> 32-bit dmd to
> compile those programs without running out of memory. And if 
> that issue has
> anything to do with this discussion, it would be to point out 
> that dmd's
> problems would be made worse by making size_t signed

How is that if the problem is not in size_t? If dmd would need a 
large array, it won't be possible to solve by properly releasing 
memory: if the array is needed, no matter what you release, 
nothing you can do with that array. The issues show a real memory 
consumption mechanics: in a case, when an application needs 
gigabytes, it won't stop at 4 gigs just *because* there is 32-bit 
limit, so if uint buys you anything, it's too negligible to be 
considered: it's much easier to migrate to 64-bit than playing 
russian roulette pushing limits of 32-bit and see whether you hit 
them.


More information about the Digitalmars-d mailing list