Skip to content

Instantly share code, notes, and snippets.

View MarkPflug's full-sized avatar
🌲

Mark Pflug MarkPflug

🌲
View GitHub Profile
@MarkPflug
MarkPflug / IndentingTextWriter.cs
Created April 21, 2022 18:01
IndentingTextWriter for C-style languages
using System.Text;
namespace Sylvan.IO;
sealed class IndentingTextWriter : TextWriter
{
const char OpenChar = '{';
const char CloseChar = '}';
const string DefaultIndent = " ";
@MarkPflug
MarkPflug / CpuDiagnoser.cs
Created December 6, 2021 04:21
BenchmarkDotNet CPU utilization
using BenchmarkDotNet.Analysers;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Diagnosers;
using BenchmarkDotNet.Engines;
using BenchmarkDotNet.Exporters;
using BenchmarkDotNet.Loggers;
using BenchmarkDotNet.Reports;
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Validators;
@MarkPflug
MarkPflug / QuickIntBench.cs
Created November 19, 2021 03:43
A SIMD integer parser.
using BenchmarkDotNet.Attributes;
using System;
using System.Runtime.Intrinsics;
using System.Runtime.Intrinsics.X86;
using System.Text;
namespace Benchmarks
{
public class QuickIntBench
{
@MarkPflug
MarkPflug / ArrayForeachElementTrick.cs
Created October 12, 2021 22:37
Stupid array trick
static class Program
{
public static void Main()
{
int[] data = new int[12];
// foreach over refs to the elements of the array
foreach(ref int elem in data.Refs())
{
elem = 1;
@MarkPflug
MarkPflug / IgnoreWhitespaceStringComparer.cs
Last active November 19, 2021 08:15
IgnoreWhitespaceStringComparer
using System;
using System.Collections.Generic;
namespace Sylvan
{
public sealed class IgnoreWhitespaceStringComparer : IEqualityComparer<string>
{
public static readonly IEqualityComparer<string> Instance = new IgnoreWhitespaceStringComparer(0);
public static readonly IEqualityComparer<string> IgnoreCase = new IgnoreWhitespaceStringComparer(0x20);
@MarkPflug
MarkPflug / SqlReadBinaryData.cs
Created January 31, 2019 23:48
Read binary(16) and rowversion
using System;
using System.Data.SqlClient;
using System.Runtime.InteropServices;
class Program
{
static void Main()
{
var dbName = "Test" + DateTime.Now.ToString("yyyyMMddHHmmss");
@MarkPflug
MarkPflug / TimeTest.cs
Created August 25, 2017 22:57
Test DateTime.UtcNow resolution
using System;
class Program
{
static void Main(string[] args)
{
int total = 0;
int count = 0;
while (true) {
count++;
var start = DateTime.UtcNow;