Die Suche ergab 72 Treffer

von Horst_h
Di 15. Nov 2022, 11:40
Forum: Freepascal
Thema: Was macht dieser Assembler-Code?
Antworten: 22
Zugriffe: 2148

Re: Was macht dieser Assembler-Code?

Hallo, wenn man die Funktion von kupferstecher mit Ausgabe des Assemblers kompiliert kommt doch schon der gleiche passende Assembler-Code raus. Reicht da nicht ein simples inline um dann genau so schnell zu sein? Unter 64-Bit linux fpc -O3 -al -Xs kompiliert: function rech(i, j: Integer): Integer; b...
von Horst_h
Di 29. Okt 2019, 18:55
Forum: Freepascal
Thema: Umstellung Delphi auf Lazarus: Assemblercode
Antworten: 3
Zugriffe: 1713

Re: Umstellung Delphi auf Lazarus: Assemblercode

Hallo,

das gibt es schon ohne assembler:
Rotiere x um n bits nach links die Bits werden innerhalb von x verschoben, was oben rausfällt wird unten wieder reingeschoben.
https://en.wikipedia.org/wiki/Bitwise_o ... ular_shift

https://www.freepascal.org/docs-html/3. ... dex-5.html
dort
https://www.freepascal.org/docs-html/3. ... dword.html

Gruß Horst
von Horst_h
Do 26. Sep 2019, 07:52
Forum: Sonstiges
Thema: Performance Probleme unter Windows 10
Antworten: 8
Zugriffe: 2469

Re: Performance Probleme unter Windows 10

Hallo, wenn ich unter Win10 64-Bit für FreePascal 32-Bit compiliere dauerte es immer eine Ewigkeit, obwohl die ausgegebene Kompilierzeit selbst nur maximal doppelt so lang wie bei 64-bit ist.Eben diese 10 bis 20 Sekunden Bedenkzeit, bevor es überhaupt los geht.Während der Zeit ist ein Prozessorkern ...
von Horst_h
Di 23. Okt 2018, 23:28
Forum: Sonstiges
Thema: [Gelöst] große JSON Datei
Antworten: 17
Zugriffe: 10340

Re: große JSON Datei

Hallo, ich habe noch was dran herumgeschraubt, um zu sehen ob die Suche nach Orten in der Umgebung einer Koordinate Sinn machen können. 1 Breitengrad sind ja 110 km .1 Längengrad am Äquätor auch, zu den Polen wird es etwas eng. Um Berlin sind es schon 330 Ortsangaben. Anbei das Lazarus Projekt. Es b...
von Horst_h
Mo 22. Okt 2018, 13:53
Forum: Sonstiges
Thema: [Gelöst] große JSON Datei
Antworten: 17
Zugriffe: 10340

Re: große JSON Datei

Hallo, ich habe mein Programm wieder verändert und jsonparser wie wp_xyz eingesetzt hat, um einmalig ein File of TCity zu erstellen. Diese ist schon entsprechend nach Land-> Name-> ID sortiert. Nach einmaligem Einlesen kann man dann für die Länder ja Start und Endindices speichern. Aber bei nur 16 m...
von Horst_h
Mo 22. Okt 2018, 13:12
Forum: Freepascal
Thema: Time Funktion, weche Zeiteinheit?
Antworten: 28
Zugriffe: 11399

Re: Time Funktion, weche Zeiteinheit?

Hallo, zur Verdeutlichung. Der Nachkommateil ist der Anteil vom Tag. Wenn Du die Sekunden haben willst dann x 86400 rechnen   T0 := time; sleep(1010); dt:= time-T0; writeln('Es sind ',dt:10:8,' Tage vergangen'); writeln('Es sind ',dt*24:10:8,' Stunden vergangen'); writeln(...
von Horst_h
Sa 20. Okt 2018, 18:23
Forum: Sonstiges
Thema: [Gelöst] große JSON Datei
Antworten: 17
Zugriffe: 10340

Re: große JSON Datei

Hallo, ich würde die city.list in ein file of TCity umwandeln. Das ist nur selten nötig und damit ist sie leichter handhabbar. Steffen Polster hatte vor Jahren ein OpenSource-Programm dafür komponiert: m Aber die wollen jetzt einen persönlichen "API key" , einen öffentlichen API key gibt e...
von Horst_h
Sa 20. Okt 2018, 13:50
Forum: Sonstiges
Thema: [Gelöst] große JSON Datei
Antworten: 17
Zugriffe: 10340

Re: große JSON Datei

Hallo, ich habe mal die json Datei pro Datum zu einem Einzeiler gemacht. [ {"id":707860,"name":"Hurzuf","country":"UA","coord":{"lon":34.283333,"lat":44.549999}}, {"id":519188,"name":"Novinki&quo...
von Horst_h
Sa 20. Okt 2018, 11:03
Forum: Sonstiges
Thema: [Gelöst] große JSON Datei
Antworten: 17
Zugriffe: 10340

Re: große JSON Datei

Hallo, ich habe mal ein minimales Programm aus dem Schnipsel oben geschrieben. uses sysutils,classes,fpjson,jsonparser; var FS : TFileStream; SL : TStringList; J : TJSONData; T1,T0 :int64; i : NativeInt; begin T0 := GetTickCount64; FS := TFileStream.Create('city.list.json',fmOpenRead); J := ...
von Horst_h
Sa 20. Okt 2018, 09:15
Forum: Sonstiges
Thema: [Gelöst] große JSON Datei
Antworten: 17
Zugriffe: 10340

Re: große JSON Datei

Hallo,

http://bulk.openweathermap.org/sample/
dort die erste
city.list.json.gz

Gruß Horst
von Horst_h
Mo 8. Okt 2018, 13:43
Forum: Programmierung
Thema: Gravierende Laufzeitunterschiede
Antworten: 11
Zugriffe: 7069

Re: Gravierende Laufzeitunterschiede

Hallo, besonders bei 32-Bit bekommt man die geringe Zahl an Registern zu spüren.Das auslagern in kleine Funktionen bringt erheblich was und es sollte auch vergleichbarer werden, egal wo man die Funktion im Quelltext benutzt. program p; uses sysutils;   const IMAX = 250000000; var x: double; QueryLos...
von Horst_h
Do 27. Sep 2018, 13:49
Forum: Programmierung
Thema: Gravierende Laufzeitunterschiede
Antworten: 11
Zugriffe: 7069

Re: Gravierende Laufzeitunterschiede

Hallo, wie der CPu Bench zeigt, liegt die single-thread performance bei 1:8 also nicht so weit weg von 1:10 hier. Man kann aber das Programm ein wenig umstellen, um ohne IF's und n als double auszukommen. Vielleicht hilft das ja ein wenig. program p; uses sysutils;   var x : double; i : NativeInt; n...
von Horst_h
Mi 12. Sep 2018, 13:24
Forum: Komponenten und Packages
Thema: [gelöst]Gibt es in FPC eine IntegerList?
Antworten: 29
Zugriffe: 12121

Re: Gibt es in FPC eine IntegerList?

Hallo, ich habe einen Ryzen 5 1600 Rechner und das Programm mal für 64-Bit unter Linux mit FPC 3.0.4 compiliert. Bei mir bleibt Subtraktion schneller. Original:   {$Codepage UTF8} {$mode objfpc}{$H+} {$CODEALIGN proc=32,loop=8} program Project1; und fpc so aufgerufen: fpc -O3 -Xs -al "NameDesPr...
von Horst_h
Mi 27. Jun 2018, 08:40
Forum: Units/Komponenten
Thema: Matrizen / Vectoren - Multiplikationen beschleunigen
Antworten: 14
Zugriffe: 11917

Re: Matrizen / Vectoren - Multiplikationen beschleunigen

Hallo, dann muss man alles neu schreiben oder benutzt OpenBlas oder ähnliches, das für alle möglichen CPU´s und Plattformen zu kompilieren ist und von CPU/GPU-Herstellern hochoptimert wird und gibt die entsprechenden .dll/.so oder sonstwie mit. m Dein Programm muss ja auch für die entsprechende Plat...
von Horst_h
Mo 25. Jun 2018, 17:32
Forum: Units/Komponenten
Thema: Matrizen / Vectoren - Multiplikationen beschleunigen
Antworten: 14
Zugriffe: 11917

Re: Matrizen / Vectoren - Multiplikationen beschleunigen

Hallo, m dort wird auch eine sourceforge adresse angegeben, aber die neueste Version mit Windows DLL ist wohl. m Ich habe jetzt v0.3 compiliert für Linux, aber der Aufruf hat sich geändert, da taucht ein blas_arg_t auf, da sind wohl 4 pdouble statt 3 , kann ich jetzt nicht finden   //common_level3.h...