[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:000716] Re: NumArray



��Ƿ��Ǥ���

> ����, FIP ��ë�����󤫤�Ҳ�Τ��ä����夵��Ǥ���, ruby �˴���Ƥ��
> �����Ȥ�ޤ��, �ޤ��ϰʲ��Τ褦�����Ƥκ�Ȥ���ꤷ�ޤ���. 
> 
> 1. �����շ�����ä� NumArray ��ȤäƤߤ�. 
> 
> 2. NumArray ��Ʊ�ͤʥѥå�������, ruby ���ߥ�˥ƥ��Ǥϸų��� NArray
>    ��ʿ�Ԥ��ƻȤäƤߤ�. 
> 
> 3. �ѥե����ޥ󥹤ˤⵤ���ۤ�ʤ��餽�줾��λȤ��������𤷤Ƥ�餦.
> 
> ���������夬�äƤ��뤳�Ȥ⤢�뤫�Ȼפ��ޤ���, �ߤʤ������������ꤤ��
> �ޤ�. 

�٥���ޡ����ˤϡ�ruby �Υۡ���ڡ����Ρ֥��������֡פˤ���
benchmark �Ȥ����ѥå������������Ǥ������󥹥ȡ����
/usr/local/lib/ruby/site_ruby/1.6/
���Ρ��ѥ����̤ä��ǥ��쥯�ȥ꡼�˥��ԡ���������Ǥ���

��ñ�ʥ٥���ޡ�����̤����ꤷ�ޤ���NArray vs NumArray vs
Fortran90 (compiler: Fujitsu) vs C (compiler: gcc) �Ǥ���
�������켰��ź�ա���̤ϰʲ��Ǥ���"shisoku" ����ʬ�� Fortran90,
C �Ȥ���ӤǤ��ޤ���

  % cd benchmark/
  % ./Bench
  #### NArray vs NumArray ####
  shisoku
    0.390000   0.130000   0.520000 (  0.522238)  <-- 1���ܤ�NArray
    0.540000   0.070000   0.610000 (  0.608763)  <-- 2���ܤ�NumArray(�ʲ�Ʊ��)
  shisoku (with scalar)
    0.400000   0.000000   0.400000 (  0.396140)
    0.530000   0.000000   0.530000 (  0.523714)
  shisoku (with scalar, coerced)
    0.400000   0.000000   0.400000 (  0.410367)
    0.530000   0.000000   0.530000 (  0.536637)
  math
    2.690000   0.000000   2.690000 (  2.743106)
    2.700000   0.000000   2.700000 (  2.840096)
  sum, av, var, rms
    0.120000   0.000000   0.120000 (  0.119765)
    0.130000   0.000000   0.130000 (  0.124949)
  max, min, median
    0.000000   0.000000   0.000000 (  0.000047)
    0.000000   0.000000   0.000000 (  0.000047)
  transpose
    0.370000   0.000000   0.370000 (  0.367455)
    1.860000   0.000000   1.860000 (  1.858422)

  #### shisoku in Fortran90 (10 iterations of +-*/) ####

  real        1.2         <--   10�󷫤��֤��Ƥ�Τǡ������Ӥ���
  user        1.0         <--   ����ˤ�10ʬ��1�ˤ���
  sys         0.0
  #### shisoku in C (10 iterations of +-*/) ####

  real        1.8         <--   10�󷫤��֤��Ƥ�Τǡ������Ӥ���
  user        1.7         <--   ����ˤ�10ʬ��1�ˤ���
  sys         0.1

��Ӥˤ� 100*100*100 �Σ����������Ȥ��ޤ�������C�������ݤ��ä�
�Τ� 1000,000 ��1�������󡣡�
��§�黻�Ǥ� NumArray �� NArray �������٤��Ǥ���
������ NArray/NumArray ���֥������Ȥ���ɬ�פ��ʤ� "sum, av,
var, rms" �� ��ʬ�ǤϤۤȤ�ɺ����Ĥ��ʤ��Τǡ����κ��Ͽ����֥���
���Ȥ� allocate ������֤ΰ㤤�ǤϤʤ�����ͽ�ۤǤ��ޤ���

ruby �Τ���Υ����Хإåɤ�ʤ��褦 C �Ƿ׻�����ȡ���§�黻�˴�
����NArray �Ǥ�� C ���ܤ��餤���֤������äƤ��뤳�Ȥ��狼��ޤ���

�ʾ塢������礭���������ȷ�̤��㤦�Ǥ��礦��������ϥ����ƥ�
�ƥ��å���Ĵ�٤�٤��Ǥ�������äƤޤ��󡣤ޤ�����ʬ������ڤ��
���������������������ʥ᥽�åɤˤĤ��Ƥ�Ĵ�٤Ƥߤ����Ȥ����Ǥ���
�ޤ���¾�Υץ�åȥե�����ǤΥƥ��Ȥ��ߤ����Ǥ������夵��ˡ���
�Ԥ��ޤ���

��Ƿ�� ��                    horinout@xxxxxx
�������������Ȳʳظ��楻�󥿡�        phone:0774-38-3812  
611-0011 �����Ըޥ���                     fax:0774-31-8463