Hmm, ich hatte gehofft, ich hätte mich nur vertippt, hab's aber tatsächlich an die vm-dev- statt an die squeak-dev-Liste geschickt.
Ich hoffe, ich kann den Zorn der Götter nochmal abwenden... Wünscht mir Glück! ;-) André Bert Freudenberg schrieb: > Ähm, wieso gerade die vm-dev-Liste? Das ist *nicht* der Interpreter- > Simulator aus dem VMMaker-Paket, hat also mit der VM nicht direkt zu > tun. Oder vermutest du einen VM-Bug? > > - Bert - > > On Oct 8, 2007, at 22:03 , André Wendt wrote: > >> 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é >>>> >>>
