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