From owner-FreeBSD-users-jp@jp.freebsd.org  Wed Jan 29 22:51:21 1997
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta4/8.7.3) id WAA27489
	Wed, 29 Jan 1997 22:51:21 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta4/8.7.3) with SMTP id WAA27482
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 29 Jan 1997 22:51:18 +0900 (JST)
Received: from ns.trl.ibm.com ([9.116.1.23]) by dino.trl.ibm.co.jp (5.65c/2.7We)
	id AA03555; Wed, 29 Jan 1997 22:52:42 +0900
Received: from ayame.trl.ibm.com by ns.trl.ibm.com (AIX 3.2/UCB 5.64/TRL4.3SRV)
	id AA144153; Wed, 29 Jan 1997 22:49:45 +0900
Message-Id: <9701291349.AA144153@ns.trl.ibm.com>
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: Your message of "Wed, 29 Jan 1997 17:01:41 +0900"
References: <199701290801.RAA06175@puutalo.geo.titech.ac.jp>
X-Mailer: Mew version 1.54 on Emacs 19.28.1, Mule 2.3
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Date: Wed, 29 Jan 1997 22:49:46 +0900
From: Kenichi Okuyama <okuyama@trl.ibm.co.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=19]
X-Sequence: FreeBSD-users-jp 9242
Subject: [FreeBSD-users-jp 9242] Re: performance on numerical calculation depends
	 on shells?
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org

$B1|;3!w#I#B#M$G$9!#(B
>>>>> "$B>.NS(B" == Naoki Kobayashi <shibata@geo.titech.ac.jp> writes:
$B>.NS(B> $B!N<ALd$NMWE@!O(B
$B>.NS(B> $B?tCM7W;;B.EY$O(B shell $B$K$h$C$F(B 2 $BG\DxEYJQ$o$j$&$k$+!)JQ$o$k$H$7$F$=$NM}(B
$B>.NS(B> $BM3$r65$($F2<$5$$!%(B

shell $B$K$h$kB.EY:9$OIaDL$"$jF@$^$;$s!#FC$K$3$NNc$N$h$&$K(B foreground 
$B$G<B9T$7$F$$$k>l9g$K!"(Breal sec $B$G(B 50 $BIC$b$A$,$&$H$J$k$H0[>o>uBV$G$9!#(B

$B$H$j$"$($:!"$=$&$$$&$3$H$OK:$l$F!"LdBjE@$rNs5s$7$^$9!#(B

$B>.NS(B> ---------------------------- nbody.c --------------------------------
$B>.NS(B> #include <math.h>
$B>.NS(B> #define nx N
$B>.NS(B> #define ny N
$B>.NS(B> #define nz N
$B>.NS(B> #define n nx*ny*nz

$B>.NS(B> int main() {
$B>.NS(B>   double m[n];
$B>.NS(B>   double rx[n], ry[n], rz[n];
$B>.NS(B>   double ax[n], ay[n], az[n];
$B>.NS(B>   double tmp;
$B>.NS(B>   int ix, iy, iz, i, j;

$B5pBg$JG[Ns$r(B stack $B$K<h$C$F$$$k$3$H$KLdBj$,$"$k$H$*$b$$$^$9!#(B
stack $B$O!"4pK\E*$K5/F0;~$K$O$"$k0lDjNL$G<h$C$F$*$j!"$=$l0J>e$NNL$rMW(B
$B5a$5$l$k>l9g$O(B segmentation fault $B$r8!=P$7$F!"(Bstack area size $B$r3HD%(B
$B$9$k!"$H$$$&=hM}$r7+$jJV$7$F$$$k$O$:$G$9!#%"%/%;%9=g=x$K$h$C$F!"$3$N(B
$B3HD%$,$a$A$c$a$A$c$J=g=x$GH/@8$7$F$7$^$$$^$9!#$3$N$h$&$J>l9g?tCM7W;;(B
$B$h$j$b(B $B2>A[6u4V$N4IM}$N$[$&$KB?$/$N(B CPU time $B$r<h$i$l$+$M$^$;$s!#(B

$B<!$K!"$3$l0J9_$N%W%m%0%i%`$K$*$$$F!"$"$k(B i $B$KBP$7$F!"(B
{rx[i], ry[i], rz[i]}
{ax[i], ay[i], az[i]}
$B$O$=$l$>$lO"B3$7$F%"%/%;%9$,<B9T$5$l$^$9!#(B

$B$3$N>l9g!"$3$l$i$r$R$H$^$H$a$K$7$F6a$$%a%b%j%(%j%"$K%^%C%W$9$k$h$&$J(B
$B%G!<%?9=B$$r$H$k$[$&$,%-%c%C%7%e%R%C%HN($,A}Bg$7M-Mx$G$9!#(B

$B>/$/$H$b(B

struct three_d {
	double	x, y, z;
};

struct three_d r[n], a[n];

$B$N$h$&$K%G!<%?3JG<NN0h$r3NJ]$7!"(B

$B>.NS(B>   /* set position */
$B>.NS(B>   for (ix = 0; ix < nx; ix++) {
$B>.NS(B>     for (iy = 0; iy < ny; iy++) {
$B>.NS(B>       for (iz = 0; iz < nz; iz++) {
$B>.NS(B> 	i = ix + nx * (iy + ny * iz);

	r[i].x	= (double)ix / (double)nx;
	r[i].x	= (double)iy / (double)ny;
	r[i].x	= (double)iz / (double)nz;

$B>.NS(B>       }
$B>.NS(B>     }
$B>.NS(B>   }

$B$J$I$N$h$&$K%3!<%I$rAH$`J}$,!"$3$N>l9g$OAa$/$J$k$H;W$$$^$9!#(B
----
$B1|;3(B $B7r0l(B@$BEl5~4pAC8&5f=j(B.$BF|K\#I#B#M(B($B3t(B)[$BFzLn#F#C(B:No.0000000015]
http://karin.ip.titech.ac.jp/~okuyama/index.html
#$B:#F|$N$*8@MU!X$$$i$$$i$$$i$$$i!Y(B:$BCY$$CY$$CY$$$C(B!$BH?1~$,CY$$$C(B!
#$B?@F`@n8)$H<"2l8)$H$G$NDL?.$ON.@P$KCY$$$C(B!
