It is highly probable that the y used in the benchmarks
has distinct items, and the x has duplicate items.

My current judgment is that *./@~: is fast and lean enough
without special code.



----- Original Message -----
From: bill lam <[EMAIL PROTECTED]>
Date: Tuesday, December 11, 2007 19:03
Subject: Re: [Jprogramming] test for unique
To: Programming forum <[email protected]>

> Thanks to Roger and Ross for suggestions.  I also think 
> that benchmark timing 
> will be slightly different if all items are in fact unique.
> 
> Any chance to make special code for *./@~: ?
> 
> Roger Hui wrote:
> >    ts=: 6!:2 , 7!:[EMAIL PROTECTED]
> >    x=: 1e6 [EMAIL PROTECTED] 1e6
> >    y=: 1e5 2 5 [EMAIL PROTECTED] 10
> >                      
> >                        x                      y
> > *./@~:         
> 0.121303 2.09824e6    0.0421528 1.18099e6
> > i.~ -: i:~     0.421557 
> 1.25841e7    0.109147  2.09856e6
> > # = [EMAIL PROTECTED]       0.12831  
> 5.24390e6    0.0542237 5.24416e6
> > -
> :~.           0.133318 5.24358e6    0.0622004 5.24384e6
> > 
> > The monads i.~ i:~ ~: ~. use the same underlying algorithm,
> > so the efficiency boils down to details of the representation 
> and how
> > you work with the representation.  
> > 
> > 
> > 
> > ----- Original Message -----
> > From: Roger Hui <[EMAIL PROTECTED]>
> > Date: Tuesday, December 11, 2007 9:15
> > Subject: Re: [Jprogramming] test for unique
> > To: Programming forum <[email protected]>
> > 
> >> The problem can be solved in many ways.  If efficiency 
> is a 
> >> concernyou'd have to do some benchmarks to see which one is 
> more 
> >> efficient.
> >> *./@~:
> >> i.~ -: i:~
> >> # = [EMAIL PROTECTED]
> >> -:~.
> >>
> >> My guess is that the first one is the most efficient.
> >>
> >>
> >>
> >> ----- Original Message -----
> >> From: bill lam <[EMAIL PROTECTED]>
> >> Date: Tuesday, December 11, 2007 7:36
> >> Subject: [Jprogramming] test for unique
> >> To: Programming forum <[email protected]>
> >>
> >>> Any suggestion for a good phrase for testing whether all 
> items 
> >>> are unique?
> >>> eg.
> >>>     unique 2 3 1
> >>> 1
> >>>
> >>>     unique 4 2$'ABC'
> >>> 0
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to