Seite 2 von 17

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 07.06.2011, 11:57
von Krishty
The Architecture of Open Source Applications
Die Architektur von quelloffenen Anwendungen erklärt; von Eclipse & LLVM bis Audacity.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 09.06.2011, 09:11
von Mr. S
Tolle DirectX-Tutorials, vergleichbar mit den alten ZFX-Artikeln. Nur halt DX9 und nicht 8:

http://www.chadvernon.com/blog/resources/directx9/

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 12.06.2011, 11:51
von eXile
Loop Recognition in C++/Java/Go/Scala von Robert Hundt, Google.

Der Titel hört sich zuerst wie ein abstraktes Paper zur Programmanalyse aus der funktionalen Programmierung an. Dem ist aber nicht so. Ziel der Veröffentlichung ist ein „fairer Vergleich“ der Sprachfeatures, Codekomplexität, Compiler, Zeit zum Kompilieren und der resultierenden Programmgröße, Laufzeit und Speicherverwendung der oben genannten Programmiersprachen.

Leider musste ich auch solche Sachen lesen:
Loop Recognition in C++/Java/Go/Scala, Seite 9 hat geschrieben:Doug Rhode created a greatly improved version, which improved performance by 3x to 5x. […] At the time of this writing, the code was heavily dependent on several Google internal data structures and could not be open sourced.
Dennoch wird diese optimierte Version zu Vergleichszwecken herangeführt. In solchen Fällen muss ich leider – obwohl der Rest der Veröffentlichung sehr fundiert aussieht – sagen, dass keine wissenschaftliche Nachprüfbarkeit besteht, und darum dies für Vergleichszwecke ungeeignet ist. Ich halte Hundt dennoch zu Gute, dass er sehr detailliert die dabei enthaltenen Änderungen erläutert hat. Leider erklärt er nicht, wofür denn nun eigentlich die „ Google internal data structures“ verwendet werden – an der Stelle habe ich das Gefühl, dass Teile der „magic sauce“ nicht offengelegt werden sollen. Die nach dem Zitat folgende Änderungsliste referenziert nämlich deren interne Datenstrukturen in keiner Weise. Ebenso meine ich zu erkennen, dass bei der C++-Version erheblich mehr Optimierungsaufwand betrieben wurde (unabhängig von der Verwendung von externen Libraries, die ja gar nicht zur Sprache gehören).

Schließlich macht dies es auch unmöglich, den Implementierungsaufwand abzuschätzen. So kommt er auch zum Schluss:
Loop Recognition in C++/Java/Go/Scala, Seite 10 hat geschrieben:We find that in regards to performance, C++ wins out by a large margin. However, it also required the most extensive tuning efforts, many of which were done at a level of sophistication that would not be available to the average programmer.
Ein weiterer Kritikpunkt könnte sein, dass eine Optimierung der Programmgröße nicht stattfand. Die Wichtigkeit betont Hundt aber selber:
Loop Recognition in C++/Java/Go/Scala, Seite 7 hat geschrieben:It should also be noted that for large binaries, plain binary size matters a lot, as in distributed build systems, the generated binaries need to be transferred from the build machines, which can be bandwidth limited and slow.
Abschließend muss ich noch erwähnen, dass natürlich ein Algorithmus ausgewählt wurde, der sehr, sehr stark mit Googles Beschäftigungsfeld im Zusammenhang steht: Graphtraviersierung und Schleifenerkennung in Graphen. Es aber schön zu sehen, dass die Hauptbeschleunigung bei der Optimierung der C++-Version durch die Wahl anderer Algorithmen (hash_map, Wahl der Haskkeys, etc.) zu Stande kam.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 12.06.2011, 14:17
von Chromanoid
Wenn man Performance verschiedener Sprachen vergleichen möchte, finde ich diese Benchmark-Seite eigentlich nicht schlecht: The Computer Language Benchmarks Game

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 13.06.2011, 12:39
von eXile
Das ist jetzt zwar nur ein kleiner Link, aber vielleicht doch für einige interessant. Die Tabelle zeigt den aktuellen Stand der Implementierung von C++0x-Sprachfeatures in den Compilern verschiedener Hersteller.

http://wiki.apache.org/stdcxx/C++0xCompilerSupport

(Leider ist die Tabelle doch ein wenig undetailliert, darum immer als Ergänzung noch die und die hier daneben legen.)

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 10:54
von Thoran
Sehr interessanter Blog-Artikel über Hobbyspieleentwicklung, für all diejenigen, die des Englischen mächtig sind.
6 Challenges to the Hobbyist Game Developer, and How to Overcome Them

Thoran

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 11:11
von Top-OR
Ist das ne Anspielung auf Hobbyprojekte? ^^

Error establishing a database connection

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 11:14
von Krishty
War bei mir auch; geht wieder ;)

WLARGH zu früh kluggeschissen

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 11:19
von Top-OR
Über den Link kommt bei mir immernoch der Fehler, aber über die Startseite kommt man ja auch zu Artikel: Sehr interessant, finde ich - und stimmen tuts auch. (Zumindest das, was ich gelesen habe.)

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 14:26
von CodingCat
Typical C++ Bullshit - Provokant. Lehrreich? Denkanstöße.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 17:06
von eXile
CodingCat hat geschrieben:Typical C++ Bullshit - Provokant. Lehrreich? Denkanstöße.
Naja, irgendwelchen hergelaufenen Code (welcher vermutlich in wenigen Minuten runtergehackt wurde) zu kritisieren stufe ich jetzt als minder sinnvoll ein. Außer man macht sich einen Spaß daraus, in zehn Minuten etwas hinzuklatschen, was andere dann stundenlang kritisieren, und man sich über deren verlorene Zeit erfreut. Natürlich hat der Code Macken. Natürlich geht es besser, und ich bin dem Autor auch dankbar, eben solche Denkanstöße zu bieten. Aber es gibt nun einmal solchen und solchen Code: Einerseits für Programme, die einmal laufen, und dann gelöscht werden könnten, andererseits Heimprojekte, die man stundenlang bis zur scheinbar perfekten Lösung massiert. Meine Pseudocode-VM war ein Programm der ersten Kategorie: Schnell geschrieben, sehr langsam, hat seine Aufgabe gelöst, Code ging ins Archiv und bleibt dort auch für immer.

Lustig fande ich die Stelle „When was the last time you had (exactly) one plane and (exactly) one sphere?“. Na ganz offentlich genau hier. Sonst hätte der das ja nicht implementiert. Seine Hipster-Postits kann er da auch bleiben lassen.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 17:31
von Top-OR
Mensch, ein Glück sagt das mal jemand. Ich hatte schon ein schlechtes Gewissen, weil ich meine Heugabel und Fackel irgendwie nicht rauskramen wollte/konnte.

Sooo schlimm finde ich das Konstrukt nicht; außer dass es kein Klassenmenber ist, sondern freifliegend, die Formatierung nicht mit meiner persönlichen Norm übereinstimmt und und und ...

Nee, im Ernst. Es erfüllt sicher seinen Zweck. Vielleicht geht der Code auch eleganter/schneller, aber wichtiger ist, dass das Projekt auch mal läuft und seinen Sinn erfüllt. Man kann JAHRE an Software rumdesignen und keinen Schritt weiter kommen. Man kann IMMER etwas bemängeln, wenn man das will ...

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 18:07
von Krishty
Ihr habt doch keine Ahnung … ich meine: Das Programm schreibt in ein Attribut statt in eine lokale Variable. Wenn ihr nur halb so viel Ahnung hättet wie Mike, würdet ihr jetzt hamsterkaufen gehen!

Das Problem an dem Artikel ist sein Titel. Mikes Aufgabe war „Optimize this!“ (siehe Bild 3). Und er analysiert den Text tatsächlich ziemlich gut unter dem alleinigen Gesichtspunkt der Leistung – Lokalität, Konvertierungen, Verzweigungen. Leider lässt einen der Titel glauben, er analysiere das Fragment generell auf Qualität. Die spielt hier aber keine Rolle. Stellt euch einfach vor, da stünde „Typical Perfomance Bullshit“ drüber (Doppeldeutigkeit erwünscht).

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 18:26
von Top-OR
"Von Einem" ... was? Und was soll ich mit nem Hamster?
in ein Attribut statt in eine lokale Variable
Tut es das? O_o

Ich seh nur ne freifliegende Funktion, die zu keiner Klasse gehört (naja). Wie hätte mans "richtiger" lösen können?

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 19:20
von eXile
Krishty hat geschrieben:Ihr habt doch keine Ahnung … ich meine: Das Programm schreibt in ein Attribut statt in eine lokale Variable.
Und woran soll ich das jetzt genau sehen? Das steht dort nirgends, dass man das vielleicht nicht doch braucht (wie viele Threads laufen da überhaupt?). Was ich kritisiere ist, dass er dort herumkritisiert, aber seine Kritik nicht nachvollziehbar darlegt. Das fängt beim Titel an, geht weiter mit seinen Post-its die die Hälfte vom Bild verdecken, dem Code, welchen man sich aus mehreren Bildern zusammenbasteln muss, und darüber hinaus das aller Gravierendste: So ist überhaupt gar keine algorithmische Optimierung möglich. Woher soll ich als Leser wissen, dass vielleicht nicht doch eine Funktion, welche exakt zwei solche Objekte entgegen nimmt, in diesem Falle genau das richtige ist, weil es nun einmal der Algorithmus so vorsieht? Warum nicht Tests vermeiden, statt bloß ihre Reihenfolge zu ändern? Die Bezeichnung „Typical C++ Bullshit“ ist falsch, die Bezeichnung „Typical Perfomance Bullshit“ immer noch.

Hätte das Paper einen Titel verdient, wäre es wohl eher „Common low-level inefficiencies when writing code in five minutes in C/C++“. In diesem Falle gebe ich dem Autor Recht. Nur eine Überschrift zu wählen, welche ein gigantisches Publikum anzieht, um dann doch nur alles bis auf einen ganz kleinen Aspekt zu reduzieren, ist Etikettenschwindel und Bauernfängerei.

Nachtrag: Offensichtlich habe ich meinen Ironiedetektor fehlkalibriert. Dennoch meine ich das wirklich, was ich hier geschrieben habe. ;)

>My face when I was finished with Mikes paper:
Bild

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 19:23
von Krishty
Wow. Bin ich echt so doll auf Polemik und Flaming abgestürzt, dass „Ihr habt doch keine Ahnung“ nicht mehr ausreicht um eure Sarkasmusfühler zum Knattern zu bringen? :)

@Top-OR: Ja tut er, hier.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 20:14
von eXile
Da ich ZFX nicht in 4chan verwandeln will, jetzt dann doch noch mal was Konstruktives:
Zusammengeschustertes Video auf http://vimeo.com/13958264
Slides auf http://chrishecker.com/Structure_vs_Style

Das Beispiel der AI ist jetzt vielleicht nicht wirklich relevant, aber die Dekomposition in „Structure vs. Style“ (muss man aber nicht so nennen) war mir zwar lange, lange Zeit unterschwellig klar, aber endlich hat's mal jemand gesagt. Unbedingte Anschauempfehlung. (Ich habe 45 Minuten gebraucht, um das wiederzufinden; ich hoffe, euch gefällt's.)

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 22:19
von Top-OR
Krishty hat geschrieben:Ja tut er, hier.
Ahhhhhjaaaa ...

*AlohaPfeifendImDunkelnVerschwindend*

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 22.06.2011, 23:01
von rüp
Ich habe Herrn Acton dieses Jahr live auf'm Game Forum Germany in Hamburg gesehen, und muss sagen, dass ich ihn recht unsympathisch fand, oder zumindest seine Präsentation / sein Thema ziemlich sinnlos. (Seine Seite altdevblogaday.org ist aber dennoch sehr gut.)

Ansonsten find' ich die Post-Its lustig, ist mal was anderes.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 24.06.2011, 14:02
von Seraph
Ich schmeisse einfach mal ohne weitere Worte den folgenden Link in die Runde:

You don't want to work in the games industry

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 24.06.2011, 15:43
von kimmi
Ein sehr interessanter Artikel, dem ich nach eigenen Erzählungen und Erfahrungen ebenfalls nur zustimmen kann.

Gruß Kimmi

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 24.06.2011, 15:51
von Chromanoid
Sehr geil der Link aus dem Artikel (You don't want to work in the games industry):
How to Write Unmaintainable Code (Humorous Article)
Er wird in diesem Zusammenhang erwähnt:
"Big studios are only secure for the “Unfireables”; the guys who have been there for a decade and wrote the subsystem or tool so terrible, that only they can maintain it, thus indefinitely extending their employment." :D
Den Typen kenne ich auch :P

Gruß Kimmi

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 24.06.2011, 15:55
von Top-OR
You don't want to work in the games industry
Nicht, dass ich es "gewust" habe, aber warum wundert mich das nicht?

Sehr interessant, danke.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 24.06.2011, 16:51
von Chromanoid
@kimmi :) einfach meinen post für dich beanspruchen tststs :D :D

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 24.06.2011, 17:10
von CodingCat
Interactive Indirect Illumination and Ambient Occlusion Using Voxel Cone Tracing:
http://blog.icare3d.org/2011/06/interac ... n-and.html
http://artis.imag.fr/Publications/2011/CNSGE11/

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 24.06.2011, 19:00
von eXile
Nichts da „A Preview“, eher „An Insight“:
http://artis.imag.fr/Publications/2011/CNSGE11a/

Aber leider gibts noch kein ganzes Paper. Muss mir mal anschauen, ob man das mit Light Propagation Volumes zusammenschustern kann. Die Haupteinschränkung sind wohl lokal gaussche BRDFs, auch wenn man so wohl eine komplexe BRDF durch mehrere Gauss zusammenbasteln kann. Auch überlege ich gerade, ob man nicht vielleicht statt mehreren Gauss lokal beschränkte SH nehmen könnte; aber das ist jetzt nur eine Idee.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 25.06.2011, 12:51
von Schrompf
Wow, enorm beeindruckend. Der Film sieht aus, als wäre das ein Alles-Tot für die Global Illumination. Hoffentlich kommt das Paper auch für Normalsterbliche - die Siggraph hat sich da ja immer ein bisschen.

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 25.06.2011, 17:19
von kimmi
Chromanoid hat geschrieben:@kimmi :) einfach meinen post für dich beanspruchen tststs :D :D
Nicht beanspruchen, sondern einigen Kollegen auf diesem Wege zugänglich machen, wie das sonst nicht kennen würden.

Gruß Kimmi

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 25.06.2011, 17:20
von Alexander Kornrumpf
Du hast seinen Post editiert, war das Absicht?

Re: Artikelempfehlungen, interessante Publikationen o.Ä.

Verfasst: 25.06.2011, 18:16
von Krishty
Statt auf „Zitieren“ auf „Ändern“ geklickt? Ist super – da werden die extra möglichst weit auseinander platziert, damit beim Danebenklicken nicht viel passieren kann. Dann sind sie aber wiederum so weit auseinander, dass sich die Hand nicht merken kann, ob sie jetzt auf das Pinke ganz links außen oder auf das Pinke ganz rechts außen klicken sollte …

… ich frage mich, warum „Ändern“ nicht ausgegraut ist. Ich meine: Verwarnen, Information und der restliche Moderatorenkram sind das schließlich auch.