Huh?

a. In this sequence of msgs y has been a Boolean
vector, in which case you need to divide by
(#y) rather than (4*#y).  If you are using a
different y please tell me what it is.

b. I don't understand how your results show that
calibration is required.  If anything it shows
that calibration gives the wrong answers.



----- Original Message -----
From: Oleg Kobchenko <[EMAIL PROTECTED]>
Date: Friday, December 22, 2006 8:54 am
Subject: Re: [Jprogramming] Cycles per Byte

> OK. Next is N]\y,   N<0
> 
>   (4*#y) %~ 1.45e9 * 6!:2 '_2]\y'   NB. 2.8 GHz calibrated
> 0.737346
> 
> I specifically reproduced the results for
> $ and + to show that the clock rate does not
> reflect time without calibration.
> 
> 
> --- Roger Hui <[EMAIL PROTECTED]> wrote:
> 
> > "The first thing we do, let's kill all the lawyers."
> > -- W. Shakespeare, Henry VI, Part II, Act 4, 
> >    Scene 2, 71-78.
> > 
> > f depends on the value of every byte of its
> > arguments.  Moreover, functions that merely
> > increments or decrements reference counts are
> > excluded, in particular the monads < > ] [ and
> > the dyads ] [ ; are excluded.
> > 
> > You should not have to calibrate the rate.
> > A higher GHz rating g should have resulted in
> > a smaller time result from 6!:2 and the product  
> > g * 6!:2 'blah'   should work out to be the same.
> > Numbers for   n %~ g * 6!:2 'blah'  on different
> > machines permit comparisons on how efficient
> > the machines are.
> > 
> > 
> > ----- Original Message -----
> > From: Oleg Kobchenko <[EMAIL PROTECTED]>
> > Date: Thursday, December 21, 2006 9:12 pm
> > Subject: Re: [Jprogramming] Cycles per Byte
> > 
> > > My champion so far is ]y
> > > 
> > >   (1*m) %~ 1.485e9 * 6!:2 'm$0'   [ m=: 1e7
> > > 2.3605
> > >   (4*#x) %~ 1.45e9 * 6!:2 'x+y'
> > > 2.68411
> > >   (4*#x) %~ 1.45e9 * 6!:2 ']y'
> > > 0.000273429
> > > 
> > > Note to callibrate the rate, I have to use
> > > g=1.485e9 or so on P4 2.8GHz.
> > > 
> > > 
> > > --- Roger Hui <[EMAIL PROTECTED]> wrote:
> > > 
> > > > Let f be a function that depends on every byte of
> > > > its argument(s).  >:y and x+y are examples of
> > > > such a function, and {.y is not.  The number of 
> > > > cycles per byte (CPB) for f is 
> > > >    n %~ g * 6!:2 '  f y'
> > > >    n %~ g * 6!:2 'x f y'
> > > > where n is the number of bytes in dense x, y, 
> > > > or the result x f y, whichever is the greatest;
> > > > and g is the clock rate of the CPU.
> > > > 
> > > > For example, on an ordinary (not overclocked) 
> > > > 2.2 Ghz AMD 3200+ machine,
> > > > 
> > > >    (1*m) %~ 2.2e9 * 6!:2 'm$0'   [ m=: 1e7
> > > > 2.34726
> > > >    (4*m) %~ 2.2e9 * 6!:2 'm$2'   [ m=: 1e7
> > > > 2.3531
> > > >    (8*m) %~ 2.2e9 * 6!:2 'm$0.2' [ m=: 1e7
> > > > 2.35242
> > > > 
> > > > The CPB for $ is approximately 2.35.
> > > > 
> > > > Some others:
> > > > 
> > > >    x=: 1e7 [EMAIL PROTECTED] 2
> > > >    y=: 1e7 [EMAIL PROTECTED] 2
> > > >    (#x)   %~ 2.2e9 * 6!:2 'x+.y' 
> > > > 4.85849
> > > >    (4*#x) %~ 2.2e9 * 6!:2 'x+y'
> > > > 2.69899
> > > >    (4*#x) %~ 2.2e9 * 6!:2 '/:x'
> > > > 6.04693
> > > >    (#x)   %~ 2.2e9 * 6!:2 '/:~x'
> > > > 3.09869


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

Reply via email to