Skip to content

Instantly share code, notes, and snippets.

View sonnemaf's full-sized avatar

Fons Sonnemans sonnemaf

View GitHub Profile
@sonnemaf
sonnemaf / settings.json
Created October 22, 2022 10:36
My Windows Terminal settings
{
"$help": "https://aka.ms/terminal-documentation",
"$schema": "https://aka.ms/terminal-profiles-schema",
"actions":
[
{
"command":
{
"action": "closeTab"
},
@sonnemaf
sonnemaf / StringConcatSimple.cs
Created February 15, 2023 15:55
Performance benchmark for string interpolations
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Samples;
using System;
using System.Text;
//var s = new StringConcatSimple();
//Console.WriteLine(s.StringInterpolation());
@sonnemaf
sonnemaf / MainPage.xaml
Created September 14, 2023 08:44
Uno Test App used in Twitter video
<Page x:Class="UnoApp8.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="using:UnoApp8"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
mc:Ignorable="d">
<Grid>
@sonnemaf
sonnemaf / Program.cs
Last active September 28, 2023 09:18
ToList(capacity) Benchmark
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Jobs;
BenchmarkRunner.Run<BM>();
[SimpleJob(RuntimeMoniker.Net80, baseline: true)]
[SimpleJob(RuntimeMoniker.Net70)]
[SimpleJob(RuntimeMoniker.Net48)]
[MemoryDiagnoser(displayGenColumns: false)]
Foo("123,456,7890");
Console.WriteLine();
Bar("123,456,7890");
static void Foo(ReadOnlySpan<char> span) {
Console.WriteLine(span.SplitNext(',').ToString()); // 123
Console.WriteLine(span.SplitNext(',').ToString()); // 456
Console.WriteLine(span.SplitNext(',').ToString()); // 7890
}