Delphi-PRAXiS
Seite 2 von 4     12 34   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi vs Visual C++ (https://www.delphipraxis.net/190996-delphi-vs-visual-c.html)

BigAl 28. Nov 2016 10:41

AW: Delphi vs Visual C++
 
Zitat:

Zitat von Chemiker (Beitrag 1354820)
Hallo,

ein interessanter Beitrag.

Ich würde auch noch die Anmerkung machen grade im Hinblick auf die Speicherzugriffe, ob es sich um 32- oder 64 –Bit Programme handelt.

Bis bald Chemiker

Hi, das Programm ist "natürlich" für 64-Bit Architektur. Ansonsten gäbe es Probleme mit der Speicheradressierung...

Alex

BigAl 28. Nov 2016 10:47

AW: Delphi vs Visual C++
 
Zitat:

Zitat von TiGü (Beitrag 1354814)
Mal als Einstieg zu C++ AMP, denn die Stunde kriegst du bestimmt noch kürzer hin:
https://msdn.microsoft.com/en-us/library/hh873134.aspx

Das mit C++ AMP werde ich mir mal zu Gemüte führen. Das scheint sehr interessant zu sein.

Vielen Dank!

himitsu 28. Nov 2016 11:14

AW: Delphi vs Visual C++
 
MMF mit 9GB
Genug physischen RAM hast du auch oder muß Windows hier auch noch fleißig Daten zwischen RAM und HDD umschaufeln?

Eventuell auch die Speicherzugriffe im Algo optimieren, damit die zugriffe auf den RAM nicht zu sehr verteilt sind?

BigAl 28. Nov 2016 11:32

AW: Delphi vs Visual C++
 
Zitat:

Zitat von himitsu (Beitrag 1354827)
MMF mit 9GB
Genug physischen RAM hast du auch oder muß Windows hier auch noch fleißig Daten zwischen RAM und HDD umschaufeln?

Eventuell auch die Speicherzugriffe im Algo optimieren, damit die zugriffe auf den RAM nicht zu sehr verteilt sind?

Hi, das merkt man recht schnell wenn nicht genug physischer RAM da ist. Dann kann die Rechenzeit schnell in die Tage gehen :-). RAM hat der Rechner 64 GB.

Das mit den Speicherzugriffen verteilen ist auch so eine Sache. Wie gesagt: Ich habe hier eine Beschreibung "Lösung linearer Gleichungssysteme auf Parallelrechnern" von Andreas Frommer (Uni Karlsruhe) aber das übersteigt meine Fähigkeiten im Bereich Mathematik.

himitsu 28. Nov 2016 11:41

AW: Delphi vs Visual C++
 
Gut, wollte nur sicher gehn.

Wobei.
Ich hab dem Windows hier gesagt, es soll den RAM "vorzugsweise" für Programme nutzen, aber dennoch wird die WFC bevorzugt.
12 Kerne und auch 64 GB RAM

Aber seit 1-2 Monaten (paar Windows-Updates) scheint es sich verbessert zu haben.
Eventuell liegt es auch mit daran,dass wir das Webzeugs (Mail/WebServer) in 'ne VM umgelagert haben. (vorallem der Sicherheit wegen, da sich mal wer in den Webserver gehackt hatte)
Vorher war der RAM oftmals randvoll mit dem Cache (Standby+Geändert) und Programme (in Verwendung) wurden ausgelagert.
Aktuell haben wir meistens ein noch paar GB "ungenutzt/frei".
Kopiere mir grade die Arbeitsverzeichnisse eines kranken Kollegen, da geht das wieder hoch und unsere SSD schafft plötzlich nur noch 5 MB/s :lol:

Assarbad 28. Nov 2016 12:31

AW: Delphi vs Visual C++
 
Zitat:

Zitat von himitsu (Beitrag 1354833)
Ich hab dem Windows hier gesagt, es soll den RAM "vorzugsweise" für Programme nutzen, aber dennoch wird die WFC bevorzugt.
12 Kerne und auch 64 GB RAM

Diese Annahme geht dem grundlegenden Design von Windows aber zuwider. Du kannst zwar in die eine oder andere Richtung lenken, aber du kannst keine tiefergehenden Entscheidungen des MM beeinflussen. Im Benutzermodus haste ohnehin keinen Zugriff auf den echten Speicher, es sei denn ein Treiber gibt dir irgendwie Zugriff. Allerdings ist auch der Speicher den Treiber anfordern können begrenzt. Wobei eben der NonPagedPool (also Speicher der nicht ausgelagert wird) noch immer nicht der echte RAM ist, sondern noch immer eine Abstraktion des physischen Speichers bei welcher die CPU mithilft. In den meisten Fällen spielt das aber keine Rolle, weil der MM zwar faul konzipiert ist, bei Zugriff auf ausgelagerten Speicher aber fleißig wird. Und eine MMF ist nunmal quasi das Gegenteil der Auslagerungsdatei. Sozusagen eine Einlagerungsdatei von der aus Daten in den Speicher gescheffelt werden müssen.

Bei einem Problem mit derlei vielen Daten die im Speicher vorliegen müssen, könnte es auch hilfreich sein nachzudenken inwieweit die Daten komprimierbar sind ohne die Berechnung zu behindern. Buchempfehlung: "Programming Pearls" von Bentley.

RamMap von Sysinternals/Microsoft bietet übrigens einen guten Überblick über die aktuelle Speicherverwendung.

@BigAl: die eine FirePro von AMD ist glaub ich auch mit 32 GB RAM verfügbar.

Zitat:

Die S9170 verwendet den gleichen Grafikchip wie die S9150. Er stammt aus der Hawaii-Serie, enthält 2816 Rechenkerne und ist zu OpenCL 2.0, OpenMP 4.0 und OpenACC kompatibel; zum Nvidia-exklusiven CUDA freilich nicht.

himitsu 28. Nov 2016 13:25

AW: Delphi vs Visual C++
 
Nee, "direkten" Einfluss hat man eh nicht.
Es gibt da nur so 'nen Registry-Flag, womit man dem MM sagen können soll, was er "mehr" bevorzugen solle.

Aber wenn man schon 50 GB Cache im RAM liegen hat, dann wäre es nett, wenn der MM zuerst "älteren" Cache entsorgen würde, anstatt "jüngere" aktive Programme auszulagern, die ne halbe Minute später wieder zurück in den RAM geladen werden müssen. :?

Die Seitenfehler im DWM, im Explorer und im Delphi waren auch immer schön viele.
Arbeitsspeicher (privat) gegen Zugesicherte Größe sahen da im Taskmanager auch immer schön ungleichmäßig aus.



Und so sinnlose Programme, die sich RAM-Cleaner schimpfen, will auch keiner benutzen.

BigAl 28. Nov 2016 14:09

AW: Delphi vs Visual C++
 
[QUOTE=Assarbad;1354834]
Zitat:

Zitat von himitsu (Beitrag 1354833)
Bei einem Problem mit derlei vielen Daten die im Speicher vorliegen müssen, könnte es auch hilfreich sein nachzudenken inwieweit die Daten komprimierbar sind ohne die Berechnung zu behindern. Buchempfehlung: "Programming Pearls" von Bentley.

Windows komprimiert ja schon von sich aus. Im Taskmanager von Windows 10 (und 8 auch glaube ich) heißt es ja "In Verwendung (komprimiert)". Wenn ich die leere Matrix (alle Felder 0i0) im Speicher erzeuge, dann werden für die Größe mit 25.000 Elementen = 25.000 * 25.000 * 16 Byte = 1e+10 Byte (~9,3 GB) nur ein paar MB belegt. Erst wenn ich die "echten" Daten hole, dann bläht sich der Speicher auf. Leider handelt es sich nicht um eine dünnbesetzte Matrix. Da bringt komprimieren nicht viel...

Alex

himitsu 28. Nov 2016 15:29

AW: Delphi vs Visual C++
 
Wenn noch nichts in den Speicher geschrieben wurde, also nur Nullen drin stehen, dann reserviert/mappt Windows dafür keinen physichen Speicher.

Assarbad 28. Nov 2016 15:40

AW: Delphi vs Visual C++
 
@himitsu: https://en.wikipedia.org/wiki/Virtua...ry_compression ... ist in Windows 10 enthalten. Er meint sicher das. Man könnte es als das Gegenstück zu "sparse files" betrachten.

Und zumindest die Strukturen für die Buchhaltung dieser vielen Speicherseiten muß Windows bereits bereitstellen. Ich schätze mal, daß dies der beobachtete Overhead ist.

@BigAl: ich meinte eher weniger klassische Komprimierungsalgorithmen als clevere Methoden um deine Daten auf weniger Speicher abzubilden. Das Buch ist auf Deutsch unter dem Titel "Perlen der Programmierkunst" im Handel oder vielleicht bei einer Bibliothek in deiner Nähe erhältlich. Seitdem wir nämlich Speicher- und Plattenplatz im Überfluß zur Verfügung haben und uns ggf. zukaufen können, machen sich viele Entwickler keine Gedanken mehr über die Algorithmen. Dabei liegt dort oft das eigentliche Optimierungspotential.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr.
Seite 2 von 4     12 34   

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf