running speedtst with, we are more near from harbour speed:

#  define malloc( n )         ( void * ) HeapAlloc( GetProcessHeap(), 0, ( n ) )
#  define realloc( p, n )     ( void * ) HeapReAlloc( GetProcessHeap(), 0, ( 
void * ) ( p ), ( n ) )
#  define free( p )           HeapFree( GetProcessHeap(), 0, ( void * ) ( p ) )

c:=L_C ->                                             0.13
n:=L_N ->                                             0.16
d:=L_D ->                                             0.14
c:=M_C ->                                             0.14
n:=M_N ->                                             0.16
d:=M_D ->                                             0.14
(sh) c:=F_C ->                                        0.45
(sh) n:=F_N ->                                        0.28
(sh) d:=F_D ->                                        0.19
(ex) c:=F_C ->                                        0.45
(ex) n:=F_N ->                                        0.30
(ex) d:=F_D ->                                        0.20
n:=o:GenCode ->                                       0.42
round(i/1000,2) ->                                    0.47
str(i/1000) ->                                        1.17
val(a3[i%ARR_LEN+1]) ->                               0.70
dtos(j+i%10000-5000) ->                               0.70
eval({||i%ARR_LEN}) ->                                0.50
eval({|x|x%ARR_LEN}) ->                               0.59
eval({|x|f1(x)}) ->                                   1.00
&('f1('+str(i)+')') ->                                6.36
eval([&('{|x|f1(x)}')]) ->                            0.98
j := valtype(a)+valtype(i) ->                         1.27
j := str(i%100,2) $ a2[i%ARR_LEN+1] ->                1.53
j := val(a2[i%ARR_LEN+1]) ->                          0.84
j := a2[i%ARR_LEN+1] == s ->                          0.47
j := a2[i%ARR_LEN+1] = s ->                           0.48
j := a2[i%ARR_LEN+1] >= s ->                          0.48
j := a2[i%ARR_LEN+1] < s ->                           0.58
aadd(aa,{i,j,s,a,a2,t,bc}) ->                         2.39
f0() ->                                               0.34
f1(i) ->                                              0.50
f2(c[8]) ->                                           0.39
f2(c[40000]) ->                                       0.39
f2(@c[40000]) ->                                      0.36
f2(c[40000]); c2:=c ->                                0.53
f2(@c[40000]); c2:=c ->                               0.47
f3(a,a2,c,i,j,t,bc) ->                                0.86
f2(a2) ->                                             0.39
s:=f4() ->                                           32.83
ascan(a,i%ARR_LEN) ->                                 0.59
ascan(a2,c+chr(i%64+64)) ->                           1.91
ascan(a,{|x|x==i%ARR_LEN}) ->                         6.39
============================================================
total application time:                              74.34
total real time:                                     75.61


with

#  define malloc( n )         ( void * ) LocalAlloc( LMEM_FIXED, ( n ) )
#  define realloc( p, n )     ( void * ) LocalReAlloc( ( HLOCAL ) ( p ), ( n ), 
LMEM_MOVEABLE )
#  define free( p )           LocalFree( ( HLOCAL ) ( p ) )

c:=L_C ->                                             0.11
n:=L_N ->                                             0.14
d:=L_D ->                                             0.14
c:=M_C ->                                             0.11
n:=M_N ->                                             0.13
d:=M_D ->                                             0.11
(sh) c:=F_C ->                                        0.48
(sh) n:=F_N ->                                        0.27
(sh) d:=F_D ->                                        0.17
(ex) c:=F_C ->                                        0.48
(ex) n:=F_N ->                                        0.28
(ex) d:=F_D ->                                        0.16
n:=o:GenCode ->                                       0.44
round(i/1000,2) ->                                    0.50
str(i/1000) ->                                        1.16
val(a3[i%ARR_LEN+1]) ->                               0.70
dtos(j+i%10000-5000) ->                               0.72
eval({||i%ARR_LEN}) ->                                0.50
eval({|x|x%ARR_LEN}) ->                               0.55
eval({|x|f1(x)}) ->                                   1.03
&('f1('+str(i)+')') ->                                6.81
eval([&('{|x|f1(x)}')]) ->                            1.02
j := valtype(a)+valtype(i) ->                         1.36
j := str(i%100,2) $ a2[i%ARR_LEN+1] ->                1.58
j := val(a2[i%ARR_LEN+1]) ->                          0.83
j := a2[i%ARR_LEN+1] == s ->                          0.48
j := a2[i%ARR_LEN+1] = s ->                           0.48
j := a2[i%ARR_LEN+1] >= s ->                          0.50
j := a2[i%ARR_LEN+1] < s ->                           0.56
aadd(aa,{i,j,s,a,a2,t,bc}) ->                         2.47
f0() ->                                               0.33
f1(i) ->                                              0.50
f2(c[8]) ->                                           0.39
f2(c[40000]) ->                                       0.38
f2(@c[40000]) ->                                      0.36
f2(c[40000]); c2:=c ->                                0.53
f2(@c[40000]); c2:=c ->                               0.47
f3(a,a2,c,i,j,t,bc) ->                                0.89
f2(a2) ->                                             0.39
s:=f4() ->                                           59.84
ascan(a,i%ARR_LEN) ->                                 0.61
ascan(a2,c+chr(i%64+64)) ->                           1.80
ascan(a,{|x|x==i%ARR_LEN}) ->                         6.23
============================================================
total application time:                             101.69
total real time:                                    103.66

and with harbour :

c:=L_C ->                                             0.11
n:=L_N ->                                             0.09
d:=L_D ->                                             0.11
c:=M_C ->                                             0.13
n:=M_N ->                                             0.09
d:=M_D ->                                             0.13
(sh) c:=F_C ->                                        0.33
(sh) n:=F_N ->                                        0.25
(sh) d:=F_D ->                                        0.16
(ex) c:=F_C ->                                        0.33
(ex) n:=F_N ->                                        0.25
(ex) d:=F_D ->                                        0.14
n:=o:GenCode ->                                       0.23
round(i/1000,2) ->                                    0.28
str(i/1000) ->                                        0.89
val(a3[i%ARR_LEN+1]) ->                               0.58
dtos(j+i%10000-5000) ->                               0.67
eval({||i%ARR_LEN}) ->                                0.31
eval({|x|x%ARR_LEN}) ->                               0.34
eval({|x|f1(x)}) ->                                   0.59
&('f1('+str(i)+')') ->                                4.34
eval([&('{|x|f1(x)}')]) ->                            0.59
j := valtype(a)+valtype(i) ->                         0.75
j := str(i%100,2) $ a2[i%ARR_LEN+1] ->                1.19
j := val(a2[i%ARR_LEN+1]) ->                          0.67
j := a2[i%ARR_LEN+1] == s ->                          0.45
j := a2[i%ARR_LEN+1] = s ->                           0.47
j := a2[i%ARR_LEN+1] >= s ->                          0.47
j := a2[i%ARR_LEN+1] < s ->                           0.47
aadd(aa,{i,j,s,a,a2,t,bc}) ->                         4.83
f0() ->                                               0.14
f1(i) ->                                              0.25
f2(c[8]) ->                                           0.20
f2(c[40000]) ->                                       0.20
f2(@c[40000]) ->                                      0.19
f2(c[40000]); c2:=c ->                                0.33
f2(@c[40000]); c2:=c ->                               0.28
f3(a,a2,c,i,j,t,bc) ->                                0.58
f2(a2) ->                                             0.19
s:=f4() ->                                           32.02
ascan(a,i%ARR_LEN) ->                                 0.39
ascan(a2,c+chr(i%64+64)) ->                           1.39
ascan(a,{|x|x==i%ARR_LEN}) ->                         4.06
===========================================================
total application time:                              63.86
total real time:                                     65.33

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
xHarbour-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xharbour-developers

Reply via email to