[Jprogramming] A few general questions from a wannabe J-er

Joey K Tuttle jkt at qued.com
Mon Mar 31 11:59:13 HKT 2008


Mattia,

Your enthusiasm is refreshing - more than 10 years ago, I presented a 
paper about dealing with "large" data sets using j - you can read it 
at

   http://www.jsoftware.com/papers/tuttle.htm

and there are several other interesting papers, including some about 
dealing with large collections of data at

   http://www.jsoftware.com/jwiki/Articles

Of course, what were large data sets in 1996 can be easily done in 
memory these days... After my talk in 1996, I continue to use j to 
look at largish collections of data - but none of the magnitude you 
speak of. Memory mapped files are a very powerful tool, and a 64 bit 
system should allow you to work directly with your large data sets - 
depending on how the files are organized, mapping can make provide "j 
like" structures that are pleasant to work with. If your files are 
encoded as relational databases, they may be difficult to process 
directly - but  sometimes even such encoded files can be handled 
directly.

You are likely to get more opinions and answers if you give some 
example data and the kinds of analysis you want to perform. I assume 
you have discovered and experimented with things like aggregation /. 
in j. You would probably have to use some chunking of data to process 
the 7-13 Bbyte collections, but given generous memory and fast IO you 
should get good performance - guessing what the times might actually 
be is quite beyond me, but again, if you give some example data and 
what you are trying to extract, some forum members may have actual 
experience to speculate about your performance questions.

One thing that is almost always true is that finding good algorithms 
is important to avoid brute force (long/slow) solutions...

- joey


At 23:24  -0400 2008/03/30, Mattia Landoni wrote:
>Hi all,
>
>this is a narrowed-down version of an email I just sent to the general list
>with the same subject
>
>I am an economist and I discovered J a few days ago. I haven't been so
>excited since when I was 13 and Santa brought me an 8-bit Nintendo
>Entertainment System. Yet before taking a week off from work to study J
>(just kidding) I would like to be sure it does everything I need. Here is
>what concerns me the most.
>
>- How does J deal with very large datasets? currently I am dealing with a
>65-Gb dataset. So far only software I can use is SAS. Performing an SQL
>query [SELECT, GROUP BY] in SAS on a dedicated server takes me six hours, of
>which a large part of the time is network I/O (I guess SAS's computing time
>would be an hour, perhaps two). The data is divided in 7 chunks of 7 to 13
>Gb each. Having the same amount of data on a good computer, would I be able
>to perform the same operations with J? Assume plentiful RAM and speedy
>processor: what's the order of magnitude of the time it would take?
>- I read something about memory mapping in past posts and I intuitively
>understand what it means but I never did it. What are the limits of memory
>mapping? In general, what are the techniques to deal with large datasets?
>
>Any answer, hint, link,... most welcome.
>
>Mattia
>
>--
>Mattia Landoni
>1201 S Eads St Apt 417
>Arlington, VA 22202-2837
>USA
>Greenwich -5 hours
>
>Office: +1 202 62 35922
>Cell: +1 202 492 3404
>Home: +1 360 968 1684
>
>Govern a great country as you would fry a small fish: do not poke at it too
>much.
>-- Lao Tzu
>----------------------------------------------------------------------
>For information about J forums see http://www.jsoftware.com/forums.htm



More information about the Programming mailing list