[Newbies] Binary file I/O performance problems

Yoshiki Ohshima yoshiki at vpri.org
Fri Sep 5 19:03:45 UTC 2008


At Fri, 5 Sep 2008 11:33:37 -0700,
David Finlayson wrote:
> 
> Then I modified the sonogram class to display sonar backscatter data
> (like a black-and-white image of the sea floor) in about 2 hours. Very
> cools stuff. The only problem was that the sonar data is time
> consuming to parse in Squeak and so the sonogram scrolled about 1 row
> per second (our system is collecting data at 8 pings per second) So it
> would take me 8 hours to display 1 hour of sonar data.

  Ah, cool.  In the OLPC Etoys image, there is a more efficient
version of Sonogram called WsSonogram, and it is about 2 times faster
than the original, and if you just add a primitive that takes a float
array and calculate the sqrt of all entries and store them into the
array, that will be 4-5 times faster or such.  The code is of course
perfectly portable across the platform (i.e., not tied to OLPC) so
probably it might be an interest of you.

> The distant dream is to paint the sonar data into a Croquet world in
> real time where scientists from other stations on the boat (or maybe
> over the internet) can see the data rolling in as we collect it. It
> would be really cool. Add in our boat as an icon, an ROV (remotely
> operated vehicle) and maybe some in-water targets like fish or
> whatever and I bet this would be Slashdot stuff! BUT, I need to be
> able to get a handle on the speed of Squeak or this won't be
> practical.

  It could be quite practical with a few extra primitives.  One could
of course imagine to utilize GPU.  That would be fairly viable.

> Maybe I need to write some kind of filter (pre-amplifier) in a
> high-performance language as the data comes in over the network and
> then re-broadcasts a decimated data set to Squeak?

  That could be certainly an option, too.

-- Yoshiki


More information about the Beginners mailing list