*** Protokolldatei gestartet *** Datum: Mi Dez 10 20:00:38 2008 [Mi Dez 10 2008] [20:00:38] Betreten Sie haben den Kanal #forth-ev betreten (~bernd@ppp-88-217-86-16.dynamic.mnet-online.de). [Mi Dez 10 2008] [20:00:41] Modus Kanalmodi: [Mi Dez 10 2008] [20:14:01] "I'll do that, [Mi Dez 10 2008] [20:14:16] write my own highly optimizing native code compiler" [Mi Dez 10 2008] [20:14:40] cool. Ahh. And servus! [Mi Dez 10 2008] [20:16:23] Hallo! [Mi Dez 10 2008] [20:16:46] Wobei ich noch nicht weiß, ob ich wirklich die Zeit dazu haben ;-) [Mi Dez 10 2008] [20:17:21] Die Ideen trage ich schon länger mit mir 'rum. [Mi Dez 10 2008] [20:18:35] Bernd, Du entsinnst dich doch meiner Meinung, das ein String nicht so ganz das gleiche wie ein Bytearray ist? Die python-Jungs haben grade dieser Tage eine neue Version (3.0) herausgebracht in dessen Release Notes genau da ein Schnitt angesetzt wird und die Kompatabilität aufgegeben wurde. [Mi Dez 10 2008] [20:19:19] Was ist dann in Python 3 ein String genau? [Mi Dez 10 2008] [20:19:30] Eine Folge von Zeichen [Mi Dez 10 2008] [20:19:34] Bernd: Gemaess der Kontext des Zitats hoffe ich das du keine Zeit haben wirst :-) [Mi Dez 10 2008] [20:20:29] Wenn die Abfindung stimmt, kann ich mir durchaus auch mal ein Sabbat-Jahr leisten ;-) [Mi Dez 10 2008] [20:20:35] http://docs.python.org/3.0/whatsnew/3.0.html [Mi Dez 10 2008] [20:22:53] Ein kleiner Schritt fuer Digital Audio, aber ein grosser Schritt Forthwaerts [Mi Dez 10 2008] [20:24:16] Noch sind bei uns lediglich die Leute in der Produktion betroffen. [Mi Dez 10 2008] [20:24:53] Aber nachdem die Aktie vorübergehend auf 10% vom Wert im Frühjahr gefallen ist, herrscht natürlich allerortens Nervosität [Mi Dez 10 2008] [20:29:14] Warum bleibt ihr eigentlich gcc so gewaltig treu? Viel Aerger, wenig Freude? [Mi Dez 10 2008] [20:32:49] Und relativ viel Aufwand, die Abhängigkeit zu beenden... [Mi Dez 10 2008] [20:38:29] Vor allem ist der Ärger ja immer nur inkrementell: Hier ein bisschen schlechter, da ein neuer Workaround nötig... [Mi Dez 10 2008] [20:38:47] Erst wenn man das dann kummulativ betrachtet, merkt man, was da abgeht. [Mi Dez 10 2008] [20:41:33] Mit der Qualität der GCC-Entwicklung bin ich eigentlich nicht mehr zufrieden, seit Cygnus die übernommen hat [Mi Dez 10 2008] [20:41:47] (deshalb ist auch der 2.95er wohl der beste: Das war der Anti-Cygnus-Fork) [Mi Dez 10 2008] [20:42:26] Cygnus lebt vom GCC-Service, d.h. das Interesse liegt daran, GCC-Programmierung für Outsider möglichst schwer zu machen, und die Qualität vom GCC so niedrig zu halten, dass Service nötig ist. [Mi Dez 10 2008] [20:42:42] Cygnus gehört jetzt RedHat, aber am Ziel hat sich wohl wenig geändert. [Mi Dez 10 2008] [20:45:20] Kürzlich hat eine Studie behauptet: "Das Business-Modell Open Source als Service ist gescheitert" [Mi Dez 10 2008] [20:45:30] "Weil die Qualität von OS-Programmen generell zu gut ist" [Mi Dez 10 2008] [20:45:48] Cygnus hat von diesem Business-Modell ganz gut gelebt ;-) [Mi Dez 10 2008] [20:49:27] Marcel: Warum kanonisiert dein RP@ eigentlich nicht den Return-Stack? [Mi Dez 10 2008] [20:53:00] Wahrscheinlich ein benchmark irgendwo das dan schlecht ausgeht. Steht aber jetzt in de 'To-Do' Liste for iForth64 Gold Edition. [Mi Dez 10 2008] [20:56:12] Ein Benchmark dürfte so ein Wort aber gar nicht verwenden... [Mi Dez 10 2008] [20:56:56] Und wenn er damit PAUSE oder CATCH/THROW nachimplementiert, dann funktioniert das ja auch nur, wenn an der Stelle der Stack tatsächlich so ist wie erwartet. [Mi Dez 10 2008] [20:58:23] Aha: Crenshaw's compiler, Gray, PL1, SOD64 und threads sind betroffen. RP@ wird in DEPTH gebraucht, und DEPTH ist in der MPE benchmark. [Mi Dez 10 2008] [20:59:20] Das riecht eher danach, eine Spezial-Version für DEPTH zu machen. [Mi Dez 10 2008] [20:59:48] DEPTH sollte aber eigentlich nur SP@ brauchen, aber wohl selbes Thema. [Mi Dez 10 2008] [21:00:12] So wird's wohl auch abgehen. [Mi Dez 10 2008] [21:03:00] Sag mal Bernd, wuerdest du ein multi-pass Compiler machen, oder laesst sich das vermeiden? [Mi Dez 10 2008] [21:03:16] 2-Pass [Mi Dez 10 2008] [21:03:26] Erster Pass: Tokenisierung [Mi Dez 10 2008] [21:03:34] 2. Pass: Code Generieren. [Mi Dez 10 2008] [21:03:48] Dann hat man im 2. Pass bereits alle relevanten Sachen zugreifbar. [Mi Dez 10 2008] [21:04:10] Der erste Pass ist praktisch ein Byte-Code-Compiler. [Mi Dez 10 2008] [21:04:33] Damit mir die Tokens nicht ausgehen, vielleicht ein Xchar-Code-Compiler ;-) [Mi Dez 10 2008] [21:05:57] Aber mit [ ] kann mann so vieles nicht-Reversibeles machen das 2 Passes mir etwas beaengstigen. [Mi Dez 10 2008] [21:09:56] Hm, alles was dort passiert, sollte bereits im Byte-Code eingefrohren werden. [Mi Dez 10 2008] [21:10:32] Wenn man nur Forth compiliert, also ohne Vorwärtsreferenzen, reicht eigentlich ein Pass. [Mi Dez 10 2008] [21:11:14] Der zweite Pass hilft allenfalls, unnötigen Code gar nicht erst zu compilieren, etwa Definitionen, die ohnehin nur ge-inlined werden, und gar nicht direkt aufgerufen werden. [Mi Dez 10 2008] [21:13:27] Für C oder ähnliches sind die zwei Passes unumgänglich, wobei ich Pass 2 da erst beim Linken machen würde. [Mi Dez 10 2008] [21:13:41] Run-time profiling waehre vielleicht schoen (und einfach machbar?) [Mi Dez 10 2008] [21:15:02] Dazu braucht man aber auch aussagekräftige Testläufe [Mi Dez 10 2008] [21:15:22] In der Regel hilft run-time profiling beim Benchmarking viel, in der Realität eher wenig. [Mi Dez 10 2008] [21:21:30] Machbar ist es natürlich relativ einfach: An jeder Verzweigung zählen, wie oft die Stelle ausgeführt wird, und bei bedingten Sprüngen den Zähler noch nach Hits/Misses aufteilen. [Mi Dez 10 2008] [21:22:14] Ein ganz grosser Database aller meiner Programme und Woerter, mit branch Coverage Info, und die Garantie das jeder weitere Programm lauf mehr Geschwindigkeit und weniger Bugs bringt, hat doch etwas verlockendes :-) [Mi Dez 10 2008] [21:22:57] Man könnte mit der Debug-Information auch ein Branch-Coverage-Highlighting im Editor machen ;-) [Mi Dez 10 2008] [21:23:12] Also etwa alle Code-Teile markieren, die noch nie durchlaufen wurden [Mi Dez 10 2008] [21:23:46] Hoert sich wie ein Unicum an? [Mi Dez 10 2008] [21:24:15] Solche Code-Teile sind entweder völlig überflüssig, oder müssen dringend getestet werden ;-) [Mi Dez 10 2008] [21:29:06] Richtig exzessiv mit Profiling habe ich mich nur einmal bei einem Instruction-Set-Simulator ausgetobt [Mi Dez 10 2008] [21:37:14] Machts gut [Mi Dez 10 2008] [21:37:16] Beenden MatthiasT_ hat den Server verlassen (EOF From client). [Mi Dez 10 2008] [21:41:31] Ok Bernd, ich mach mich an der Thee. BTW, cmd funktioniert jetzt, und XP64 calling conventions are indescribably schmutzig :-) [Mi Dez 10 2008] [21:41:31] Beenden frunobulax hat den Server verlassen ("a quit that really quits").