Facebook String und Vektor (FBString FBVector)



  • Was haltet ihr von den Implementierungen der Facebook-Entwickler?
    Z.B. der Facebook-String:

    https://github.com/facebook/folly/blob/master/folly/docs/FBString.md

    Wieso sind die Macher bzw. wohl mehr die Implementierer der stl da nicht selbst drauf gekommen?





  • Neugierde schrieb:

    Was haltet ihr von den Implementierungen der Facebook-Entwickler?

    Sieht aus wie "Not invented here" plus Mikrooptimierungsgefrickel.
    Die Bibliothek ist ein zusammengewürfelter Haufen aus
    - Dingen, die es schon gibt (String, Range, Hash, Foreach, Format, ..)
    - JSON, was da nichts zu suchen hat
    - premature optimization (String, small_vector, SmallLocks, ..)
    - Portabilitäts-Code
    Nicht schön und nur begrenzt nützlich. Wenn das alles so toll ist, warum hilft man nicht einfach Boost anstatt so einen Haufen auf Github zu hinterlassen?

    Neugierde schrieb:

    Wieso sind die Macher bzw. wohl mehr die Implementierer der stl da nicht selbst drauf gekommen?

    Die Macher geben nur die Schnittstellen vor und ein Implementierer (Blödbook) ist hiermit auf eine Implementierung gekommen.



  • Noch Fragen? schrieb:

    https://github.com/facebook/folly/blob/89111953fea8a2de4c5e1ff82da97b7aefe292df/folly/FBString.h

    // @author: Andrei Alexandrescu (aalexandre)

    http://de.wikipedia.org/wiki/Andrei_Alexandrescu

    was daran jetzt gut (oder schlecht?)



  • TyRoXx schrieb:

    Neugierde schrieb:

    Was haltet ihr von den Implementierungen der Facebook-Entwickler?

    Sieht aus wie "Not invented here" plus Mikrooptimierungsgefrickel.
    Die Bibliothek ist ein zusammengewürfelter Haufen aus
    - Dingen, die es schon gibt (String, Range, Hash, Foreach, Format, ..)
    - JSON, was da nichts zu suchen hat
    - premature optimization (String, small_vector, SmallLocks, ..)
    - Portabilitäts-Code
    Nicht schön und nur begrenzt nützlich. Wenn das alles so toll ist, warum hilft man nicht einfach Boost anstatt so einen Haufen auf Github zu hinterlassen

    Weil sie halt intern diese Library nutzen und sie veröffentlich haben, um andere Veröffentlichungen nicht umschreiben zu müssen.

    Außerdem denke ich mal dass Facebook besser weiß, welche Optimierungen Sinn machen, denke die wenigsten werden jemals mit solchen Serverfarmen arbeiten wo sich jeder gesparte Takt sehr schnell aufsummiert.



  • TyRoXx schrieb:

    - premature optimization (String, small_vector, SmallLocks, ..)

    Woher weißt du? Warst du dabei, als sie gesagt haben "hach, an den Stellen haben wir noch keine Probleme, lass uns mal ne Lösung dafür bauen"?


Log in to reply