problem with big dictionary

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

problem with big dictionary

Petr Fischer-3
Hi, what is wrong with this code:
-----
cnt := 5000000.
s := ' jasdfh afhahkjasdf asdf sd'.
d := Dictionary new: cnt.
1 to: cnt do: [ :i |
        d at: i put: (i asString, s).
        (i \\ 50000 = 0) ifTrue: [ Transcript show: i; cr. ].
].
d size.
-----

Squeak (latest 3.9) hangs randomly after 600 000 - 1 000 000 iterations
(about 129MB of RAM [2GB] used before hang).

hang = white squeak window, no interaction possible, 100% of cpu usage

Thanks for suggestions, pf

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: problem with big dictionary

Klaus D. Witzel
Hi Petr,

it just passed 1 250 000 here, without the symptoms you describe, on a 1GB  
WinXP notebook.

What platform are you using?

/Klaus

P.S. I always declare temps explicitly in a workspace, I don't like the  
possible surprise and also because I want to see the temps when I  
interrupt the DoIt with alt-.

On Wed, 18 Oct 2006 14:35:42 +0200, Petr Fischer  
<[hidden email]> wrote:

> Hi, what is wrong with this code:
> -----
> cnt := 5000000.
> s := ' jasdfh afhahkjasdf asdf sd'.
> d := Dictionary new: cnt.
> 1 to: cnt do: [ :i |
> d at: i put: (i asString, s).
> (i \\ 50000 = 0) ifTrue: [ Transcript show: i; cr. ].
> ].
> d size.
> -----
>
> Squeak (latest 3.9) hangs randomly after 600 000 - 1 000 000 iterations
> (about 129MB of RAM [2GB] used before hang).
>
> hang = white squeak window, no interaction possible, 100% of cpu usage
>
> Thanks for suggestions, pf


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Re: problem with big dictionary

Petr Fischer-3
Klaus D. Witzel píše v St 18. 10. 2006 v 15:45 +0200:
> Hi Petr,
>
> it just passed 1 250 000 here, without the symptoms you describe, on a 1GB  
> WinXP notebook.
>
> What platform are you using?


Ubuntu Linux (Dapper)
kernel: 2.6.15-27-686 #1 SMP PREEMPT
PentiumM (Sonoma) 1.86GHz, 2GB RAM

squeak -version
---
3.7-7 #1 Fri Apr 14 11:44:44 UTC 2006 gcc 4.0.3
Squeak3.7 of '4 September 2004' [latest update: #5989]
Linux vernadsky 2.6.12 #1 SMP Mon Jan 2 16:52:14 UTC 2006 i686 GNU/Linux
default plugin location: /usr/lib/squeak/3.7-7/*.so


>
> /Klaus
>
> P.S. I always declare temps explicitly in a workspace, I don't like the  
> possible surprise and also because I want to see the temps when I  
> interrupt the DoIt with alt-.
>
> On Wed, 18 Oct 2006 14:35:42 +0200, Petr Fischer  
> <[hidden email]> wrote:
>
> > Hi, what is wrong with this code:
> > -----
> > cnt := 5000000.
> > s := ' jasdfh afhahkjasdf asdf sd'.
> > d := Dictionary new: cnt.
> > 1 to: cnt do: [ :i |
> > d at: i put: (i asString, s).
> > (i \\ 50000 = 0) ifTrue: [ Transcript show: i; cr. ].
> > ].
> > d size.
> > -----
> >
> > Squeak (latest 3.9) hangs randomly after 600 000 - 1 000 000 iterations
> > (about 129MB of RAM [2GB] used before hang).
> >
> > hang = white squeak window, no interaction possible, 100% of cpu usage
> >
> > Thanks for suggestions, pf
>
>
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: problem with big dictionary

Klaus D. Witzel
Hi Petr,

hm, I think that I've seen that, have a look at

- http://bugs.impara.de/view.php?id=4709

Find the word "workaround" on that page. Perhaps this helps you, too.

/Klaus

On Wed, 18 Oct 2006 16:04:39 +0200, Petr Fischer wrote:

> Klaus D. Witzel píše v St 18. 10. 2006 v 15:45 +0200:
>> Hi Petr,
>>
>> it just passed 1 250 000 here, without the symptoms you describe, on a  
>> 1GB
>> WinXP notebook.
>>
>> What platform are you using?
>
>
> Ubuntu Linux (Dapper)
> kernel: 2.6.15-27-686 #1 SMP PREEMPT
> PentiumM (Sonoma) 1.86GHz, 2GB RAM
>
> squeak -version
> ---
> 3.7-7 #1 Fri Apr 14 11:44:44 UTC 2006 gcc 4.0.3
> Squeak3.7 of '4 September 2004' [latest update: #5989]
> Linux vernadsky 2.6.12 #1 SMP Mon Jan 2 16:52:14 UTC 2006 i686 GNU/Linux
> default plugin location: /usr/lib/squeak/3.7-7/*.so
>
>
>>
>> /Klaus
>>
>> P.S. I always declare temps explicitly in a workspace, I don't like the
>> possible surprise and also because I want to see the temps when I
>> interrupt the DoIt with alt-.
>>
>> On Wed, 18 Oct 2006 14:35:42 +0200, Petr Fischer wrote:
>>
>> > Hi, what is wrong with this code:
>> > -----
>> > cnt := 5000000.
>> > s := ' jasdfh afhahkjasdf asdf sd'.
>> > d := Dictionary new: cnt.
>> > 1 to: cnt do: [ :i |
>> > d at: i put: (i asString, s).
>> > (i \\ 50000 = 0) ifTrue: [ Transcript show: i; cr. ].
>> > ].
>> > d size.
>> > -----
>> >
>> > Squeak (latest 3.9) hangs randomly after 600 000 - 1 000 000  
>> iterations
>> > (about 129MB of RAM [2GB] used before hang).
>> >
>> > hang = white squeak window, no interaction possible, 100% of cpu usage
>> >
>> > Thanks for suggestions, pf
>>
>>
>> _______________________________________________
>> Beginners mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Re: problem with big dictionary

Petr Fischer-3
Thanks for this workaround - it works now.

But highest value for -memory parameter is 880MB (on my Ubuntu Linux).
If I try greater value than 880MB, squeak falls down with message:
"bad address: negative".

pf

Klaus D. Witzel píše v St 18. 10. 2006 v 16:31 +0200:

> Hi Petr,
>
> hm, I think that I've seen that, have a look at
>
> - http://bugs.impara.de/view.php?id=4709
>
> Find the word "workaround" on that page. Perhaps this helps you, too.
>
> /Klaus
>
> On Wed, 18 Oct 2006 16:04:39 +0200, Petr Fischer wrote:
>
> > Klaus D. Witzel píše v St 18. 10. 2006 v 15:45 +0200:
> >> Hi Petr,
> >>
> >> it just passed 1 250 000 here, without the symptoms you describe, on a  
> >> 1GB
> >> WinXP notebook.
> >>
> >> What platform are you using?
> >
> >
> > Ubuntu Linux (Dapper)
> > kernel: 2.6.15-27-686 #1 SMP PREEMPT
> > PentiumM (Sonoma) 1.86GHz, 2GB RAM
> >
> > squeak -version
> > ---
> > 3.7-7 #1 Fri Apr 14 11:44:44 UTC 2006 gcc 4.0.3
> > Squeak3.7 of '4 September 2004' [latest update: #5989]
> > Linux vernadsky 2.6.12 #1 SMP Mon Jan 2 16:52:14 UTC 2006 i686 GNU/Linux
> > default plugin location: /usr/lib/squeak/3.7-7/*.so
> >
> >
> >>
> >> /Klaus
> >>
> >> P.S. I always declare temps explicitly in a workspace, I don't like the
> >> possible surprise and also because I want to see the temps when I
> >> interrupt the DoIt with alt-.
> >>
> >> On Wed, 18 Oct 2006 14:35:42 +0200, Petr Fischer wrote:
> >>
> >> > Hi, what is wrong with this code:
> >> > -----
> >> > cnt := 5000000.
> >> > s := ' jasdfh afhahkjasdf asdf sd'.
> >> > d := Dictionary new: cnt.
> >> > 1 to: cnt do: [ :i |
> >> > d at: i put: (i asString, s).
> >> > (i \\ 50000 = 0) ifTrue: [ Transcript show: i; cr. ].
> >> > ].
> >> > d size.
> >> > -----
> >> >
> >> > Squeak (latest 3.9) hangs randomly after 600 000 - 1 000 000  
> >> iterations
> >> > (about 129MB of RAM [2GB] used before hang).
> >> >
> >> > hang = white squeak window, no interaction possible, 100% of cpu usage
> >> >
> >> > Thanks for suggestions, pf
> >>
> >>
> >> _______________________________________________
> >> Beginners mailing list
> >> [hidden email]
> >> http://lists.squeakfoundation.org/mailman/listinfo/beginners
> >>
>
>
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: problem with big dictionary

Klaus D. Witzel
Petr,

yes, there seems to be a limit <= 1GB in the 32bit VM's. It is perhaps  
possible to bypass the problem by using the -mmap argument but I have no  
experience with that.

Perhaps you find a more recent VM executable which fits:

- http://www.squeakvm.org/unix/

IIRC > 1GB of memory is addressed in the 64bit VM's.

/Klaus

On Wed, 18 Oct 2006 17:23:00 +0200, Petr Fischer wrote:

> Thanks for this workaround - it works now.
>
> But highest value for -memory parameter is 880MB (on my Ubuntu Linux).
> If I try greater value than 880MB, squeak falls down with message:
> "bad address: negative".
>
> pf
>
> Klaus D. Witzel píše v St 18. 10. 2006 v 16:31 +0200:
>> Hi Petr,
>>
>> hm, I think that I've seen that, have a look at
>>
>> - http://bugs.impara.de/view.php?id=4709
>>
>> Find the word "workaround" on that page. Perhaps this helps you, too.
>>
>> /Klaus
>>
>> On Wed, 18 Oct 2006 16:04:39 +0200, Petr Fischer wrote:
>>
>> > Klaus D. Witzel píše v St 18. 10. 2006 v 15:45 +0200:
>> >> Hi Petr,
>> >>
>> >> it just passed 1 250 000 here, without the symptoms you describe, on  
>> a
>> >> 1GB
>> >> WinXP notebook.
>> >>
>> >> What platform are you using?
>> >
>> >
>> > Ubuntu Linux (Dapper)
>> > kernel: 2.6.15-27-686 #1 SMP PREEMPT
>> > PentiumM (Sonoma) 1.86GHz, 2GB RAM
>> >
>> > squeak -version
>> > ---
>> > 3.7-7 #1 Fri Apr 14 11:44:44 UTC 2006 gcc 4.0.3
>> > Squeak3.7 of '4 September 2004' [latest update: #5989]
>> > Linux vernadsky 2.6.12 #1 SMP Mon Jan 2 16:52:14 UTC 2006 i686  
>> GNU/Linux
>> > default plugin location: /usr/lib/squeak/3.7-7/*.so
>> >
>> >
>> >>
>> >> /Klaus
>> >>
>> >> P.S. I always declare temps explicitly in a workspace, I don't like  
>> the
>> >> possible surprise and also because I want to see the temps when I
>> >> interrupt the DoIt with alt-.
>> >>
>> >> On Wed, 18 Oct 2006 14:35:42 +0200, Petr Fischer wrote:
>> >>
>> >> > Hi, what is wrong with this code:
>> >> > -----
>> >> > cnt := 5000000.
>> >> > s := ' jasdfh afhahkjasdf asdf sd'.
>> >> > d := Dictionary new: cnt.
>> >> > 1 to: cnt do: [ :i |
>> >> > d at: i put: (i asString, s).
>> >> > (i \\ 50000 = 0) ifTrue: [ Transcript show: i; cr. ].
>> >> > ].
>> >> > d size.
>> >> > -----
>> >> >
>> >> > Squeak (latest 3.9) hangs randomly after 600 000 - 1 000 000
>> >> iterations
>> >> > (about 129MB of RAM [2GB] used before hang).
>> >> >
>> >> > hang = white squeak window, no interaction possible, 100% of cpu  
>> usage
>> >> >
>> >> > Thanks for suggestions, pf
>> >>
>> >>
>> >> _______________________________________________
>> >> Beginners mailing list
>> >> [hidden email]
>> >> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>> >>
>>
>>
>> _______________________________________________
>> Beginners mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners