Great! ;-)
Speed is important! ;-)

On Tue, Nov 18, 2008 at 11:51 AM, Miguel Angel Marchuet <
[EMAIL PROTECTED]> wrote:

> 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
>
-------------------------------------------------------------------------
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