Skip to content

Instantly share code, notes, and snippets.

Avatar

Iulian Margarintescu etishor

View GitHub Profile
@etishor
etishor / gist:3257c3b218246490bdb6
Created Apr 30, 2015
Performance improvements on Metrics.NET : 32 core Amazon EC2 instance
View gist:3257c3b218246490bdb6
## Master branch on 32 core EC2
PS C:\temp\m-master> .\Metrics.StupidBenchmarks.exe meter -c 64
Meter 1 threads 388,000 ops/sec | avg duration 2,578 ns | 388,000 avg ops/sec per thread
Meter 2 threads 5,981,200 ops/sec | avg duration 334 ns | 2,990,600 avg ops/sec per thread
Meter 4 threads 4,268,600 ops/sec | avg duration 943 ns | 1,067,150 avg ops/sec per thread
Meter 6 threads 3,569,200 ops/sec | avg duration 1,749 ns | 594,867 avg ops/sec per thread
Meter 8 threads 3,447,200 ops/sec | avg duration 2,591 ns | 430,900 avg ops/sec per thread
Meter 16 threads 3,585,200 ops/sec | avg duration 4,942 ns | 224,075 avg ops/sec per thread
Meter 32 threads 4,705,200 ops/sec | avg duration 7,064 ns | 147,038 avg ops/sec per thread
@etishor
etishor / gist:32d2a502086d86ebe117
Created Apr 29, 2015
impact of adding a metrics.net timer
View gist:32d2a502086d86ebe117
WorkWithoutTimer 1 threads 27,634 ops/sec | avg duration 36,189 ns | 27,634 avg ops/sec per thread
WorkWithoutTimer 2 threads 55,202 ops/sec | avg duration 36,231 ns | 27,601 avg ops/sec per thread
WorkWithoutTimer 4 threads 103,718 ops/sec | avg duration 38,568 ns | 25,930 avg ops/sec per thread
WorkWithoutTimer 6 threads 140,080 ops/sec | avg duration 42,840 ns | 23,347 avg ops/sec per thread
WorkWithoutTimer 8 threads 165,714 ops/sec | avg duration 48,968 ns | 20,714 avg ops/sec per thread
WorkWithoutTimer 16 threads 175,750 ops/sec | avg duration 113,574 ns | 10,984 avg ops/sec per thread
WorkWithoutTimer 32 threads 156,296 ops/sec | avg duration 212,504 ns | 5,861 avg ops/sec per thread
WorkWithTimer 1 threads 27,202 ops/sec | avg duration 36,762 ns | 27,202 avg ops/sec per thread
WorkWithTimer 2 threads 53,966 ops/sec | avg duration 37,063 ns | 26,983 avg ops/sec
@etishor
etishor / gist:cd4f8019432bca2757b9
Created Apr 27, 2015
Concurrency Utilities 0.1.4 bench results
View gist:cd4f8019432bca2757b9
NoOp 1 threads 398,837,600 ops/sec | avg duration 3 ns | 398,837,600 avg ops/sec per thread
NoOp 2 threads 757,889,000 ops/sec | avg duration 3 ns | 378,944,500 avg ops/sec per thread
NoOp 4 threads 1,495,783,200 ops/sec | avg duration 3 ns | 373,945,800 avg ops/sec per thread
NoOp 6 threads 1,984,404,200 ops/sec | avg duration 3 ns | 330,734,033 avg ops/sec per thread
NoOp 8 threads 2,286,649,800 ops/sec | avg duration 4 ns | 285,831,225 avg ops/sec per thread
NoOp 16 threads 2,476,672,200 ops/sec | avg duration 9 ns | 154,792,012 avg ops/sec per thread
NoOp 32 threads 2,541,943,000 ops/sec | avg duration 20 ns | 79,435,719 avg ops/sec per thread
AtomicLong.Increment 1 threads 119,079,800 ops/sec | avg duration 8 ns | 119,079,800 avg ops/sec per thread
AtomicLong.Increment 2 threads 45,976,800 ops/sec | avg duration 44 ns | 22,988,400 avg ops/sec per thread
AtomicLong.Increment 4 threads 49,518,800 ops/sec |
View gist:51a863cf588ceb483039
[describe better] What were you building?
Delivery guarantees for messages?
Messaging infrastructure?
Perf cost of adding messaging or http or whatever
Gains? Why move to micro services?
Where is the differences from classic SOA?
How do you gather business metrics?
metrics apply to other archs not just micro services
SOA service vs MicroService [single responsibility vs bounded context]
You might want to make it clearer why micro services are better or what are they better for
View keybase.md

Keybase proof

I hereby claim:

  • I am etishor on github.
  • I am eti (https://keybase.io/eti) on keybase.
  • I have a public key whose fingerprint is 2223 A517 7F02 2E18 7878 C84A 7E3C FE47 A1A0 BBE8

To claim this, I am signing this object:

View Program.cs
using System;
using Nancy;
using Nancy.Hosting.Self;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
View rtld_dlsym_hack.diff
--- libexec/rtld-elf/rtld.c.orig Fri Sep 24 08:04:52 2004
+++ libexec/rtld-elf/rtld.c Sun Oct 17 03:37:44 2004
@@ -129,6 +129,7 @@
static void unref_dag(Obj_Entry *);
static void ref_dag(Obj_Entry *);
+void *_dlsym(void *, const char *);
void r_debug_state(struct r_debug*, struct link_map*);
/*
View syncHttp.h
/***************************************************************************
* Copyright (C) 2005 by Iulian M *
* eti@erata.net *
***************************************************************************/
#ifndef ETKSYNCHTTP_H
#define ETKSYNCHTTP_H
#include <QHttp>
#include <QEventLoop>
#include <QBuffer>
@etishor
etishor / gist:4051366
Created Nov 10, 2012
Map reduce index
View gist:4051366
public class User
{
public string Id { get; set; }
public string[] AssignedFields { get; set; }
}
public class WorkItem
{
public string DocumentId { get; set; }
public string FieldId { get; set; }
@etishor
etishor / gist:4031390
Created Nov 7, 2012
Multi map reduce index
View gist:4031390
using System;
using System.Linq;
using Raven.Client;
using Raven.Client.Document;
using Raven.Client.Indexes;
namespace RavenTest
{
public class ExtractionUser
{
public string Id { get; set; }