Multi-core is pretty easy to do at a "coarse-grained" level using J.  I
gave a pretty complete example in my talk at the J Conference last year:
http://www.jsoftware.com/jwiki/Community/Conference2012/Talks/ParallelSimulationInJ.


On Thu, May 30, 2013 at 10:09 AM, Roger Hui <[email protected]>wrote:

> Functions for which there is a function in the C library will invoke the C
> library function: sin, cos, exp, log, etc., usually with some surrounding C
> code to implement J requirements.  The monad o. (pi times) uses
> "*zv++=pi**wv++;" where zv is a pointer to the result and wv is a pointer
> to the argument and pi is a "double" scalar with the appropriate value and
> is, I expect, as fast as what you can do in C.
>
> As well, Appendix B of the
> dictionary<http://www.jsoftware.com/help/dictionary/special.htm>and
> the links in that page give you an idea of the optimizations that have
> been worked on.  In particular, functions with "integrated rank support"
> (listed under f"r), including the so-called scalar functions (+ - * % >. <.
> etc.) are quite fast and should be competitive with any other language.
>
> There is as yet no exploitation of multicore.
>
>
>
> On Thu, May 30, 2013 at 5:34 AM, Robert Herman <[email protected]>
> wrote:
>
> > Yes, different tools do make you see the same problem from different
> > angles. I am trying to repeat my exercises in J also in Mathematica and
> > vice-versa. Some colleagues are saying I should learn F#, however, I
> find J
> > to be more mind-opening in the sense that I have dabbled with some
> > functional languages and you can do functional in J too.
> > My speed question is not simply a general benchmark question. I am
> curious
> > on how things work beneath the IDE and the J scripts. For instance, how
> pi
> > or 'o. 1' is implemented. Is it calling a C routine that uses a standard
> > way of calculating pi? Or Sin (1 o. 1r3p1 = 0.866)? I am not a HFT
> looking
> > to shave calculation times by milliseconds (nanoseconds?), but when I
> > dabbled with the programming language Oz, some calculations took minutes!
> > Thanks again.
> >
> > Rob
> >
> >
> > On Wed, May 29, 2013 at 8:34 PM, Raul Miller <[email protected]>
> > wrote:
> >
> > > I do not fully understand your questions, but if I were learning math,
> > > I would try to keep using both tools.
> > >
> > > The issues, in my mind include perspective (different tools reveal
> > > different aspects of issues) and accessibility (when you are learning
> > > you will need to draw as many useful connections as you can).
> > >
> > > Put differently, on the one hand you have limited time to figure
> > > things out and it takes time to express things in multiple ways, but
> > > on the other hand it's the process of figuring out how to express
> > > things in different ways that constitutes learning maths.
> > >
> > > That said, J doesn't inherently use libraries (other than the standard
> > > C libraries) but can use things like LAPACK.  It's not LAPACK support
> > > is built into J but that the interpreter allows you to reference
> > > arbitrary shared libraries (or DLLs on windows).  [So, for example,
> > > it's possible to have a J script which includes compiled C, finds and
> > > runs a C compiler on it [assuming one is available], then links to the
> > > result. This isn't implementation pattern particularly common though,
> > > because using external libraries means that they can crash and take
> > > down your J session with it. It's also possible to run such libraries
> > > in an external program, of course - including a copy of your J
> > > session.]
> > >
> > > Meanwhile, for speed... it is very difficult to make generally valid
> > > statements here. Expect some things to be faster on one system and
> > > others to be faster on another. Expect also that choices you make will
> > > have disproportionate influences on speed.
> > >
> > > --
> > > Raul
> > >
> > > On Wed, May 29, 2013 at 1:39 AM, Robert Herman <[email protected]>
> > > wrote:
> > > > I am trying to evaluate J for doing mathematics vs. Mathematica. I
> own
> > > the
> > > > Home edition of Mathematica. At the moment, I am trying to teach
> myself
> > > > higher maths with an eye towards completing my maths degree online. I
> > > never
> > > > finished my degree many moons ago. I like the notebook structure and
> > > > multi-paradigm approach in Mathematica, but I am gravitating towards
> > J's
> > > > succinctness and analogy to learning it's symbols akin to
> mathematics'
> > > > symbols. Iverson's 'Notation as a Tool of Thought' really grabbed me.
> > My
> > > > latest curiosity about J, if I understand it correctly, is that J is
> > > > provided as an executable for several platforms. That it was written
> in
> > > C.
> > > > Now, does it implement standard c maths libraries optimized for speed
> > and
> > > > accuracy? How does the linux version compare to Mathematica in terms
> of
> > > > doing certain operations, say large arrays, for signal processing,
> > from a
> > > > time and numerical accuracy index? Where can I find a listing of the
> > > > libraries it uses, in the source headers? Thank you.
> > > >
> > > > Rob
> > > >
> ----------------------------------------------------------------------
> > > > For information about J forums see
> http://www.jsoftware.com/forums.htm
> > > ----------------------------------------------------------------------
> > > For information about J forums see http://www.jsoftware.com/forums.htm
> > >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>



-- 
Devon McCormick, CFA
^me^ at acm.
org is my
preferred e-mail
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to