RDD SPEED TESTS (NEW NETRDD SYSTEM)
-----------------------------------

DBFCDX   :
BMDBFCDX : DBFCDX + Static Bitmap filtered
REDBFCDX : Client-Server 100% compatible with BMDBFCDX

REMOTE : Windows 2008 Server
LOCAL  : Windows 2000

LOCAL   LOCAL     LOCAL     REMOTE  REMOTE    REMOTE
DBFCDX  BMDBFCDX  REDBFCDX  DBFCDX  BMDBFCDX  REDBFCDX
7.34    4.16      42.00     859.80  519.56    172.88

As test shown,
work with remote data wins : REDBFCDX
work with local data wins  : BMDBFCDX

TEST.PRG:

ANNOUNCE RDDSYS

REQUEST DBFCDX,REDBFCDX,BMDBFCDX

FUNCTION MAIN( cRdd, cIP )
    LOCAL n,t,m,p,J

    IF Empty( cRdd )
       cRdd := "REDBFCDX"
    ENDIF

    IF Empty( cIP )
       cIP := "192.168.1.114"
    ELSE
       cIP := AllTrim( cIP )
    ENDIF

    SET DATE FORMAT "DD/MM/YYYY"
    RDDSETDEFAULT( cRdd )

    SET DELETED ON
    SET AUTOPEN ON

    IF cRdd == 'REDBFCDX'
       ? "CONECTED A IP: " + cIP + ":2813"
       NET_OPENCONNECTION( cIP, 2813 )
    ENDIF

    IF ! HB_DBExists( "TMPTEST" )
       ? "creando tabla"
       DBCREATE( "TMPTEST", { { "A1", "C", 10, 0 } }, cRdd )
    ENDIF

    USE TMPTEST SHARED NEW ALIAS "ONE" VIA ( cRdd )

    IF LastRec() < 50000
       ? "aƱadiendo 50000 registros"
       p := seconds()
       FOR n := 1 TO 50000
         APPEND BLANK
         REPLACE FIELD->A1 WITH "0123456789"
       NEXT
       ?? " -> " + AllTrim( Str( seconds() - p ) ) + " seconds"
    ENDIF

    SET OPTIMIZE ON
    IF HB_DBExists( "TMPTEST.CDX" )
       OrdSetFocus( "TG1" )
    ELSE
       INDEX ON FIELD->A1 TAG tg1 TO ("TMPTEST.CDX")
    ENDIF

    ? "Indice activo : " + ORDKEY()
    ? "Filtrando por : " + "RecNo() > 100 .AND. RecNo() < 200"
    p := seconds()
    DbSetFilter( {|| RecNo() > 100 .AND. RecNo() < 200 }, "RecNo() >
100 .AND. RecNo() < 200" )
    ?? " -> " + AllTrim( Str( seconds() - p ) ) + " seconds"

    WAIT
    p := t := seconds()
    FOR M := 1 TO 10
       ? "PASO " + AllTrim( str( M ) )
       DBGOTOP()
       FOR n := 1 TO 50000
         J := ORDKEYNO()
         J := ORDKEYCOUNT()
         DBSKIP()
       NEXT
       ?? " en " + AllTrim( Str( seconds() - p ) ) + " seconds"
       p := seconds()
    NEXT

    DBCLOSEALL()

    ? " TOTAL " + AllTrim( Str( seconds() - t ) ) + " seconds"
    wait

RETURN NIL

more tests:

               LOCAL   LOCAL     LOCAL     REMOTE  REMOTE    REMOTE
               DBFCDX  BMDBFCDX  REDBFCDX  DBFCDX  BMDBFCDX  REDBFCDX
single user   7.34    4.16      42.00     859.80  519.56    172.88
simulated concurrent forced by system (W-2000)
single user                               18.61   11.45     96.33
non concurrent (W-XP)
multi user                                751.00  399.50    97.35
real concurrent





-- 
Massimo Belgrano
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to