OK. Thanks. I have understood the difference.
Bernd Eggink wrote:
> Jan Schampera schrieb:
>> Sandino Araico Sánchez wrote:
>>
>>> 1.
>>> #!/bin/bash
>>> 2.
>>> 3.
>>> for i in {0..c} ; do
>>> 4.
>>> echo $i > /dev/null
>>> 5.
>>> done
>>>
>>>
>>>
>>> Repeat-By:
>>> Run the script above and the process starts leaking memory very
>>> fast.
>>>
>>>
>>
>> You know what a memory *leak* is, yes? mallocs() without proper free()s.
>>
>> What you mean is that your memory is used. Feel free to calculate the
>> memory that is needed to store the string representation of
>> {0..150000000}, I think you will get a number near your RAM size.
>>
>> J.
>>
>>
>
> ... and try
>
> for (( i = 0; i < 150000000; ++i ))
> do
> echo $i > /dev/null
> done
>
> instead. Consumes nearly no memory at all.
>
> Cheers,
> Bernd
>
>
--
Sandino Araico Sánchez
http://sandino.net