Español
Foro

Performance-Messung para Cheetah2

 

Stefan
Schnell
¡Hola Comunidad,
folgende Listings Yo para el Performance-Messung de Cheetah2 verwendet:
KompilierenMarcaSeparación
-Begin-----------------------------------------------------------------
 $U Cheetah2.Unit.pcu
-Occupy resources----------------------------------------------------
xdbUseDLL
-Declare variables---------------------------------------------------
Declare FileName$, hdb&, Loop$, Adress&, Data$
FileName$ = "Test.dbf"
-Create string with data---------------------------------------------
Randomize

WhileLoop 1, 4096, 1

    Data$ = Data$ + @Chr$(@Rnd(96) + 31)

EndWhile

-Create database-----------------------------------------------------
xdbCreate(@Addr(FileName$), "ID,N,9,0;MEMO,M,10,0")
-Open database-------------------------------------------------------
hdb& = xdbOpen(@Addr(FileName$), "")
-Add 20000 records with data-----------------------------------------

WhileLoop 1, 20000, 1

    xdbClearBuffer(hdb&)
    Loop$ = @Str$(&Loop)
    xdbAssignField(hdb&, "ID", 0, @Addr(Loop$))
    xdbAssignField(hdb&, "MEMO", 0, @Addr(Data$))
    xdbAppendRecord(hdb&)

EndWhile

---------------------------------------------------------------------
Print
Print "Press any key to exit..."
WaitKey
-Close database------------------------------------------------------
xdbClose(hdb&)
-Free resources------------------------------------------------------
xdbFreeDLL
-End-------------------------------------------------------------------
End

Damit se una Datenbank, bestehend de uno ID y una Memo-Feld con 20.000 Datensätzen producido. Jedes Memo-Feld es con una String, el 4096 Bytes groß es, gefüllt. El Datenbank se 400.098 Bytes groß y el zugehörigen Memo-Felder 92.160.002 Bytes (also 87,8 Megabyte).

A Performance-Messung Yo folgendes Programa verwendet:
KompilierenMarcaSeparación
-Begin-----------------------------------------------------------------
 $I DbgView.inc
 $U Cheetah2.Unit.pcu
-Occupy resources----------------------------------------------------
xdbUseDLL
-Declarar variables---------------------------------------------------
Declarar FileName$, hdb&, Data$, RecNo&
FileName$ = "Test.dbf"
-Open database-------------------------------------------------------
hdb& = xdbOpen(@Addr(FileName$), "")
-Performance test----------------------------------------------------
Selección aleatoria

WhileLoop 1, 200, 1

    RecNo& = @Rnd(19999) + 1
    DbgPrint "Go " + @Str$(RecNo&)
    xdbGetRecord(hdb&, RecNo&)
    Data$ = xdbFieldValue(hdb&, "MEMO", 0)
    DbgPrint "Ready"

EndWhile

-Cerrar database------------------------------------------------------
xdbClose(hdb&)
-Libre resources------------------------------------------------------
xdbFreeDLL
-End-------------------------------------------------------------------
End

Hier springt el Programa 200 veces a una beliebigen Datensatz y liest esta de. Für el Springen y Auslesen benötig Cheetah, con XProfan en el Interpretermodus, ca. 0,025 Sekunden.
Scheint doch bastante akzeptabel a ser.
Saludo
Stefan
 
28.10.2004  
 




Normann
Strübli
Hi Stefan,

quería todos en me auch veces testen aber Incluya el Dbgview.inc Yo
irgendwie No se ha encontrado - vergessen .

Como es porque Su Rechnerkonfiguration?
Auf el Homepage de Planetsquires lässt se Su Wrapper de paso no mehr
runterladen - Paul ma bescheidgeben?

Saludo
Normann
 
28.10.2004  
 




Ragnar
Rehbein
Yo möchte no glaubenskrieg beginnen... aber:

con el MS SQL-Server sehen el zeiten ähnlich de.

50 ms lokal
200 ms übers netzwerk
2 ms übers netz si para el abfrage des autoincrement una index gesetzt se !!!!

como MSDE libre, muy bien dokumentiert, sin DLL en profano nutzbar, para fast alles Yo así weiß encima datenbanken nahezu fehlerfrei y super stabil.

a info una testprogramm para el MSDE:
KompilierenMarcaSeparación
print sqlinit(("Driver={SQL Server};Server=ragnar3;UID=sa;PWD=;Database=ordicomdb;"))
declare data$
Randomize
data$ = mkstr$("ABCD",1000)

WhileLoop 1, 4096, 1

    Data$ = Data$ + @Chr$(@Rnd(96) + 31)

EndWhile

data$ = translate$(data$,"","")
sqlexec "drop table test",0
sqlexec "create table test (autoinc int identity, text varchar(5000))",0
print data$
cls

whileloop 1,20000

    locate 0,0
    print &loop
    sqlexec "insert into test (text) values ("+Data$+") ",1
    clearlist

endwhile

decimals 0
declare time&
time& = &gettickcount

whileloop 1,100

    clearlist
    sqlexec "select text from test where autoinc = "+str$(rnd(19999)+1),1
    data$ = listboxitem$(2)

endwhile

print "time: ",(&gettickcount-time&)/100
waitinput
print data$
28.10.2004  
 




Stefan
Schnell
¡Hola Normann,

>aber Incluya el Dbgview.inc Yo irgendwie No se ha encontrado

Vor langer Tiempo Yo veces en el Profano-Foro DebugView (de sysinternal) vorgestellt y dazu una entsprechende Incluir-Expediente, en el Debuggen con PrfDebug y una entsprechende Edición en DebugView a vereinfachen. Hier el DbgView.inc para Usted:
KompilierenMarcaSeparación
-Begin-----------------------------------------------------------------
-External functions--------------------------------------------------
Def @OutputDebugStringA(1) !"KERNEL32.DLL", "OutputDebugStringA"
Def @OutputDebugStringW(1) !"KERNEL32.DLL", "OutputDebugStringW"
Def @OutputDebugString(1) !"KERNEL32.DLL", "OutputDebugStringA"
-Procedure DbgPrint--------------------------------------------------

Proc DbgPrint

    Parameters PrintString$
    PrintString$ = PrintString$ + @Chr$(0)
    @OutputDebugStringA(@Addr(PrintString$))

EndProc

-Procedure DbgOut----------------------------------------------------

Proc DbgOut

    Parameters PrintString$
    DebugOut 1, PrintString$

EndProc

-Procedure DbgStop---------------------------------------------------

Proc DbgStop

    @Set("DebugMode", 2)

EndProc

-Procedure DbgGo-----------------------------------------------------

Proc DbgGo

    If %PCount = 0

        @Set("DebugMode", 0)

    Else

        Parameters Mode&
        @Set("DebugMode", Mode&)

    EndIf

EndProc

-Procedure DbgAssert-------------------------------------------------

Proc DbgAssert

    Parameters Condition&

    If Condition&

        @Set("DebugMode", 2)

    EndIf

EndProc

-End----------------------------------------------------------------s2>---

>Como es porque Su Rechnerkonfiguration?

Getest Yo el Programa ahora en más Rechnern y Betriebssystemen:

WinXP Prof, HP, 1,6 GHz, 256 MByte RAM (el waren el vorhandenen Ergebnisse)
WinXP Home, Brandy, 2 GHz, 256 MByte RAM (war todavía más rápido, 0,00xy Sekunden)
Win 95 OSR 2, NoName, 266 MHz, 256 MByte RAM (war deutlich langsamer)

Alle Ergebnisse waren sin embargo, bezogen en el Rechnerkonfiguration, akzeptabel. :+)--

>Auf el Homepage de Planetsquires lässt se Su Wrapper de paso no mehr
runterladen

Posesiones Paul heute morgen una ligeramente modifizierten Wrapper gesendet, füge ihn aquí como Attachment en.

¡Hola Ragnar,

>Yo möchte no glaubenskrieg beginnen... aber:

Yo finde dass lo una Cuestión des Einsatzes es. Usted hast Recht, lo que el Microsoft Database Engine angeht, stabil, libre, rápidamente y erprobt. Einen bastante wichtigen Grund halte Yo aber entgegen: Willst Usted una Kunden wirklich zumuten el MSDE a installieren si sólo una kleine Datenbankinstallation ansteht? Und el sehe Yo como klaren Vorteil de Cheetah, kompakt y erfordert vom Anwender No más Aktivitäten. Lo kommt, mi Sicht el Dinge, eben darauf a, para welchen Zweck o. welche Zielgruppe el Sistema determinado ser se y aquí ha Cheetah ebenso como MSDE ser Segment.

Saludo
Stefan
 
29.10.2004  
 




Stefan
Schnell
¡Hola Comunidad,
Ingo machte mich antes kurzem en uno eMail en esta Diferencia aufmerksam, hier una kleiner Vergleich de Cheetah a XProfan, el mich selber algo überrascht ha:

Anlegen de 20000 Datensätzen à 3 Felder
Cheetah con XProfan en el Interpreter-Modus 283 Sekunden
XProfan en el Interpreter-Modus 63 Sekunden
Cheetah con XProfan con kompilierter Expediente 41 Sekunden
XProfan con kompilierter Expediente 12 Sekunden
Cheetah con XProfan como EXE 39 Sekunden
XProfan como EXE 11 Sekunden.

Also, klarer Geschwindigkeitssieger es XProfan.

Im Einsatz con XProfan es como Ansatz genau a betrachten si el de XProfan ofrece Características ausreichen oder no. Sollten, gerade en Bezug en Memo-Felder u otros Feldtypen, weitere Características gewünscht ser, kann Cheetah una gewinnbringende Ergänzung ser.

Saludo
Stefan
 
08.04.2005  
 




Normann
Strübli
¡Hola Stefan - hallo Comunidad,

como Cheetah meiner Meinung después de definitiv siempre todavía el beste Datenbank es (el Performanceunterschied läßt se meiner Meinung después de sólo dadurch erklären, el Xprofan para el Dll-Aufrufe demasiado tiempo benötigt )
Yo una gute Nachricht para ALLE el Cheetah todavía no verwendet haben - porque a teuer :

Cheetah es ahora FREEWARE ! ! !

Also runterladen (Stefans Wrapper para Xprofan no vergessen) y begeistert ser.

Viel Spaß así.
 
01.05.2005  
 




CB
Um Euch el Búsqueda abzukürzen:
[...] 

Christian
 
XProfan 8/9.1, Win XP, AMD 64/3200
01.05.2005  
 




Normann
Strübli
Mist! - sí genau, el Link wollt Todavía auch puesto! Gracias Chistian.
 
01.05.2005  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

6.630 Views

Untitledvor 0 min.

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie