I feel you are using Maxima to attack the very kind of stuff it is worst at.

Even if you find a way to proceed, it will never be comfortable and efficient.

In my personal experience, when the list size is over 5000 and you have around 10 of them, the performance of maxima could be 20 times worse than Java.

If you only want to use maxima to process data to be plotted in gnuplot. There are better options.




On Thu, Apr 17, 2014 at 9:05 AM, Gunter Königsmann <gunter@peterpall.de> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dear all,

I am currently using Maxima for visualization of and calculations with
real data from oscilloscopes.
Normally this data is in a semicolon-separated file of the format

time;Channel 2;Channel 3;Channel 4;Channel 5
time;Channel 2;Channel 3;Channel 4;Channel 5
time;Channel 2;Channel 3;Channel 4;Channel 5
...

with 10000 to 1000000 lines. Currently I use read_matrix from the
package numericalio to read the data. But I would be willing to
convert everything into another format if that is necessary.

I then put the data from the 1..100 individual files a measurement
series is made up from into an array of lists with the format similar
to the following:

nolabels:true;
measurementseries:makelist(
  block(
    [data],
    data:transpose(read_matrix(filename))
    [
      time=list_matrix_entries(row(data,1)),
      ch1=list_matrix_entries(row(data,2)),
      ch2=list_matrix_entries(row(data,3)),
      ch3=list_matrix_entries(row(data,4)),
      ch4=list_matrix_entries(row(data,5))
    ]
  ),
  filename,
  [
    "filename1",
    "filename2",
    "filename3",
    "filename4",
    "filename5"
  ]
)
I rather like the object-orientied approach to keep all information a
measurement is made up from together.

Unfortunately tend to run out of memory much quicker than I thought
hoping that every number would use 64 Bits of memory plus a little bit
of overhead for every list I create (even with nolabels:true and
declaring all temporary variables to be temporary by block()
commands.) ...and the whole thing is slower than I would like it to, too.

Is here a significantly more efficient way to deal with big lists of
numbers in maxima?

Thanks a lot,

  Gunter.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIbBAEBAgAGBQJTT4tSAAoJEFyGwOQhHVuOEJIP9iUsvzZDsXXxx/Zuk6cbEpY3
fMEl6F3spv7F+VVBxJSuAAKRyIdFzo+QldrjIys0D21kJ0feKIqu2R+0r8K4wmZx
fgBagzjt1wvhVMyuMiDLYyP9tT3nYHpvKZdnpPIjR8MginB5A36mjU7puvHe9Cqg
W/JptY3mixSzSp+0rVMMpMegZzcoiGAyAjbIw5bd1T6v8PyBNGhZ+mB3WRuXqriL
iTE8W03LTzsAPeMTtYvlaAJcAj/A9uO6wFDev+abTwO4UXD8qTwn87SQu5TV/43e
N1Em0Wl1bAUHnd1iTNs4N+r9NJCcpyS2L81W/TlqZjCamV+/EmiLrEh1LYCf2l1R
Qb1lZFmbDy9KlgAyi4iR7cmtkM1wKaiFywBWR45O7dThTDvuvLwjSJVmvLSkq46k
gZHfZ9LMgzELmMiSlI3lfy4vFOYCzbEXRXJoXYjvn9OKINr1ONrp3CSj0Df1bL+W
sJI2WoKEP020HHHmFQw70uv6at6lzCsZXELOzd1Nop8g75FyH3J9jJaWw3CqcaUY
KAyPUSi2CA7kr1hgnL9EvzekToL85G4uCqKS1qk4vv/sNaxT0N0i7OxZkWbV7nBe
LksTimFQpkGwxfcS29tAKR7NxG1OX/p81ZrBw66tvV3zlBFchQzjBof+dZBj1Lve
x/XGWb990bZCmr0XtPg=
=T8/g
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Maxima-discuss mailing list
Maxima-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/maxima-discuss