If ~.!.1 is used, then how would we denote a -. operating on sorted
arguments?
I build the hash table concurrently, using a multiprocessor; this means
the elements are processed out of order. Two ways of proceeding, not yet
sure which is better. The first is for each thread to accumulate the
unique values it finds to a temporary buffer; once the hash table is
completely built, the threads negotiate and then copy their buffers into
the result. The second is to logically divide the hash table into
fixed-size chunks of buckets, and to track, for each chunk, how many of
its buckets are occupied; once the hash table is completely built,
associate each chunk of the hash table with a (non fixed-size) section of
the result, and copy the elements out.
The former method does work concurrently with building the hash table,
which alleviates contention, but the latter method uses less space.
On Sat, 9 Apr 2022, Henry Rich wrote:
I would favor ~.!.1. No mnemonic value, but less likely to be forgotten.
What is your fast algorithm?
Henry Rich
On 4/9/2022 4:03 AM, Elijah Stone wrote:
Suppose that ~. (and perhaps some relatives) can be implemented much
more efficiently if no guarantee is made about the order of the
result. Is it too much of an abuse of notation to use ({~?~@#)@~. as
a special combination to invoke such an algorithm? If so, what would
be better?
Most special combinations would not incur a performance penalty vs an
alternate expression of the same semantics on an implementation which
did not recognise special combinations. But I cannot think of any way
of expressing ambivalence regarding the order of a result other than
shuffling it.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
--
This email has been checked for viruses by AVG.
https://www.avg.com
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm