¿Alguien sabe si hay bibliotecas de contenedores sin candado disponibles para .NET?Bloquear pila y cola libres en C#
Preferiblemente algo que ha demostrado funcionar y más rápido que las envolturas sincronizadas que tenemos en .NET.
He encontrado algunos artículos sobre .NET, pero ninguno de ellos especifica ningún punto de referencia de velocidad, ni tampoco inspiran mucha confianza en su fiabilidad.
Gracias
Realice un seguimiento y publique los datos relacionados con el rendimiento que haya encontrado en las estructuras sin cerradura que haya probado. –
Terminamos haciendo rodar nuestros propios contenedores, basados principalmente en http://www.boyet.com/index.html. Usando contenedores sin cerradura versus contenedores estándar, tuvimos una disminución marginal (en promedio) de ~ 12% del tiempo total necesario para procesar nuestro lote de muestra. En general, diría que no valió la pena el esfuerzo :-( – Radu094
Me encontré con [Ariadne] (http://hackcraft.github.io/Ariadne/) que tiene estos. Sin embargo, tengo dificultades para entender el código. Tiene algunas peculiaridades vacías para declaraciones como 'for (;;) {... some code ...}' y tendrá una declaración return allí. Tiene un comentario en la parte superior que dice: "Esta cola es principalmente para finalización o para su uso en otras clases de la biblioteca, teniendo en cuenta que la 4.0 FCL ya tiene una cola libre de bloqueos. La implementación de Mono está muy cerca de esto, mientras que la implementación de MS es más complicada pero debería ofrecer un mejor uso de cachés de CPU. . " –