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