Frage

Ich denke, dass die

War es hilfreich?

Lösung

Ich kann einen festen Datenpunkt bieten: John Dias und ich hatte ein Papier in 2005 ML-Workshop , wo wir die Kosten für die Nutzung eines Reißverschlusses verglichen Steuerflussdiagramme mit den Kosten für die Nutzung wandelbar Datensatzfelder in Objective Caml darzustellen. Wir waren sehr angenehm überrascht zu finden, dass die Leistung unserer Compiler mit den Reißverschluss-basierten Steuerflussgraphen als die Leistung tatsächlich etwas besser war durch Zeiger einer traditionelle Datenstruktur mit änderbaren Datensatz verknüpft werden. Wir konnten keine ernsthaften Analyse-Tools finden Sie uns genau zu sagen, Warum der Reißverschluss war schneller, aber ich vermute, der Grund dafür war, dass es weniger Invarianten und so relativ weniger Zeigerzuweisungen zu halten waren. Es ist auch möglich, dass das Optimierungsprogramm war intelligent genug, um einige der Zuteilung Kosten durch den Reißverschluss entstehen amortisieren. In jedem Fall kann der Reißverschluss in einem optimierenden Compiler verwendet werden, und es ist eigentlich eine leichte Leistungs Nutzen .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top