Schneller Dateien verarbeiten??
Ich würde stat PeekX() mit Pointern arbeiten, das ist theortisch noch ne Spur schneller.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster
PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
- Tafkadasom2k5
- Beiträge: 1578
- Registriert: 13.08.2005 14:31
- Kontaktdaten:
Soweit hast du natürlich Recht, aber das Einlesen in den Speicher kann man damit auch sehr gut optimieren.hjbremer hat geschrieben:Dieses Blockweise lesen ist ja gut und schön, aber wir haben 2009
Heutige Rechner haben mindestens 500 MB, meistens 1 GB und Windows XP und der Rest brauchen ca 200-300 MB. Bleibt also genügend über um eine 100 MB Datei in den Speicher zu laden.
Warum nun gerade 65536 Bytes zutreffen weiß ich auch nicht genau. Bei Fat16 würde ich das nachvollziehen können, aber bei NTFS weiß ich das auch nicht. Oder gibt es einen Befehl, der eine Datei in den Speicher einließt und dabei autmatisch beürkcsichtigt, was bei dieser HD am schnellsten wäre?
Bei dem Rest gebe ich dir Recht- wenn erstmal im Speicher ist, ist das alles kein großes Problem mehr!
OpenNetworkConnection() hat geschrieben:Versucht eine Verbindung mit dem angegebenen Server aufzubauen. 'ServerName$' kann eine IP-Adresse oder ein voller Name sein (z.B.: "127.0.0.1" oder "ftp.home.net").
php-freak hat geschrieben:Ich hab die IP von google auch ned rausgefunden!
PeekX() benutzt Pointer.cxAlex hat geschrieben:Ich würde stat PeekX() mit Pointern arbeiten, das ist theortisch noch ne Spur schneller.

... was du meinst, sind wohl zusätzliche Strukturen, welche direkt auf den
Speicherbereich zeigen sollen. Was da schneller sein soll ist mir zwar
schleierhaft, aber bei PB kann man das ja nie wissen, bevor man nicht den
ASM-Code gesehen hat

MFG PMV
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Es fällt der Call weg!PMV hat geschrieben:Was da schneller sein soll ist mir zwar
schleierhaft, aber bei PB kann man das ja nie wissen, bevor man nicht den
ASM-Code gesehen hat
MFG PMV
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- hjbremer
- Beiträge: 822
- Registriert: 27.02.2006 22:30
- Computerausstattung: von gestern
- Wohnort: Neumünster
kleines Beispiel was mit zusätzlichen Structuren gemeint ist
Aber strchr_ ist etwas schneller
Code: Alles auswählen
Procedure FindChar13(*z.Character, ende)
For *p.Character = *z To ende
If *p\c = 13
ProcedureReturn *p
EndIf
Next
ProcedureReturn 0
EndProcedure
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Stimmt ... das Springen auf die richtige Adresse und das Push und Pop fürts-soft hat geschrieben:Es fällt der Call weg!
die Parameter ... hät ich auch selber drauf kommen können

@hjbremer
Deine Schleife funktioniert so nur im ASCII Modus.

Code: Alles auswählen
Procedure FindChar(*Start.CHARACTER, Size.i, ToFind.c)
Protected *End = *Start + Size - SizeOf(CHARACTER)
While *Start <= *End
If *Start\c = ToFind
ProcedureReturn *Start
EndIf
*Start + SizeOf(CHARACTER)
Wend
ProcedureReturn #False
EndProcedure

MFG PMV