Skip to content

Instantly share code, notes, and snippets.

View benaadams's full-sized avatar
🦆
rubber duck debugging

Ben Adams benaadams

🦆
rubber duck debugging
View GitHub Profile
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Attributes.Jobs;
using BenchmarkDotNet.Running;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace Dict
{
[InProcess]
public class Program
public class OwnedMemorySegment<T> : ReadOnlySequenceSegment<T>
{
private OwnedMemory<T> _ownedMemory;
public OwnedMemorySegment(OwnedMemory<T> memory)
{
_ownedMemory = memory;
Memory = memory.Memory;
}
@benaadams
benaadams / Program.cs
Last active February 15, 2018 03:04 — forked from abdullin/LICENSE
Naive ring benchmark in .NET Core using simulated actors
using System;
using System.Collections.Generic;
using System.Diagnostics;
namespace SimRing {
class Program {
static void Main(string[] args) {
const int n = 1000;
const int m = 1000;
using System;
using System.Buffers;
using System.Buffers.Binary;
using System.Collections;
using System.IO.Pipelines;
using System.Threading;
using System.Threading.Tasks;
class Program
{
public interface IAwaitable<out TResult> : ICriticalNotifyCompletion
{
bool IsCompleted { get; }
TResult GetResult();
}
public static class AwaitableExtensions
{
public static IAwaitable<TResult> GetAwaiter<TResult>(this IAwaitable<TResult> source)
{
@benaadams
benaadams / ExecutionContextTest.cs
Created December 25, 2017 00:00
ExecutionContext.Run Test
using System.Threading;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Running;
namespace ExecutionContextTest
{
[Config(typeof(InProcConfig))]
public class Program
using System.Collections.Generic;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Attributes.Jobs;
using BenchmarkDotNet.Running;
namespace DictionaryPerf
{
[InProcess]
public class Program
{
using System;
using System.Globalization;
using System.Numerics;
using System.Runtime.CompilerServices;
namespace UnsafeTesting
{
public class Program
{
static void Main(string[] args)
@benaadams
benaadams / UnsafeTesting.cs
Last active November 28, 2017 00:26
UnsafeTesting
using System;
using System.Globalization;
using System.Numerics;
using System.Runtime.CompilerServices;
namespace UnsafeTesting
{
public class Program
{
static void Main(string[] args)
@benaadams
benaadams / IIndexerEnumerable.cs
Created November 25, 2017 03:05
struct IndexerEnumerator
public class Program
{
public static void Main(string[] args)
{
var list = new List<int>();
// *** Have to double specify types *** :(
PrintValues<List<int>, int>(list);
}
public static void PrintValues<TEnumerable, T>(TEnumerable enumerable)