Currently only the LongHistogram has a matching synchronized version. It seems reasonable to provide implementations for short and int as well.
This feature also seems to be an appropriate time to introduce a factory to help guide consumers as to which one is appropriate e.g.
var defaultHistogram = Histogram.Factory.Create(); //Creates a LongHistogram
var synchronizedLongHistogram = Histogram.Factory.AsThreadSafe().Create(); //Creates a SynchronizedLongHistogram
var longHistogram = Histogram.Factory.AsLongBacked().Create(); //Creates a LongHistogram
var synchronizedLongHistogram2 = Histogram.Factory.AsLongBacked().AsThreadSafe().Create(); //Creates a SynchronizedLongHistogram
var intHistogram = Histogram.Factory.AsIntBacked().Create(); //Creates a IntHistogram
var synchronizedIntHistogram = Histogram.Factory.AsIntBacked().AsThreadSafe().Create(); //Creates a SynchronizedIntHistogram
var shortHistogram = Histogram.Factory.AsShortBacked().Create(); //Creates a ShortHistogram
var synchronizedShortHistogram = Histogram.Factory.AsShortBacked().AsThreadSafe().Create(); //Creates a SynchronizedShortHistogram
Currently only the
LongHistogram
has a matching synchronized version. It seems reasonable to provide implementations forshort
andint
as well.This feature also seems to be an appropriate time to introduce a factory to help guide consumers as to which one is appropriate e.g.