Français
Forum

Profan 5.0 pour Profan 8.0 :" @substr$ " ist trop la

 

Konrad
Flachs
Salut,

j'ai un Programme pour un Navigationssystem geschrieben, cela mitunter verschiedene Formate konvertieren peux. Dabei c'est moi aufgefallen, cela beim einlesen einer csv-Dossier (Cordes par semicolon getrennt) qui Ladezeit wesentlich länger geworden ist. qui Befehl @substr$ nécessaire maintenant avec Profan 8.0 etwa doppelt so longtemps comment avec Profan 5.0.

Ist cela un Bug de Profan 8.0? ...ou bien gibt es une Trick dabei?

Gruss
Konrad
 
30.06.2004  
 



eh bien, XProfan arbeitet im opposition trop Prf5 avec Large-Cordes, alors Cordes qui pas seulement 256Chars, sonder sogar 32kB Chars à Longueur avons peut. cet Commutateur im String-Wesen peux malheureusement solch Auswirkungen mitsich apporter.

Aussi devrait sich wohl Roland en supplément un peu äußern.

j'ai cela la fois kurz getestet, et doit zugeben substr ist dans XProfan malheureusement 5-la fois langsamer.

Folgenden Code habe je pour peint:
KompilierenMarqueSéparation
print
declare t&,z&,s$,ss$
let t&=&gettickcount
let z&=0
let s$="SO KANNS WEITER| GEHGEN ODER OMIT | DLKFJS LKDFJ SO KANNS NICHT WEITER| GEHGEN ODER OMIT | DLKFJS LKDFJ SO KANNS WEITER| GEHGEN ODER OMIT | DLKFJS LKDFJ SO KANNS WEITER| GEHGEN ODER OMIT | DLKFJS LKDFJ "

while 1

    if gt(&gettickcount,t&)

        let t&=add(t&,1000)
        locate 1,1
        print z&
        let z&=0

    endif

    let z&=add(Z&,1)
    let ss$=substr$(s$,add(mod(z&,10),1),"|")

wend

end

@Frank, voulons wir den substr sur asm-la base beschläunigen? XPSE pourrait aus substr un _asm_substr faire, une Procedure nommé _asm_substr anlegen pleine avec einem ASM-Piece de Dir.

@Konrad, si Du vouloir schnuddle je Dir vite ne kleine Mini-DLL zusammen, qui cela CSV-Parsen pour toi erledigt. Wäre naturellement um un Vielfaches zügiger. Müsstest mir seulement den Profan-Code donner, qui trop traduire ist. Den reste erledige je déjà. une mini-beispiel-cvs oui c'est ca trop diesem Thema wäre zum Testen nötig. peut-être un kleiner Auszug aus qui Originalen.

jusqu'à denne, iF
 
30.06.2004  
 




Frank
Abbing
Hi,

alors je trouve pas, cela qui Funktion sooo lente arbeitet, cela on vous tout de suite ersetzen devrait.
Konrad, quoi pour Cordes verarbeitest du car ?
un Beipspiel ?
 
01.07.2004  
 




Konrad
Flachs
allô Si et Frank,

merci pour qui schnelle Antwort.

j'ai festgestellt, cela pas seulement substr$ mais aussi mid$ langsamer geworden ist.

Zum comparaison cela einlesen de 20000 csv-Zeilen:

Profan 5.0: ca.27sek.
Profan 8.0: ca.82sek.
Profan 8.0 sans si et mid$ : 47sek.

Im Programme Teile je chacun la ligne avec z.B. Laisser rtecomment$ = @substr$(lineinp$,12,;) .
ensuite volonté qui Teile gefiltert avec z.B. Laisser rtecomment$ = @mid$(rtecomment$,1,12) .... ou bien einer si-Abfrage.

qui Vergrösserung qui maximalen Stinglänge ( de Vers.5.0 trop 8.0) scheint qui Verarbeitungszeit de einigen Kommandos trop verlängern.

Ideal wäre naturellement une Einschränkbarkeit qui Stringlänge et einem dadurch resultierenden Zeitgewinn.

Gruss
Konrad
 
01.07.2004  
 



Comme je le disais, ou bien nen mini-Dll, müsstest seulement dire quoi qui faire soll. Z.b. mir dein Profan-Source donner qui lente fonctionne. libre geschätzt serait qui DLL pas 27, sonder 3 Sekunden pour cela Selbe brauchen.

jusqu'à denne, iF
 
01.07.2004  
 




Frank
Abbing
Hi,

qui Listview.dll z.B. benutzt CSV-Fichiers et bietet quelques Funktionen pour à.
je serait CSV-Fichiers De toute façon avec Bereichen Travailler, pas avec den langsamen Cordes
si du quelque chose Assembler apprendre vouloir, peux du dir avec dem XPIA selber Funktionen écrivons. Solche Maschinenfunktionen würden pas 27 ou bien 3 Sekunden besoin, mais seulement wenige Millisekunden.
 
01.07.2004  
 




Uwe
''Pascal''
Niemeier
allô gens!

seulement qui Vollständigkeit halber:
CSV-Fichiers peux on aussi pas mal per ODBC/SQL trop Leibe rücken. Obs plus rapide ist comme qui manuelle Methode ou bien sogar une ASM-Routine, glaube je allerdings pas.
Pour cette hat on Sortier- u. Suchmöglichkeiten et u.U. direkten Zugriff sur einzelne Zeilen/Spalten (je pour Dateiaufbau).

SeeYou
Pascal
 
01.07.2004  
 




Jens
allô Frank,

bien sûr la hâte Du toi avec den Geschwindigkeitsangaben pas vertan, jedenfalls vais je en aus. Überrascht suis je allerdings total.

Gibt es (bien sûr problemabhängige) Faktoren, comment vite z.B. Profan compilé im comparaison trop Profan dans c++ traduit, trop c++ pur bzw. trop Assembler-Code ist?

Viele Grüße

Jens
 
01.07.2004  
 



eh bien, dans manchen Angelegenheiten J'ai eu une facteur de *65000 ermittelt, dans anderen z.B. seulement *10000. avec cela gemeint ist qui Unterschied eines (reinen) CPPs (pas prf2cpp!) im Ggs. trop einer PrfExe. ce sont naturellement alles ca-Angaben. Im Grunde sommes qui Compilate de hochsprachen (comment z.B. cpp) pas langsamer, comme ASM-Code, là oui qui Compiler (sous Berüchsichtigung vieler anderer Faktoren einstellbar avec Compilerschaltern) aussi dans ASM Compilieren. c'est mais réellement so, qui si on direct dans ASM komponiert on quelques unwichtige-Operationen omettre peux. sur bien allemande, si un CPP-Prog dans einer seconde 1mio la fois addiert, serait un reines asm cela peut-être 10-30% plus rapide créer. c'est mais aussi seulement ensuite so, si on comme CPPer pas sur qui richtigen Compilierschalter im Source achtet. là bleibt es dem Programmierer selbst überlassen, coûter et nutzen abzuschätzen, wobei C++ naturellement avec einer leckeren Syntax et wirklich einfachen Befehlsmöglichkeiten lockt. si on mais z.B. seulement une Register 1Mio male addieren doit, ensuite ist wohl naturellement ASM plus rapide. So pourrait on behaupten, cela desto einfacher qui devoir, desto plus lohnt ASM.

jusqu'à denne, iF
 
01.07.2004  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

5.553 Views

Untitledvor 0 min.

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie