Does anyone have experience of comparing the performance between a PC
with a quad core versus one with a dual core?
Namely, what are the circumstances when I would really notice the difference.
I did some simple tests based on %. (matrix inversion - see below)
which suggest that dual core means:
two simultaneous CPU intensive sessions need 50% more time as when run singly.
(My windows task manager shows the two J sessions with 50% CPU).
three simultaneous CPU intensive sessions need 100% more time as when
run singly.
(My windows task manager shows the three J sessions with 34% CPU).
The 7!:2 call reports that each run needs 268Meg of memory.
As my machine has more than 3G of Ram I would like to think that the
measurements are effectively excluding disk io. i.e. all sessions were
in memory simultaneously.
Can someone who has a quad core repeat the experiment?
(I repeated the experiment so that each run used 60Meg of (foo 1000)
and the results were consistent.)
The function foo is CPU intensive - it just inverts a random square
matrix and returns the time taken.
Its second line is a 5 second delay so that I can quickly move to the
other J sessions and kick them off one after the other.
foo=. 3 : ('del=.5';'st=.del+6!:1
i.0';'6!:3[del';'%.?(y,y)$1e7';'2(1!:2)~st-~6!:1 i.0')
With one J session
7!:2'foo 1500'
15.641 NB. Time
268438208 NB. Space used
With two simultaneous J sessions
7!:2'foo 1500'
23.953 NB. Time
268438208 NB. Space used
With three simultaneous J sessions
7!:2'foo 1500'
34.406 NB. Time
268438208 NB. Space used
Machine details:
(Windows 32bit XP,sp3; J602; 4G of Ram and pagesize file reported as 5G)
Regards
David
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm