> Is there any chance the sample data you used was pushing your
> machine into swap?
I doubt it. I have 2.5GB of physical memory, and watching taskman during the
execution showed that memory wasn't the bottleneck (i.e. memory was far from
pinned).
What's odd is that I have a dual core CPU, and both cores showed activity (~60%
each). Isn't J single threaded? If so, then how come both "CPUs" showed
activity? Maybe the OS was using both to shift memory around?
In any case, my results are also repeatable. Just to be sure, I shut down
every process except J and taskman and re-ran the tests a few times. So, the
differences are real; I don't know what could cause them.
Let's try to calibrate. First, let us know what environment you're running
under. Mine is:
OS: Windows XP Professional v 2002, Service Pack 2
CPU: Pentium 4, 3.20 GHz/3.19 GHz (dual core)
RAM: 2.50 GB
J: j601/2006-11-17/17:05 (601c) using jconsole -jprofile
So, if you haven't already, download and install J 6.01c. Then, shut down
every process you can, and run jconsole -jprofile .
In that console, run the following lines, which are the same as before, except
that I've replaced ? with ?. so that our dataset will be the same.
9!:12''
6
9!:14''
j601/2006-11-17/17:05
coord0 =: $ #: I.@,
coord1 =: ;@:(i.@:}:@:$ ,.&.> <@I.)
b =: ?.@:$&2
ts =: 6!:2 , 7!:2@:]
fmt =: [: ,.&:>/ [: }.@:, (<4 1 $ ' ') ,. (;:'Name Time Space')
,&.> '-' ,&.> [: <@:>"1@:|: [ ,. '0.3d' 8!:0 ] %"1 <./@:]
M =: b 1000 10 10 100
r =: 20 ts&> ' M' , L:0~ fn =. coord0`coord1
fn fmt r
Name Time Space
------ ----- -----
coord0 1.512 1.380
coord1 1.000 1.000
-Dan
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm