数学建模社区-数学中国

标题: 极限测试之Matlab与Forcal有无JIT加速器的比较 [打印本页]

作者: forcal    时间: 2011-8-2 07:31
标题: 极限测试之Matlab与Forcal有无JIT加速器的比较
1、简单循环
  A) Q) z( l3 V
6 N- U5 l* b# G1 f: d+ f& c1 VMatlab 2009a在运行以下代码时使用了JIT加速器,获得了和C/C++近乎相同的运行速度:
  1. clear all
    ! h( l% M/ k! J- V- s5 Z1 s
  2. tic
    " o/ H! ~  c5 N4 ~
  3. s=0;- K  L+ p; S" h( n$ Y5 _7 f
  4. for k=1:10000: N4 d5 H! e- ?5 d  n8 g
  5.   for i=1:1000
    / f, H6 U8 L5 k& X' z* }! u, Z
  6.     s=s+1;- I3 C" e1 A# ]; f3 |
  7.   end
    ) l2 p; o, Q  k& t) K0 u  x
  8. end+ O4 b! S* H( |
  9. s( S& `, U4 Z! Q  n( F
  10. toc& i; J# ^7 f6 J% w2 @* Y1 M- Q

  11. 5 h. D) D! W4 e: {
  12. s =' L! X8 Z( R" U6 f& b

  13. & c3 V6 K+ T& V- U
  14.     10000000# D# L- v: }. y. k& M; y9 a

  15. 0 q2 s- f/ O# v- ]9 }9 E
  16. Elapsed time is 0.092808 seconds.
复制代码
============
( g& P. Z7 N9 u' `# N+ X% N$ t* |6 ^) @" @
Forcal没有JIT加速器,代码:
  1. !using["sys"];
    6 a7 F- q  Q7 M6 v$ m& y; `
  2. mvar:4 }! G+ f4 Y- M. W9 N' Y8 k: Z# Z
  3. t0=clock(),' r, [7 S% x! G# a9 h7 w- D6 X
  4. s=0,
    & |' m+ }0 b( _: J% F) a
  5. k=0, while{k<10000,7 z; C# h3 L- g) V: j# ?4 u
  6.   i=0, while{i<1000,s=s+1, i++},& c( e/ x; `0 S& h5 m
  7.   k++  E& d, {1 I: x/ B2 M, ]2 Z! D
  8. },9 v/ u6 V5 L9 t6 v1 o; m, i8 s
  9. s;7 D1 Q' z1 i; l  |
  10. [clock()-t0]/1000;
复制代码
结果:# ^! N; l$ L* |' @! B8 v6 K
10000000.' U8 M& @& P2 Q. x$ e
0.704  秒
; U; i1 y8 e0 G3 H  k. W. N( K& N" c+ G2 T
二者运行效率相差7倍多。
5 o. w9 J# s2 l+ t; `# P1 ?  ]! [# l5 B, W3 @
2、循环中稍微加点东西
' l1 [9 N0 j" ]4 W2 G( O) L1 {. T8 r
Matlab代码:
  1. clear all
    * [0 ~3 {; C$ \3 X
  2. tic
    % }/ K* U+ X+ g7 v: j: H
  3. s=0;: E0 a6 O3 @- X; u2 G
  4. for k=1:1000
    0 l; o) S; O* k$ M6 E* n
  5.   for i=1:10006 Y0 g+ U% p/ _) \1 [
  6.     s=s+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i);
    6 N, R1 p5 ~% o9 J6 Q
  7.   end
    % a5 o6 Y8 G* L  M! P
  8. end
    * d- Z7 m- n7 _1 v
  9. s: f& Z" E  D) }0 W7 r% ?
  10. toc
    # R# M5 u( E5 e
  11. 7 z' c5 D2 u; p# g
  12. s =
    7 [5 x+ N2 v" a  W

  13. 9 ]- {* \' s3 z
  14.   1.1009e+007; s# k$ e* s9 q1 Y, o5 V

  15. 4 ~9 D% \" B  m( I6 F+ ?1 T
  16. Elapsed time is 0.727535 seconds.
复制代码
Forcal代码:
  1. !using["sys"];4 R$ h1 j5 _/ h" h
  2. mvar:
    0 D6 A: q  j4 t- z# P+ i
  3. t0=clock(),$ {/ C: ]* u6 j$ F
  4. s=0,
    ! g" [0 s& I1 P% r; e9 r% @
  5. k=1, while{k<=1000,
    + e  m( \$ x  T9 w. l% h8 [
  6.   i=1, while{i<=1000, s=s+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i), i++},
    & T8 v1 S( P4 Z/ v4 u! K
  7.   k++. ?1 A- Z! l) B2 G. ^
  8. },
    0 J% b( H2 m; h" Y& Q8 ~
  9. s;# L- ?4 J6 e, q  N; w
  10. [clock()-t0]/1000;
复制代码
结果:/ D, e7 n# ^: ~. N
11008953.66602346' u+ t6 \6 D4 ?1 c" X
1.031' f/ x9 Z. Q3 h" z$ B
, u7 U( K  V2 ]- w" l3 b5 f
二者效率相差已比较小。; W5 k1 @% F# U( x' ^* K. f# u
( t+ h' a- ^9 x
3、再增加一个函数调用
0 z5 v( \- K# p1 ?' y
5 l  ^! ?- C, D, y: p" o% jMatlab代码:
  1. clear all1 Y2 f6 B: m) |( O, F/ i& z4 O
  2. f=@(x)x+1;
    3 C; V* D1 C4 f( o: p* Q. _( e
  3. tic
    3 `* Q. c% C0 l" a
  4. s=0;
    , P3 \3 E) J7 ^2 D6 Z$ t) O# ]
  5. for k=1:1000' Q' u4 e6 @% k4 V
  6.   for i=1:10008 `) Y. n% S: R! g' f, l- b. N7 }
  7.     s=s+f(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i);5 c/ k! z$ `4 h" b5 v, i' B
  8.   end  B+ h" v2 ~9 D6 ^0 v
  9. end
    - u6 ]. s8 R2 f/ M" ]
  10. s
    ( Q0 O- a6 j; Z, G! D- M) ?
  11. toc; [2 L0 J% g: o3 j9 G

  12. 8 F9 ?8 O: C" a7 o' _& t% _
  13. s =
    * F) L) O1 b7 T/ K- z" }& d7 u

  14. 2 B7 P* J0 S8 j
  15.   5.1251e+0080 i$ o% q: S: ~

  16. ' A1 ^  m9 d2 s- [% u! l9 ?
  17. Elapsed time is 2.173128 seconds.
复制代码
Forcal代码:
  1. !using["sys"];
    1 r+ r. }: m- ^4 x3 Y! W# U. u
  2. f(x)=x+1;( q# s# I- @- B* ^) f0 f7 G
  3. mvar:& t9 Z8 w2 Q: @' i/ z; X! N- L
  4. t0=clock(),
    $ D9 Y2 k. D2 ^3 e" H& L; d
  5. s=0,
    ) J$ X$ _5 S. ~- D6 I
  6. k=1, while{k<=1000,+ i. b5 c7 n+ n3 ~; F" \1 T
  7.   i=1, while{i<=1000, s=s+f(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i)+1+sin(i), i++},8 N8 ^& e3 m3 ]; b- C, L
  8.   k++: |: V& f5 s" M# C+ _2 \
  9. },
    2 P- `, D! W& y4 u2 O
  10. s;
    $ n/ C, r& Y! j5 j- n- l/ n
  11. [clock()-t0]/1000;
复制代码
结果:
/ ?, X& Y$ Y+ G8 m512508953.66589935 h) m6 |: |4 u( N" \" v; O
1.078
3 m3 [. x4 p5 t# d) l- r3 Z' C3 }) \3 u( Y2 Y) V
可以看出,Matlab效率已不及Forcal。  B5 e; T# R  B7 j
故JIT加速器虽好,但效果似乎并不明显。
作者: 海水    时间: 2011-8-2 08:12

作者: forcal    时间: 2011-8-2 08:45
4、在JIT加速器下,Matlab的数组存取效率非常高0 B3 p/ B: J! D! W. T* p
1 l3 T" I$ a5 }7 K3 ^5 a1 v
Matlab代码:
  1. >> clear all
    3 e/ x' g( r, J9 c  V
  2. a = linspace(1,1,1000);5 d1 ~2 u  a2 U6 o# V1 s# s
  3. tic! n. j% L! A+ }- W2 I- P0 z: j
  4. for k=1:10000. c. j6 V) D; `7 c8 J* p
  5.   for i=1:1000$ Y4 Q( c! \( [7 p5 g& v
  6.     a(i)=2;
    & g7 x/ {' m9 J% L* D4 C
  7.   end$ x6 y" @3 P( H- m+ n
  8. end
    2 O" S$ t% y6 U3 ~* @7 W; x
  9. toc. |+ q1 N) P7 v! l8 ~" n% I

  10. ( l( b9 {1 x& X( |& Y9 I6 s
  11. tic( ^2 ~# u: Y4 d0 z+ N9 M
  12. s=0;0 Q5 |1 V$ C" e# W: n: [
  13. for k=1:10000- L2 `4 z$ a1 X: ~& \
  14.   for i=1:1000
    % G* ?# \; z. K; K# O
  15.     s=s+a(i);
    : o! |- u3 H: t  g  q7 O* X
  16.   end& P/ b* Q" ]( n7 G4 t0 S
  17. end
    2 Z6 \( [6 L, ^) F1 Y
  18. s- n. G3 c5 x  Z: |
  19. toc! |% _; c1 `0 N. s
  20. Elapsed time is 0.140658 seconds.; l& m+ Z" t, b5 K* g
  21.   R8 i" W2 R9 Q
  22. s =0 G  ~( {2 x: ]0 e* n

  23. * b6 d) H% g8 Q% P! P2 w! z% y6 G
  24.     20000000" }+ K- y3 j0 m- C; z/ r2 @

  25. + a. |6 A0 A( H' V& e; u
  26. Elapsed time is 0.091794 seconds.
复制代码
============
- j4 e# n) T$ z3 A
' z- t' l4 Q" f" i& wForcal代码:
  1. !using["math","sys"];0 N1 ]/ A! W% ~& K- Z/ |4 J/ `
  2. mvar:: b/ I) Q! L: o( t2 }: P
  3. main0(::a)=$ }6 {# `  ^" F0 G
  4. a = linspace(1,1,1000)," [7 [4 V: @/ J( b1 q
  5. t0=clock(),
    4 P9 [0 c2 b" i+ @- w& _4 Q# G
  6. k=0, while{k<10000,* f  V5 L$ J1 v4 u8 ~
  7.   i=0, while{i<1000, a(i)=2, i++},9 T/ [, H& }% A# D
  8.   k++  Z: D5 T7 L, x4 n/ l7 [4 w
  9. },% J9 b$ q, u" E# g2 h
  10. [clock()-t0]/1000;; v1 X: Z, C- e9 {; C; R
  11. ( _3 R: Y; g! e1 q, P. m5 P7 x
  12. main1(::a)=  T- i: c5 O+ x+ \
  13. t0=clock(), s=0,
    ' A0 |3 T0 r: t( M* e6 s) t
  14. k=0, while{k<10000,2 O: @* C7 @6 }
  15.   i=0, while{i<1000, s=s+a(i), i++},
    + O$ g, D  P5 g$ i3 h
  16.   k++: }% B% X1 p+ g+ h9 @4 v1 v" Z
  17. },; }, q+ R" c4 g/ @3 d) [% Q
  18. s;+ B1 b; b. L6 u  b7 Y) R( e
  19. [clock()-t0]/1000;
复制代码
结果:
0 ?. t# r  V8 |15.484  //存数据所用时间,秒4 S, v, k5 W. p# r
20000000.
, p, o. _' J6 Q/ b/ ^  p5.531   //取数据所用时间,秒
0 s( q" N/ Y5 j1 F+ l7 \; ]5 Q/ i' e5 g0 R
----------
* b- E' o# D7 V) e. z: u# [# G, t6 D" N3 Y' y) P! A
用函数sys::A()存取数组数据效率稍高些:
  1. !using["math","sys"];, k7 q7 G; O' D- x
  2. mvar:
    & s2 b, i% ^" B4 h' {1 L% v
  3. main0(::a)=# z3 b, D  K* e
  4. a = linspace(1,1,1000),
    ( Q( U' ]: W( y1 B. ?
  5. t0=clock(),* r" o- C$ Q5 _: I* k
  6. k=0, while{k<10000,) [7 c3 t- W0 Q( N9 r8 Y
  7.   i=0, while{i<1000, A(a,i)=2, i++},8 _5 u6 |( v6 q: R0 A3 p
  8.   k++
    , W1 n/ B8 B  J* A  S
  9. },
    * b& \6 Y: X" c
  10. [clock()-t0]/1000;% i' |; g8 S$ f" f/ Z  X5 D) Y
  11. " s: A  h$ D3 x  i
  12. main1(::a)=0 G: l" a- B& b. Y4 U
  13. t0=clock(), s=0,
    ! c% }1 T8 b; o- x
  14. k=0, while{k<10000,4 E3 p8 g9 E/ K" |% W
  15.   i=0, while{i<1000, s=s+A(a,i), i++},
    3 [7 J1 y4 G2 W) P9 U: q: w7 u$ @3 \
  16.   k++
    ' K2 z' d1 O5 c" O8 j
  17. },
    : M+ L/ j/ m  Q# _3 Z$ ?2 N$ j8 n& A
  18. s;1 j, F/ z: U4 N8 w5 ~
  19. [clock()-t0]/1000;
复制代码
结果:
0 g* |3 @' z2 s10.4690 i7 x& {3 t; {6 y' J; w0 L
20000000.7 p# l/ z! ~2 x  x. m% @' c
3.7815 d( N1 h- ^  I4 F
3 |" T! M7 {* C8 ?
-------* k! r6 a- g8 G5 G( B" P! ]

  ^& i$ i5 D2 k+ Y在不使用函数sys::A()时,Forcal存数组数据耗时与matlab之比约110:1,取数组数据耗时与matlab之比约60:1。# j6 C4 \0 V" N. ~7 u7 S
在使用函数sys::A(  )时,Forcal存数组数据耗时与matlab之比约75:1,取数组数据耗时与matlab之比约41:1。
; U, t' Z( I9 ]3 ~9 q7 i3 H  J+ N
8 C7 [5 {: a8 y) f- w" Dmatlab的JIT加速器对数组元素的存取效果是明显的,获得了与C/C++近乎相同的存取效率。* c4 y5 ^/ F5 S, f9 F- L2 X

3 Q7 H: ]; N" ~' l* Q) MForcal之所以存取比较慢,原因在于动态数组由扩展库提供,数组元素的存取由函数的层层调用来实现。不过,数组元素的存取效率体现了Forcal对扩展库中任意对象的存取效率。
- H$ R5 v/ O# t' o6 I9 |# V, @2 |( H/ S% d; }, d! i! {4 ]1 Q& f' l4 d) Y/ J+ }
5、在循环中加点东西5 C1 j* y# f/ r
: E1 b) v9 a/ L" M7 Q. W
matlab代码:
  1. >> clear all* E* @, r/ _. @$ g* t! D: Q; i
  2. f=@(x)x+1;
    3 [- T* k1 X& F
  3. a = linspace(2,2,1000);
    6 q/ E& N) J( i, d1 P/ I
  4. tic6 T+ v* n( b( K+ W' @+ C
  5. s=0;; \% ~. @' P1 T* K. v& _9 `7 e
  6. for k=1:1000/ U3 t  A# z+ N% `6 ]# A  M7 A
  7.   for i=1:1000. g2 n3 T/ S. z0 ^
  8.     s=s+f(a(i))+1+sin(a(i))+1+sin(a(i))+1+sin(a(i))+1+sin(a(i))+1+sin(a(i))+1+sin(a(i))+1+sin(a(i))+1+sin(a(i))+1+sin(a(i))+1+sin(a(i))+1+sin(a(i));- E7 l5 D3 W' c8 B! r- d8 R. H/ y
  9.   end$ p* ]" k6 u0 K! h1 K  U
  10. end3 K- t7 c2 }" d, y
  11. s
    # q" P' M/ b2 a6 z0 r( D
  12. toc* r! `' W7 |* T- U) p  t' k

  13.   f9 q, D% H; h, I. |6 q
  14. s =
    - l- t1 l. r( Z/ |5 k$ X7 m

  15. 4 m9 A- z+ k( K0 Y
  16.   2.4002e+007
    # v% m$ O$ P% U# [

  17. , k4 X7 |0 b( h1 F
  18. Elapsed time is 2.252997 seconds.
复制代码
Forcal代码:
  1. !using["math","sys"];- r; L( e5 U, r2 O8 p
  2. mvar:+ Y2 X$ j# Z+ w) z% d
  3. f(x)=x+1;
    9 Y- k# R+ D& B& D! o
  4. main0(::a)=) z! A& `+ N( D% h
  5. a = linspace(2,2,1000),
    * r% J) G" g1 V0 ^
  6. t0=clock(), s=0,
    * Z7 `4 q9 S6 }. U' h7 C% d* g$ @0 l3 r
  7. k=0, while{k<1000,+ o( I  L; e' n  M* x1 b$ `
  8.   i=0, while{i<1000, s=s+f(A(a,i))+1+sin(A(a,i))+1+sin(A(a,i))+1+sin(A(a,i))+1+sin(A(a,i))+1+sin(A(a,i))+1+sin(A(a,i))+1+sin(A(a,i))+1+sin(A(a,i))+1+sin(A(a,i))+1+sin(A(a,i))+1+sin(A(a,i)), i++},6 y( \& \9 l2 M; e* z
  9.   k++
    ! P" @. V  \% g* s# x" D' G
  10. },
    2 x* T* x9 S  p( {* Y* H8 U2 \; Y2 P
  11. s;) h, @1 W- O# u/ d
  12. [clock()-t0]/1000;
复制代码
结果:" b7 S( \6 c+ D1 g- i+ u
24002271.691893845 ?/ T; W8 v4 F% C5 i
5.172& @. V) Y2 R0 m* r# W. w% |
2 q9 ~0 N( p8 s& r; b/ P
二者效率现在只有一倍差距。$ I* j5 S/ F! I$ m# ~% k

# D3 @6 h+ j/ V8 `6 F% _( Z----------* Q. U: s# q& e

6 W5 M- |( w6 S9 U0 M/ x. G; h7 \不过,显然matlab和Forcal的程序应该这样写:
$ h7 j2 e# f+ `2 F0 P8 W
( Z- m- E; O$ x; t7 omatlab程序:
  1. clear all
    + o4 B3 ^! ]$ b" o  b* q
  2. f=@(x)x+1;
    & S: Z: S" o. T& {& {
  3. a = linspace(2,2,1000);
    & g$ a# j" d' z
  4. tic$ D/ \# Q6 h4 l1 z, [8 p
  5. s=0;; _3 O0 y4 d2 k/ \
  6. for k=1:1000- |# l2 l# n, P# ~  {  U1 {4 o
  7.   for i=1:1000
    ( J/ e& [. D7 K4 `3 C& s' I
  8.     t=a(i);8 l: |5 P3 M0 S/ T* K
  9.     s=s+f(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t);) M- G  }4 m; y( f2 Z
  10.   end4 ^  d# d0 i0 d2 V7 P; u7 [! I
  11. end8 l* r  x, L1 y* v) e! b! n9 k
  12. s
    3 l, I' T6 R" d0 [
  13. toc
    ! w5 `: D$ u0 B8 i6 ?. S
  14. , V! g8 E* h6 a. i/ X
  15. s =
    : Z& g! `+ g8 t; {& ]

  16. ! h$ {& y5 Y2 B4 _9 t. w. C
  17.   2.4002e+007" Y4 \2 e/ c' k& u
  18. 4 D) |3 _1 Z, ~
  19. Elapsed time is 2.043909 seconds.
复制代码
Forcal程序:
  1. !using["math","sys"];
    ) E6 t! n! G9 H: |9 f3 X
  2. mvar:
    * ]7 F$ H6 D' |7 B
  3. f(x)=x+1;+ q, X- F$ ]9 m
  4. main0(::a)=- `. F* \  ?+ m+ T3 C0 I4 d3 M
  5. a = linspace(2,2,1000),# Q1 X6 @( A6 l" ]. [
  6. t0=clock(), s=0,; K, {: w4 R1 R% h  r) m/ n3 A
  7. k=0, while{k<1000,; Q$ N" c+ p( K( {* d! j4 G( \
  8.   i=0, while{i<1000, t=a(i), s=s+f(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t)+1+sin(t), i++},
    : f& G& F+ M, \& G, c* A4 g, d: S
  9.   k++
    0 W8 U/ L: }  Q) ^' i+ }
  10. },
    1 r( L- z2 Y7 a
  11. s;
    # o1 ~% v, d  Z2 S0 a( m3 m
  12. [clock()-t0]/1000;
复制代码
结果:. z3 H( G& d7 P6 v5 J: `
24002271.69189384
& R8 O4 h3 B  Z1.625
% [- l  s1 V$ M& ~" U: g$ ~) s+ |; Z1 a8 X% z7 D- ~
matlab效率已不及Forcal。
8 l! V8 S# a+ T3 t5 J- X  m% h0 p# K. p+ T) }1 B% s5 i. p. S+ g
提示:目前Forcal对数组元素存取效率较低,要想提高效率:(1)用临时变量暂存数组元素;(2)用专用函数sys::GA( )和sys::SA( )一次存取大量连续元素;(3)对数组整体操作。
作者: forcal    时间: 2011-8-2 09:27
在这里顺便说一下Forcal静态数组,静态数组是用字符串模拟的,但数组元素存取效率非常高,约是C/C++静态数组元素存取效率的1/5左右。
* A; e" `2 |' K# w: }* g" O4 f4 S  B. {
Forcal代码:
  1. !using["sys"];- d# X- {+ x! q+ C) S6 F  ]
  2. mvar:. ]9 y$ `2 o1 Z9 ]0 h" I$ n/ l
  3. a="\&\[1000]"/4,    //用字符串模拟静态数组
    ! l, E+ H# U7 b, i3 L, b$ B* x
  4. t0=clock(),
    3 w' w! d: i; s, P
  5. k=0, while{k<10000,' j! S' n% \, g& G+ U
  6.   i=0, while{i<1000, setn(a+i,2), i++},   //用函数setn(a+i,2)对静态数组元素赋值  L/ h0 o* p3 H2 h" t
  7.   k+++ ^; T# p' Y" f/ Y6 O& h- g
  8. },) m% ~; s% Y6 N6 Q* a) ~  z! t- r
  9. [clock()-t0]/1000;1 {7 \4 W" @1 X5 z& r  S

  10. 0 u! p3 E9 k* v
  11. a="\&\[1000]"/4,    //用字符串模拟静态数组
    , Y/ K  k" l# c4 r
  12. i=0, while{i<1000, setn(a+i,2), i++},      //用函数setn(a+i,2)对静态数组元素赋值' @. {( N, g/ q4 V7 [/ v
  13. t0=clock(),9 ?7 Z9 X/ `7 D3 v# ]5 W+ S
  14. s=0,7 l( f/ U$ q( V- ^/ S
  15. k=0, while{k<10000,
    5 D8 W, h$ S. Q: c: _* a# ~( T
  16.   i=0, while{i<1000, s=s+getn(a+i), i++},  //用函数getn(a+i)获得静态数组元素的值
    : ?1 s; s( W0 _- _3 S, `3 P
  17.   k++5 U. o9 A3 r* u
  18. },
    ( Y) m- q2 J6 Y
  19. s;
    ) e7 \4 M5 H9 S! D; D
  20. [clock()-t0]/1000;
复制代码
结果:
* s! s. d+ @! t* G7 b0.5620000000000001  //赋值用时间,秒: y2 d$ z9 I- h: b" x7 g3 j* l8 Z
20000000.( b3 L5 g$ n  _! n+ _& |
0.579      //取值用时间,秒




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5