Skip to content

Instantly share code, notes, and snippets.

View rogeralsing's full-sized avatar
😈
Feeling Awesome

Roger Johansson rogeralsing

😈
Feeling Awesome
View GitHub Profile
private void SerializeZeroFormatter()
{
try
{
var s = new MemoryStream();
ZeroFormatterSerializer.Serialize(s, Value);
var bytes = s.ToArray();
RunTest("Zero Formatter", () =>
{
var stream = new MemoryStream();
using System;
using System.Diagnostics;
using System.IO;
namespace ConsoleApplication18
{
class Program
{
static void Main(string[] args)
{

Test LargeStructTest

Running cold

Wire - KnownTypes + Reuse Sessions
   Serialize                      297 ms
   Deserialize                    162 ms
   Size                           35 bytes
   Total                          459 ms
string method (self,stream,session)
{
newobj ctor //create POCO stack 1
stloc_0 //store var0 (object) stack 0
ldloc_0 //load var0 stack 1
castclass poco //cast to POCO stack 1
ldarg_0 //load this stack 2
ldfld stringserializer //load stringserializer stack 2
var expressions = new List<Expression>();
var newExpression = Expression.New(defaultCtor);
var targetObject = Expression.Variable(typeof(object),"target");
var assignTarget = Expression.Assign(targetObject, newExpression);
var streamParam = Expression.Parameter(typeof(Stream));
var sessionParam = Expression.Parameter(typeof(DeserializerSession));
expressions.Add(assignTarget);
@rogeralsing
rogeralsing / elixir_distributed.ex
Created June 11, 2016 16:53 — forked from jisaacstone/elixir_distributed.ex
programmatic node startup in elixir
defmodule ExDistUtils do
def start_distributed(appname) do
unless Node.alive?() do
local_node_name = generate_name(appname)
{:ok, _} = Node.start(local_node_name)
end
cookie = Application.get_env(appname, :cookie)
Node.set_cookie(cookie)
end
@rogeralsing
rogeralsing / install.sh
Last active May 29, 2016 18:48
install.sh
sudo apt-add-repository ppa:numix/ppa
sudo apt-get -qq update
sudo apt-get -qq install git
sudo apt-get -qq install golang
sudo apt-get -qq install zsh
sudo apt-get -qq install numix-icon-theme numix-icon-theme-circle
sudo apt-get -qq install autojump
cd ~
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
def run(), do: eval('5 * 5 + 2-2 + 10 *20*0') |> IO.inspect
def eval(input), do: _tokenize(input, []) |> _eval1([]) |> _eval2()
defp _tokenize([32 | input], result), do: _tokenize input, result
defp _tokenize([char | input], [{:num, num} | result]) when char >= ?0 and char <= ?9, do: _tokenize input, [{:num, num * 10 + (char - ?0)} | result]
defp _tokenize([char | input], result) when char >= ?0 and char <= ?9, do: _tokenize input, [{:num, (char - ?0)} | result]
defp _tokenize([?* | input], result), do: _tokenize input, [:mul | result]
defp _tokenize([?/ | input], result), do: _tokenize input, [:div | result]
defp _tokenize([?+ | input], result), do: _tokenize input, [:add | result]
defp _tokenize([?- | input], result), d
...
var jobs = db.GetJobs(..);
var aggregator = sys.ActorOf(Props.Create(() => new AggregatorActor(jobs.Count));
foreach(var job in jobs)
{
workerRouter.Tell(new JobMessage(job.Data, aggregator);
}
func TestStreamClient(t *testing.T) {
const address = "127.0.0.1:8090"
lis, err := net.Listen("tcp", address)
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
defer lis.Close()
s := grpc.NewServer()
server := Server{}