Hallo Torge, danke für die umfassenden Erkenntnisse, ich werde das mal versuchen nachzuvollziehen.
Mittlerweile habe ich die allgemeine Frage nach Benchmarking im Simulator an die vm-dev-Liste weitergeleitet. Viele Grüße, André Torge Husfeldt schrieb: > Hallo André, > > Ich habe mal versucht, das Problem nachzuvollziehen und mir sind dabei > mehrere Dinge aufgefallen. > 1. Im aktuellen Squeak-dev-Image (3.9) konnte ich die MakroBenchmarks > nicht finden, ich habe sie von SqueakMap nachgeladen (für 3.7) > - a) diese Version musste ich leicht anpassen, damit sie überhaupt läuft > und dabei musste ich den benchmark3 auskommentieren, weil dieser intern > auch wieder simuliert, was schiefgeht > 2. Alle Fehler während der Simulation werden vom mit der selben > aussagearmen Fehlermeldung an den User zurückgegeben. > a) die eigentliche Fehlermeldung findet sich dann im 7. Eintrag des > Stacks, wenn man in die lokale Variable arguments schaut. > In meinem Fall bin ich dort auf ein Message not understood: quo: > gestossen. Dann habe ich mich durch die Sender-chain nach oben gehangelt > (wie es sonst auch der Debugger machen würde) und bin beim Aufruf von > Smalltalk timeStamp: gelandet. > Irgendwo in dieser Kette wird das aktuelle Datum in Nanosekunden > ausgerechnet und dann als argument an Duration>>nanoSeconds: übergeben. > Wie man sich leicht vorstellen kann, handelt es sich dabei um einen > Large Integer, der irgendwie bei dieser Übergabe in ein Array > umgewandelt wird (frag nicht wie, soweit bin ich noch nicht, aber es > orientiert sich am printString (der LargeInt ist in meinem Beispiel > 212058345600 und das Array ist #(212 58345600) )), das dann natürlich > kein quo: versteht. > > Scheint mir im Moment noch ziemlich verworren. Man sollte einen Debugger > extra für den Simulator schreiben (oder den jetzigen anpassen). > > Gruss, Torge > > André Wendt schrieb: >> Hallo *, >> >> beim Versuch, den Code >> >> ContextPart tallyInstructions: [MacroBenchmarks run] >> >> auszuführen, erhalte ich den Fehler "context not in process". Einen >> Report zu ähnlichen Aufrufen habe ich bereits unter >> <http://bugs.squeak.org/view.php?id=5716> gefunden. Meine Fragen dazu: >> >> Woran liegt das? >> >> Kennt jemand komplexere Benchmarks als Integer>>#benchmark und >> Integer>>#benchFib, die im Simulator funktionieren? >> >> Gibt es andere Möglichkeiten als den Simulator, um die ausgeführten >> Instruktionen zu analysieren? >> >> Grüße, >> André >> > >
