• [^] # Re: À bas COW, vive SSO!

    Posté par . En réponse à la dépêche Le compilateur GCC 5.1 : harder, better, faster, stronger. Évalué à 5. Dernière modification le 16 mai 2015 à 02:23.

    Evidemment... J'ai parlé trop vite et juste après avoir posté je me rends compte d'un bug. Un thread crée une chaine, la modifie, envoit la copie à un autre thread, qui modifie la copie alors que l'ancienne version n'a pas étée flushée : boum.

    En fait c'est intéressant parce que j'ai l'impression que c'est encore un truc qui s'implémente simplement en rust et pas en C++. Si on peut garrantir qu'il n'y a pas de mémoire partagée et que la copie est faite que depuis le même thread que celui qui possède la copie initiale, alors il suffit d'insérer une memory fence lors de la copie quand le refcount est 1.