[Newbies] Why Squeak is so sloooow?
Brad Fuller
brad at sonaural.com
Fri Sep 22 03:21:31 UTC 2006
Brad Fuller wrote:
> Brad Fuller wrote:
>
>> Yoshiki Ohshima wrote:
>>
>>
>>> Antonio,
>>>
>>> If you evaluate the following (and print-it):
>>>
>>> | a b |
>>> a := FloatArray new: (16 * 1024*1024).
>>> b := FloatArray new: (16 * 1024*1024).
>>> [a += b] timeToRun.
>>>
>>> you probably get a number around 100 or 200. This means that Squeak
>>> can add two 32-bit float arrays with 16M entries in 100 milliseconds
>>> or such. This is basicaly comparable Java-performance.
>>>
>>>
>> Ouch! I just did this (twice, just to make sure) in the 7058 imagine and
>> squeak bombed with the output below.
>> This was with the latest Linux 3.9 VM. I tried with the 3.7-7 VM and it
>> bombed too.
>> kernel: 2.6.16-1.2080.16.rrt.rhfc5.ccrma (realtime kernel from Stanford
>> - for audio)
>>
>>
> just a note to say that I tried it on kernel:
> 2.6.17-1.2174_FC5
> with no difference.... same problem.
> Anyone have an idea for this?
>
Reducing the array size to something like:
| a b |
a := FloatArray new: (16 * 1024*500).
b := FloatArray new: (16 * 1024*500).
[a += b] timeToRun.
works fine.
the only thing I can think of is that I'm running out of total memory
(physical+swap). With my total physical memory of 512MB and swap of 1GB,
I would run out of memory with the original test case. If this is the
case, is there not a safe guard in Squeak to prevent this crash?
--
brad fuller
More information about the Squeak-dev
mailing list
|