Appreciated information, I had realized (correctly, I hope) that re-analysis of data type and shape is the big time trouble of unboxing, but I had not realized ... the other story with @. However, Simply following Dan Bron's rule to use @: unless you know you need @ has helped me.
Date: Sat, 30 Sep 2017 13:20:50 -0400
From: Henry Rich<[email protected]>
To:[email protected]
Subject: Re: [Jprogramming] Tacit Expressions with Explicit J Syntax
Message-ID:<[email protected]>
Content-Type: text/plain; charset=utf-8; format=flowed
...
What is that overhead?  In your examples using @, (1) parsing and (2)
bookkeeping.
Parsing: (3 :'-y')@- v is slow partly because every sentence of an
explicit entity is parsed anew when the sentence is executed.  Thus the
sentence '- y' is parsed repeatedly.  In
-@- y  the verb, -@-, is parsed once.

Bookkeeping: every J noun can be an array with any type.  Every time you
start a verb, each argument must be analyzed.
(3 :'-y')@- v  starts 3 verbs for each cell: -, (3 :'-y'), and - again.
The - starts are quick, because they follow an optimized path for
arithmetic on singletons. (3 :'-y') is another story: starting an
explicit definition means getting ready for control structures, creating
a namespace, initializing the names xymnuv, and a bit more.  That's
where most of the time is being spent.
-@- starts just the 2 verbs - and -, each of which is fast.

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to