|
|
|
|
| Zitat von Wraith of Seth
| Zitat von RichterSkala
Dass die Auflösung vom Hostname das Problem ist?
Xerxes: I feel you
| |
Wie kann das sein?
No man is an island, entire of itself;
| |
Was jetzt?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Xerxes-3.0 am 04.02.2015 8:56]
|
|
|
|
|
|
| Zitat von Wraith of Seth
| Zitat von RichterSkala
Dass die Auflösung vom Hostname das Problem ist?
| |
Wie kann das sein?
No man is an island, entire of itself;
| |
Wenn das eine System nen schnellen DNS Server hat und das andere einen langsamen, dann braucht das langsame System länger um mit dem Server zu verbinden...
|
|
|
|
|
|
|
Also vorweg, weil die Frage kam: Ich kann es auf die Zeile mit dem WebResponse eingrenzen. Dort geht, aus Sicht des Codes, die Zeit verloren.
DNS-Server benutzen beide den selben da der FTP intern erreichbar ist.
Ich habs mit der IP ausprobiert, macht keinen Unterschied.
Jetzt wirds dann haarig :/
|
|
|
|
|
|
|
So ein richtiger Tracer, sagen wir strace, wär jetzt praktisch.
|
|
|
|
|
|
|
Kennt sich zufällig einer von euch mit numerischen Lösungsverfahren für Differentialgleichungssysteme aus oder einfach allgemein mit num. LSV?
|
|
|
|
|
|
Physikerklickstrecken fuer 100
|
Die 10 schlimmsten Laborgase - Messröhren hassen Nr. 4
|
|
|
|
|
|
|
| Zitat von csde_rats
So ein richtiger Tracer, sagen wir strace, wär jetzt praktisch.
| |
Wenn du einen Vorschlag hast wie, was und wo? Gerne auch ein Tutorial, da das für mich alles böhmische Dörfer sind.
Ich seh nur nach dem CreateThread is 2 Sekunden Langeweile...
|
|
|
|
|
|
|
| Zitat von RichterSkala
Die 10 schlimmsten Laborgase - Messröhren hassen Nr. 4
| |
Fluor?
|
|
|
|
|
|
|
| Zitat von RichterSkala
| Zitat von Wraith of Seth
| Zitat von RichterSkala
Dass die Auflösung vom Hostname das Problem ist?
| |
Wie kann das sein?
No man is an island, entire of itself;
| |
Wenn das eine System nen schnellen DNS Server hat und das andere einen langsamen, dann braucht das langsame System länger um mit dem Server zu verbinden...
| |
Neinein, der negative Wirkungsquerschnitz.
Commander, set a new course. There's coffee in that nebula.
|
|
|
|
|
|
|
Meistens mit dem selben Mechanismus, der Neutrinos ftl fliegen lässt
|
|
|
|
|
|
|
Nein, was ich meine ist: Müssten nicht alle Messwerte irgendwie per definitionem größer Null sein? Für mich klingt das wie: Es ist negativ viel Wasser im Pool.
...kein Mensch kann sie wissen, kein Jäger erschießen.
|
|
|
|
|
|
|
Pff, es gibt auch negative Frequenzen.
| Zitat von Viva la Bluescreen
| Zitat von csde_rats
So ein richtiger Tracer, sagen wir strace, wär jetzt praktisch.
| |
Wenn du einen Vorschlag hast wie, was und wo? Gerne auch ein Tutorial, da das für mich alles böhmische Dörfer sind.
Ich seh nur nach dem CreateThread is 2 Sekunden Langeweile...
| |
Ja äh keine Ahnung, bin ich Windows-Entwickler? Stack Overflow sagt, dass strace für Windows im Prinzip® ProcMon sein sollte. Also solltest du da irgendwo einstellen können, was für Aufrufe er protokollieren soll. Und CreateThread hängt nicht, nie, fertig. Ergo ist dein Protokoll unvollständig (da nicht alle Aufrufe geloggt) oder es hängt in .NET Code.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 04.02.2015 16:21]
|
|
|
|
|
|
Das ist einfach: Absorptionswirkungsquerschnitte lassen sich supereinfach™ über das Lambert-beersche Gesetz bestimmen:
Dabei ist sigma der Wirkungsquerschnitt, l die Absorptionslänge und n die Teilchendichte, die sich bei bekanntem Druck mit der idealen Gasgleichung ausrechnen lässt.
Die Prozedur ist 1. mit leerer Zelle messen (also I0), dann 2. mit Gas in der Gaszelle messen (für I) und...joa, teilen, logarithmieren, ausrechnen, done.
Wenn die HRRRNZ Beamline oder die HRRRRNZ Photodiode oder irgendwas anderes HRRRNZ bei der Absorptionsmessung mehr Signal misst als bei der Leermessung, wird plötzlich der Logarithmus auch negativ.
Die Kurve sieht gut aus, hat aber leider einen Offset von -3Mbarn.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Xerxes-3.0 am 04.02.2015 16:25]
|
|
|
|
|
|
Ah. Hm. Irgendwie habe ich Lambert-Beer nie mit Wirkungsquerschnitten gesehen (oder wieder vergessen). Auch wenn es im Nachhinein viel Sinn ergibt, dass der da in die Eindringtiefe eingeht...
It's a level eighty female-only persuasion spell. We try not to overuse it.
|
|
|
|
|
|
|
Weiß ich doch nicht was und wo du entwickelst .
ProcMon hat nur 5 Message-Typen die man aktivieren kann, das ist File IO, Registry, TCP, Thread/Process und Profiling. Alles war an.
Es wird also schon alles mitgeschrieben was das Tool hergibt. Also brauch ich irgendein weiterführendes Tool das auch halbwegsverständlich ist
|
|
|
|
|
|
|
WinDbg. Oder einfach direkt VS Debuger anhängen. Kommt von den Meldungen her aufs gleiche raus, da gleicher Debugger. Aber WinDbg kann man einfach so immer installieren und anhängen.
In VS dann auch noch step into .net anschalten...
|
|
|
|
|
|
|
Möp, una pregunta filosófica.
Ich habe da ja meine Simulation und sie wächst und wächst. \o/ Beim letztzen Feature, was ich hinzugefügt habe, ist ein bisschen lightweight Lineare Algebra nötig; Ich muss von 3x3 Matrizen das EIgensystem finden, ein bisschen Matrix*Vektor Multiplikation usw. Das habe ich momentan von Hand selbst geschrieben bzw. mir für die Eigensystem Berechnungen eine kleine 1-Datei-lib aus dem Netz gesucht. Es funktioniert zwar, aber ich überlege hoch und runter, ob ich nicht doch eine Lineare Algebra Lib nutzen sollte.
Vorteile
a) Ich kann viel eigenen Code rauswerfen, der sicherlich nicht so toll ist wie der, z.B., von Eigen
b) Der Rest meines Codes wird lesbarer
Nachteile
a) Eine Abhängigkeit mehr (bisher: boost, libconfig, netCDF)
Fragen
a) Sind so libs, die auf generelle NxM Matrizen ausgelegt sind, vielleicht langsamer in meinem 3x3 (symmetrischen!) Fall?
b) Sollte ich meine tuple<double, double, double> auf irgendeine Vektor Klasse dieser lib ändern, wie sieht's mit ZUgriffszeiten auf Elemente aus? Lesbarer wäre der Code sicherlich.
Kennt jemand eine Bibliothek, die extra Module für Geometrie, also Dimension 3, hat und dafür optimiert ist?
/e: Hier ein bisschen Input und hier.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Oli am 05.02.2015 9:07]
|
|
|
|
|
<Generische Antworten Rats>
|
| Zitat von Oli
a) Sind so libs, die auf generelle NxM Matrizen ausgelegt sind, vielleicht langsamer in meinem 3x3 (symmetrischen!) Fall?
| |
Benchmarken oder erzeugte Assembly anschauen. Das ist keine Hexenmagie, der Compiler schreibt dir viele Kommentare in die erzeugte Assembly.
Ich gehe aber vorher schwer davon aus, dass der generelle Fall langsamer sein wird als dein Spezialfall. Aber wahrscheinlich kannst du der Bibliothek was über deine Matrizen verraten, sowas wie "Nehme an, diese Matrix ist symmetrisch" geht bestimmt - das wäre was wichtiges vorher herauszufinden
| Zitat von Oli
b) Sollte ich meine tuple<double, double, double> auf irgendeine Vektor Klasse dieser lib ändern, wie sieht's mit ZUgriffszeiten auf Elemente aus? Lesbarer wäre der Code sicherlich.
| |
Tendentiell optimiert der Compiler häufige und einfache Indirektionen komplett raus, wenn die Definition von Gettern bekannt ist. Aber auch hier: Der letzter Weisheit Schluss ist sich den Assembler vor- und nachher anzuschauen.
Muss ja nicht dein Gesamtprogramm sein, reicht ja für eine erste Evaluation aus, wenn du die Situation halbwegs akkurat nachstellst (v.a. in Hinsicht auf Sichtbarkeit von Definitionen)
|
|
|
|
|
|
|
| Zitat von SwissBushIndian
WinDbg. Oder einfach direkt VS Debuger anhängen. Kommt von den Meldungen her aufs gleiche raus, da gleicher Debugger. Aber WinDbg kann man einfach so immer installieren und anhängen.
In VS dann auch noch step into .net anschalten...
| |
Ich hab jetzt mal versucht Tutorials dafür zu lesen aber ich versteh nur Bahnhof. Irgendwelche Tipps wie ich mit dem Tool da rangehen könnte?
|
|
|
|
|
|
|
Danke rats. Ich werde mal Tests laufen lassen.
|
|
|
|
|
|
|
Ich hab nen Integerwert und möchte den auf ne Integerrange skalieren.
Mein Pseudocode zum veranschaulichen
u_int16 input
u_int16 min
u_int16 max
u_int8 output
output=(input-min)/(max-min)*255.
Jetzt passiert das ganze in LabView und daher muss ich für die Division in Double wandeln. Ist jetzt nicht weiter schlimm, aber ich hab mich spontan gefragt, ob es nicht auch schlauer geht?
|
|
|
|
|
|
|
| Zitat von RichterSkala
Ich hab nen Integerwert und möchte den auf ne Integerrange skalieren.
Mein Pseudocode zum veranschaulichen
u_int16 input
u_int16 min
u_int16 max
u_int8 output
output=(input-min)/(max-min)*255.
Jetzt passiert das ganze in LabView und daher muss ich für die Division in Double wandeln. Ist jetzt nicht weiter schlimm, aber ich hab mich spontan gefragt, ob es nicht auch schlauer geht?
| |
output=((input-min) * 255) /(max-min).
Oder wirft das nen Fehler wenn du nicht in double castest?
/e: Ach lulz, integer overflow. Vergiss meine Antwort.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Oli am 05.02.2015 18:34]
|
|
|
|
|
|
Ja, dadurch dass man den Overflow abfangen muss, ist es vermutlich am besten den einfach den Umweg über den double cast zu nehmen.
|
|
|
|
|
|
|
Jemand n Plan wie ich unter Windows Fragmentierungsproblemen des Heaps auf die Schliche komme? Kriege in meiner Applikation immer wieder mal nen std::bad_alloc wenn sie viel RAM verbraucht.
|
|
|
|
|
|
|
Mal ne dumme Frage: Warum zeigt mir folgendes Programm am Ende ne RAM Nutzung von nur 6,6MB an? Er zaehlt stetig hoch, aber nicht so wie ich mir das vorstelle. Mein alloziertes Array sollte doch immer 1MB gross sein, oder bin ich jetzt ganz doof?
|
Code: |
#include <iostream>
#include <chrono>
#include <thread>
int main()
{
for (int i = 0; i < 1024; i++)
{
std::cout << i << std::endl;
std::this_thread::sleep_for(std::chrono::milliseconds(50));
char *ptr = new char[1048576];
}
std::cout << "Done." << std::endl;
int x = 0;
std::cin >> x;
}
|
|
Optimiert der Compiler da irgendwas raus, passiert da irgendein Voodoo seitens Visual Studio oder was raff ich da nicht?
|
|
|
|
|
|
|
/Muss ich da noch Memset machen?
//Memset hilft.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von MCignaz am 06.02.2015 22:43]
|
|
|
|
|
|
Das sind Optimierungen im Release - als Debugbuild kompillieren hilft auch.
|
|
|
|
|
|
|
Nö nicht unbedingt.
Das OS alloziert* Kram den du nicht benutzt nicht wirklich, sondern erst, wenn du einen Zugriff auf eine vorher allozierte Addresse machst. Siehe optimistische Speicherallokation.
* alloziert nicht wie in malloc, sondern wie in "dieser Block physischer Speicher gehört jetzt XXX"
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von csde_rats am 06.02.2015 23:18]
|
|
|
|
|
|
// Vielen Dank für die Hilfe! <3
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von SirHenry am 07.02.2015 0:05]
|
|
|
|
|
|
| Zitat von csde_rats
Nö nicht unbedingt.
Das OS alloziert* Kram den du nicht benutzt nicht wirklich, sondern erst, wenn du einen Zugriff auf eine vorher allozierte Addresse machst. Siehe optimistische Speicherallokation.
* alloziert nicht wie in malloc, sondern wie in "dieser Block physischer Speicher gehört jetzt XXX"
| |
Jopp - allerdings habe ich hier (mit VS2013) explizit Debug- und Releasebuild getestet und im Releasebuild das von MCignaz beschriebene Verhalten gesehen (6,6MB RAM) und im Debugbuild die eigentlich, zumindest intuitiv erwartete RAM-Nutzung von 1GB.
|
|
|
|
|
|
Thema: pOT-lnformatik, Mathematik, Physik XVII ( Code drunk, debug sober! ) |