public override void Setup() { _atomicLong = new AtomicLong(); _paddedAtomicLong = new PaddedAtomicLong(); _stripedLongAdder = new StripedLongAdder(); _threadLocalLongAdder = new ThreadLocalLongAdder(); }
public CumulativeSum() { /* * We support both LongAdder and LongMaxUpdater in a bucket but don't want the memory allocation * of all types for each so we only allocate the objects if the HystrixRollingNumberEvent matches * the correct type - though we still have the allocation of empty arrays to the given length * as we want to keep using the (int)type value for fast random access. */ // initialize the array of LongAdders var values = Enum.GetValues(typeof(HystrixRollingNumberEvent)).Cast <HystrixRollingNumberEvent>().ToArray(); adderForCounterType = new StripedLongAdder[values.Length]; foreach (var value in values) { if (value.IsCounter()) { adderForCounterType[(int)value] = new StripedLongAdder(); } } updaterForCounterType = new LongMaxUpdater[values.Length]; foreach (var value in values) { if (value.IsMaxUpdater()) { updaterForCounterType[(int)value] = new LongMaxUpdater(); // initialize to 0 otherwise it is Long.MIN_VALUE updaterForCounterType[(int)value].Update(0); } } }
private static void ValueAdderIncrement() { var atomicLong = new AtomicLong(0L); BenchmarkRunner.Run("AtomicLong.Increment", () => atomicLong.Increment()); var threadLocalAdder = new ThreadLocalLongAdder(0L); BenchmarkRunner.Run("ThreadLocalLongAdder.Increment", () => threadLocalAdder.Increment()); var strippedLongAdder = new StripedLongAdder(0L); BenchmarkRunner.Run("StripedLongAdder.Increment", () => strippedLongAdder.Increment()); }
private static void ValueAdderIncrement() { var atomicLong = new AtomicLong(0L); BenchmarkRunner.Run("AtomicLong.Increment", () => atomicLong.Increment()); var threadLocalAdder = new ThreadLocalLongAdder(0L); BenchmarkRunner.Run("ThreadLocalLongAdder.Increment", () => threadLocalAdder.Increment()); var strippedLongAdder = new StripedLongAdder(0L); BenchmarkRunner.Run("StripedLongAdder.Increment", () => strippedLongAdder.Increment()); }
public ConsumerStatsRecorder() { ThroughputFormat.NumberDecimalSeparator = "0.00"; _numMsgsReceived = new StripedLongAdder(); _numBytesReceived = new StripedLongAdder(); _numReceiveFailed = new StripedLongAdder(); _numBatchReceiveFailed = new StripedLongAdder(); _numAcksSent = new StripedLongAdder(); _numAcksFailed = new StripedLongAdder(); _totalMsgsReceived = new StripedLongAdder(); _totalBytesReceived = new StripedLongAdder(); _totalReceiveFailed = new StripedLongAdder(); _totalBatchReceiveFailed = new StripedLongAdder(); _totalAcksSent = new StripedLongAdder(); _totalAcksFailed = new StripedLongAdder(); }
public ProducerStatsRecorder(ActorSystem system, string producerName, string topic, long pendingQueueSize) { _system = system; _producerName = producerName; _topic = topic; _pendingQueueSize = pendingQueueSize; _log = system.Log; Dec.NumberDecimalSeparator = "0.000"; ThroughputFormat.NumberDecimalSeparator = "0.00"; _numMsgsSent = new StripedLongAdder(); _numBytesSent = new StripedLongAdder(); _numSendFailed = new StripedLongAdder(); _numAcksReceived = new StripedLongAdder(); _totalMsgsSent = new StripedLongAdder(); _totalBytesSent = new StripedLongAdder(); _totalSendFailed = new StripedLongAdder(); _totalAcksReceived = new StripedLongAdder(); }
/// <inheritdoc /> public void Update(long value) { StripedLongAdder bucketCounter = null; foreach (var kvp in _buckets) { if (kvp.Key < value) { break; } bucketCounter = kvp.Value; } bucketCounter.Increment(); _sum.Add(value); _counter.Increment(); }
public ProducerStatsRecorder(long statsIntervalSeconds, ProducerConfigurationData conf, ActorSystem system, string producerName, string topic, long pendingQueueSize) { _system = system; _producerName = producerName; _topic = topic; _pendingQueueSize = pendingQueueSize; _log = system.Log; Dec.NumberDecimalSeparator = "0.000"; ThroughputFormat.NumberDecimalSeparator = "0.00"; _statsIntervalSeconds = statsIntervalSeconds; _numMsgsSent = new StripedLongAdder(); _numBytesSent = new StripedLongAdder(); _numSendFailed = new StripedLongAdder(); _numAcksReceived = new StripedLongAdder(); _totalMsgsSent = new StripedLongAdder(); _totalBytesSent = new StripedLongAdder(); _totalSendFailed = new StripedLongAdder(); _totalAcksReceived = new StripedLongAdder(); Init(conf); }
static void Main(string[] args) { AtomicLong[] data = new AtomicLong[0]; BenchmarkRunner.DefaultMaxThreads = 8; BenchmarkRunner.DefaultTotalSeconds = 5; var strippedLongAdder = new StripedLongAdder(0L); var threadLocalAdder = new ThreadLocalLongAdder(0L); //BenchmarkRunner.Run("ThreadLocalLongAdder.Increment", () => threadLocalAdder.Increment()); //var sz = ThreadLocalLongAdder.GetEstimatedFootprintInBytes(threadLocalAdder); BenchmarkRunner.Run("StripedLongAdder.Increment", () => strippedLongAdder.Increment()); //BenchmarkRunner.Run("ThreadLocalLongAdder.Increment", () => threadLocalAdder.Increment()); //BenchmarkRunner.Run("NoOp", () => { }); ValueAdderIncrement(); }
static void Main(string[] args) { AtomicLong[] data = new AtomicLong[0]; BenchmarkRunner.DefaultMaxThreads = 8; BenchmarkRunner.DefaultTotalSeconds = 5; var strippedLongAdder = new StripedLongAdder(0L); var threadLocalAdder = new ThreadLocalLongAdder(0L); //BenchmarkRunner.Run("ThreadLocalLongAdder.Increment", () => threadLocalAdder.Increment()); //var sz = ThreadLocalLongAdder.GetEstimatedFootprintInBytes(threadLocalAdder); BenchmarkRunner.Run("StripedLongAdder.Increment", () => strippedLongAdder.Increment()); //BenchmarkRunner.Run("ThreadLocalLongAdder.Increment", () => threadLocalAdder.Increment()); //BenchmarkRunner.Run("NoOp", () => { }); ValueAdderIncrement(); }
public ConsumerStatsRecorder(ActorSystem system, ConsumerConfigurationData <T> conf, string topic, string consumerName, string subscription, long statsIntervalSeconds) { _system = system; _log = system.Log; _topic = topic; _name = consumerName; _subscription = subscription; ThroughputFormat.NumberDecimalSeparator = "0.00"; _statsIntervalSeconds = statsIntervalSeconds; _numMsgsReceived = new StripedLongAdder(); _numBytesReceived = new StripedLongAdder(); _numReceiveFailed = new StripedLongAdder(); _numBatchReceiveFailed = new StripedLongAdder(); _numAcksSent = new StripedLongAdder(); _numAcksFailed = new StripedLongAdder(); _totalMsgsReceived = new StripedLongAdder(); _totalBytesReceived = new StripedLongAdder(); _totalReceiveFailed = new StripedLongAdder(); _totalBatchReceiveFailed = new StripedLongAdder(); _totalAcksSent = new StripedLongAdder(); _totalAcksFailed = new StripedLongAdder(); Init(conf); }
public override void Setup() { _num = new StripedLongAdder(); }
public void Can_get_estimated_size() { _num.Add(7L); StripedLongAdder.GetEstimatedFootprintInBytes(_num).Should().NotBe(0); }
/// <summary> /// Returns the size in bytes occupied by an Striped64 instance. /// </summary> /// <param name="instance">instance for whch to calculate the size.</param> /// <returns>The size of the instance in bytes.</returns> public static int GetEstimatedFootprintInBytes(StripedLongAdder instance) { return(Striped64.GetEstimatedFootprintInBytes(instance)); }
public void Setup() { _num = new StripedLongAdder(); }