Skip to content

Instantly share code, notes, and snippets.

View mgravell's full-sized avatar
🏠
Working from home

Marc Gravell mgravell

🏠
Working from home
View GitHub Profile
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
using System;
using System.Runtime.CompilerServices;
BenchmarkRunner.Run<SkipLocalsInitBenchmark>();
[SimpleJob]
public unsafe class SkipLocalsInitBenchmark
{
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Running;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
namespace SequenceReaderBenchmarks;
static class Program {
using System.Buffers;
int[][] matrix =
{
new [] { 1,2,3,4 },
new [] { 9,10,11,12 },
new [] { 5,6,7,8 },
};
@mgravell
mgravell / benchmark.cs
Last active January 24, 2023 16:48
ascii decode
// based on StringUtilities from dotnet/aspnetcore
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Running;
using System.Buffers;
using System.Diagnostics;
@mgravell
mgravell / bench.cs
Created January 19, 2023 14:29
bench.md
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Running;
using Grpc.Core;
using ProtoBuf.Grpc.Client;
using ProtoBuf.Grpc.Configuration;
using System.Collections.Concurrent;
using System.Runtime.CompilerServices;
BenchmarkRunner.Run<MyBenchmark>();
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Running;
using Grpc.Core;
using ProtoBuf.Grpc.Client;
using ProtoBuf.Grpc.Configuration;
using System.Collections.Concurrent;
BenchmarkRunner.Run<MyBenchmark>();
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
using System;
using System.Linq;
[MemoryDiagnoser]
public class ByteArrayChunker
{
private readonly byte[] data;
[ProtoContract]
class Foo
{
public JToken? Bar { get; set; }
[ProtoMember(1)]
[SuppressMessage("CodeQuality", "IDE0051:Remove unused private members", Justification = "Used for serialization")]
private string? BarSerialized
{
get => Bar?.ToString();
protected override bool TryGetArray(out ArraySegment<T> segment)
{
if (typeof(T) == typeof(byte))
{
return MemoryMarshal.TryGetArray(Unsafe.As<Memory<byte>, Memory<T>>(ref Unsafe.AsRef(in this.memory)), out segment);
}
else
{
segment = default;
return false;
using System.Linq.Expressions;
using System.Reflection;
using System;
static class P
{
class Foo
{
public Guid Value => _value;
private readonly Guid _value;