PureBasic 4.20 Beta - All OS
- 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
PureBasic 4.20 Beta - All OS
Zuletzt geändert von ts-soft am 12.05.2008 01:12, insgesamt 1-mal geändert.
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.

- 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
Nein, ichAND51 hat geschrieben:Und erster!

Egal, erstmal ziehen und testen

// edit
das wohl wichtigste in diesem Board:
Deutsche Hilfe enthalten

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.

Nein, erster, der auf diesen Thread antwortet.ts-soft hat geschrieben:Nein, ichAND51 hat geschrieben:Und erster!![]()

Heißt das, Fred hat alles mögliche optimiert, indem er von LCC auf VisualC++ 2005, FASM auf NASM und so weiter umgestiegen ist?
Bedeutet das für unsere Programme mehr Performance, habe ich das richtig verstanden?
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- 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
Der hat wohl Probleme, das wohl längste Posting von Fred zu übersetzenmarco2006 hat geschrieben:Bekommen wir von Fr34k auch eine ausführliche Erklärung?

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.

Ährlich, das wäre fein.edel hat geschrieben:Sieht nicht danach aus.

Hier die Übersetzung ala Babelfish:


Hallo, Ist hier das fünfte Betarelease der bevorstehenden Version 4.20 von PureBasic. Es erhält länger, wie erwartet, und wir möchten einige Zeit verbringen, zu erklären warum. Schlagen Sie nicht heraus, es ist vermutlich das letzte Beta leicht, wenn alles freundlich Lächeln geht. Ist hier die Geschichte: Anfangs wurden 4.20 bedeutet, um eine ' neuer Befehl nur ' zu sein Freigabe. So keine grossen Probleme wurden vorausgesehen, da wir nicht auf dem Compiler oder dem Debugger arbeiten. Besser, wurden die meisten neuen Bibliotheken bereits geschrieben, wie wir häufig interresting Arbeit der Extrakosten erledigen, wenn, Wanzen zu reparieren zu langweilig wird (wir schließen die neue Bibliothek nicht im Freigabebaum, also das Bibliothekdose maturate pacefully ein). So gut bis jetzt, 2 Monate nachdem die 4.10 Freigabe, ein neuer Betaerfolg der Boden. Und jetzt, erhielten Sachen eine Spitze komplizierter. Wir treffen wieder ein LccWin32 bugs/limitation an, also entschieden wir, daß es Zeit war, zu VisualC++ 2005 abzuwandern. Diese Wahl wurde aus serveral Gründen getroffen: 1) ist es der ' amtliche ' C/C++ Compiler auf Windows 2), das es frei (wir benutzen die ausgezeichnete ' ausdrückliche Ausgabe) 3) es guter Code des Erzeugnisses sehr ist (viel besser als lcc - einige Bibliotheken gewannen 50-100% in der Geschwindigkeit, gerade indem sie den Compiler schalteten), 4) es hat eine Version X64 außerdem, also haben wir ein direktes Tor zu 64 Bits Windows ohne zu viel Streit (mindestens für die Bibliotheken) 5) Wanze frei (mindestens auf der Compilerseite) So begannen wir so Migration aller Bibliotheken und der Compilerbibliotheken (SystemBase, StringManager, etc..). Einige von ihnen benutzten lcc Inline-ASM, also benötigt durchaus etwas Arbeit, um sie zu haben, zum zu arbeiten. VC++ ist auch picky und Tonnen Warnung erscheint und benötigte eine Korrektur. Außerdem aktivierten wir die Überprüfung der Beweglichkeit mit 64 Bits und unsere Konsole wurden definitiv überschwemmt. Denken Sie als, wenn wir das vollständige commandset abwandern, es beeinflussen tousand der Akten, alle Makefiles muß angepaßtes usw. sein. Aber, wie Sie verstehen können, ist es für das beste. Einige Wochen später, erhielten wir alles Gebäudegeldstrafe und während Sie sie schätzten, die 64 Bits, die das Kompilieren (fast) außerdem bearbeitete. Es war die Unterseite, zum der Arbeit für den berühmten Compiler X64 anzufangen. Wir, obwohl wir mit diesem getan wurden, aber eine merkwürdige Optimierung VC8 beeinflußten die Weise, die PureBasic, das Zeichenkette genannt wird, arbeitet (PureBasic nahm an, als die Argumente, die auf den Stapel für die Funktionen geführt wurden, nie durch eine C Funktion geändert würden (und sie ist der Fall mit lcc und GCC). Aber es gibt keine freien infos auf diesem, und wirklich Gebrauch VC8 die Stapelparameter als Temperatur Bereich, wenn erforderlich). So war eine Compileränderung erforderlich, die, nach einer Menge investiigation (wir erhielten gelegentliche Abbrüche auf einigen Funktionen) zu regeln. Zwischen, stellten wir etwas Rückbildungen gegenüber, also haben wir viel einheitlichere Tests geschrieben, um das commandset robuster zu bilden zu den Änderungen. Diese laufen mit dem ' PureUnit ' Werkzeug developped durch Timo (Fr34k) der bald gebildet seine Weise im amtlichen PB-Paket wird, da es wirklich eine große sicherzustellen ist Hilfe,, benimmt sich ein Modul, wie, auf jedem plateform erwartet. Nun da alle Bibliotheken und Helfer mit VC8 kompiliert wurden, könnten wir nicht den Compiler selbst lassen, der Lcc verwendet. So begannen wir die Migration außerdem. Die Gewinne während der Kompilierzeit waren (10-30%) gut, aber wir mußten eine Spitze VC8 betrügen, um ein LaufzeitcDll altes VC (MSVCRT.dll) anstelle vom neuen VC8 eins zu benutzen, da es nicht aus dem Kasten laufen würde, ohne die Laufzeiten VC8 heraus zu versenden. Google half Wink hier. Auf einem anderen Thema stirbt CVS und überall ersetzt durch SVN. Vor wir wanderten der Bibliotheken Behälter einiger Zeit ab, aber der Compiler und die internen Werkzeuge verwendeten noch dieses alte gealterte CVS. Die Migration war nicht der CVS Behälter auf einem NT gegründeten Computer sehr, so glatt auch war, während der Index, der benötigt wurde, um die Migration zu tun, auf linux waren. Nachdem einiges sich verdreht, funktionierte es schließlich. So SVN überall. Und es ist Weise besser, ehrlich. Timo wollte ein Auswerteprogramm dem IDE hinzufügen, also er. Und er quoll hervor. So remainded er mich, als ich nicht profiliert dem Compiler seit wann und es der Spaß durchaus sein könnte, zum zu tun. Ich versuchte, ein gutes Auswerteprogramm auf Windows (jedermann zu finden?) aber fand nur das teure quantitativ zu bestimmen (und zu glätten, zeigte die Demoversion nur API Anruf mit vollziehbarem VC8, dunno, wenn sie auf Zweck ist, oder wenn es eine Wanze ist). So feuerte ich es mein linux Kasten ab und benutzte gprof und den linux Compiler. Ich verwendete das IDE Quellenprogramm als Festpunkt (60 000 Linien). Und hier, der Unfall: 23 Millionen stricmp() benennen - benannt, wenn sie nach einem Zeichen suchen (wie Konstante, Struktur, Verfahren, Funktionen, Makro etc.). Scheint wie meine alten Nachschlagentabellen leiden hier. Für sicheres haben die Bewohner fast 8000 Konstanten und die Nachschlagentabelle war die kleine Weise zu. Ich entschied, den mit realem Durcheinanderdiagramm zu ändern. Der Gewinn war, jetzt nur 500 000 Anrufe zum stricmp() werden getan eindrucksvoll. Die vollständige Bearbeitungszeit des Quellenprogrammfalles unten von Ms 3500 zu Ms 500 auf meinem Computer. Diese Optimierung ist in den Beta5 vorhanden, also, wenn Sie ein grosses Projekt haben, können Sie dem Unterschied glauben. Wir wollten auch die meisten wichtigen restlichen Wanzen seit der letzten Version 4.10 anpacken (und vorher glätten), also verbringen wir durchaus einige Zeit, folglich zu regeln (auf den 3 OSes). Dieses führte mich, das ' QuadUnit ' zu überarbeiten, das verwendet wird, um Viererkabel gegründeten Betrieb zu manipulieren und durchzuführen. Das man developped für PB 4.00 war gut, aber die Weise, die zu kompliziert sind und irgendein Fall waren wirklich hart anzufassen. So vereinfachte ich das Ganzdesign und rekodierte mehrere Schlüsselteil. Diese Änderung ist auch in Beta5, also zögert nicht, über Wanzen zu berichten wenn irgendein. Mindestens berichtete das ganzes Viererkabel über Wanzen werden geregelt jetzt. Es sollte Nr. oder sehr wenig Rückbildung haben, da alle örtlich festgelegten Wanzen ein Teil der Compilermodultests sind (jeder Compiler hört örtlich festgelegtes erhalten eine neue Eintragung in der Rückbildungtestsuite ab). Tatsächlich addierten wir zu viel befehlen für eine einzelne Version, aber he, sind wir Größenwahnsinnige. So erhielten wir abhören plently Reports über diese (logisch, da diese neuen Bibliotheken nicht trivials waren). Dank der ganzer Sie für die Reports und die Geduld. Da wir nicht stoppen können, wenn wir auf etwas frischen Materialien arbeiten müssen, begannen wir die Version mit 64 Bits von PureBasic und von MacOS X Version x86. Man könnte als denken, die MacOS X Version x86 eine Angelegenheit ein Recompiling gerecht sein würde, aber Sie nicht das falsch sein konnten. OS x x86 ABI ist gerade schreckliches und Notwendigkeit sehr strick Stapel alignement überall (auf 16 Bytegrenzen) das die Windows/Linux Version nicht requiers. Wenn der Stapel falsch ausgerichtet wird, es manchmal die Arbeit, manchmal nicht, führend zu sehr stark, um Wanzen aufzuspüren. So ist der Compiler überarbeitet worden, um Stapelausrichtung ganz über dem Code anzufassen. Außerdem ist FASM nicht auf OS x x86 vorhanden, also entschieden wir, abzuwandern alle Versammlung Bibliotheken (verbundene Liste, Verschiedenes usw..) auf NASM. In der Tat ist der Compiler geändert worden, um NASM kompatiblen Code anstelle von FASM auszugeben. Auf der Seite x64 ist die Arbeit die Versammlung selbst nicht dieselbe sogar gewesen, so härter auch ist. Gut kommen beide ziemlich freundlich, und der allgemeine Test kommt bald. Das Letzte aber nicht das wenige, viele neue Befehle bedeutet eine Menge Doc. zu schreiben. Dieses nimmt viel Zeit, da wir es in 3 Sprachen tun, wie Sie wissen. Die Beta5 kommt mit dem Doc. in 3 langages, für alle neuen Befehle. O.K., also Sie können die Beta5 auf Ihrem Konto ergreifen und es prüfen. Die Beta für Linux und OS X sind außerdem bereit, aber wir warten eine Spitze, bevor wir sie veröffentlichen (sehen, wenn es keine HauptVerschrobenheiten gibt. Und BTW, wenn Sie die Beta4 verwendeten, überprüfen Ihr ' Temperatur ' Verzeichnis, da eine böse Wanze nicht alle PB-Temperatur dirs entfernte und sie könnte etwas Raum nehmen. Haben Sie Spaß! Die Fantaisie Software-Mannschaft
:::: WIN 10 :: PB 5.73 :: (x64) ::::