Skip to content

Instantly share code, notes, and snippets.

View AndyAyersMS's full-sized avatar

Andy Ayers AndyAyersMS

  • Microsoft
  • Redmond, WA, USA
View GitHub Profile
@AndyAyersMS
AndyAyersMS / stats.txt
Created December 19, 2023 22:40
CSE stats from ASP.NET
115838 methods, 34802 methods with cses; 193807 cse candidates, 56973 cses
Count: Cses Candidates
1 [n: 10259 o: 0.53]: 0: 4836; 1: 5423
2 [n: 4913 o: 0.44]: 0: 1760; 1: 2028; 2: 1125
3 [n: 4058 o: 0.36]: 0: 1351; 1: 1329; 2: 1031; 3: 347
4 [n: 3454 o: 0.37]: 0: 788; 1: 1100; 2: 860; 3: 570; 4: 136
5 [n: 2576 o: 0.35]: 0: 586; 1: 497; 2: 792; 3: 470; 4: 175; 5: 56
6 [n: 1627 o: 0.31]: 0: 264; 1: 452; 2: 474; 3: 182; 4: 227; 5: 21; 6: 7
7 [n: 999 o: 0.33]: 0: 168; 1: 184; 2: 261; 3: 173; 4: 78; 5: 70; 6: 63; 7: 2
8 [n: 979 o: 0.28]: 0: 194; 1: 198; 2: 243; 3: 128; 4: 100; 5: 42; 6: 36; 7: 15; 8: 23
@AndyAyersMS
AndyAyersMS / diffs.md
Created June 28, 2023 15:41
Block jump thread phi if block has memory phi

Diffs are based on 1,514,429 contexts (459,672 MinOpts, 1,054,757 FullOpts).

MISSED contexts: base: 12,403 (0.82%), diff: 12,404 (0.82%)

Overall (+117,686 bytes)

|Collection|Base size (bytes)|Diff size (bytes)|

@AndyAyersMS
AndyAyersMS / Program.cs
Created June 6, 2023 23:14
Autofiling result aggregator (based on Egor's version)
using HtmlAgilityPack;
using System;
using System.IO;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Linq;
using System.Net;
public class Result
{
@AndyAyersMS
AndyAyersMS / base.WorkloadActionUnroll.d
Created May 12, 2023 21:57
Jit Dumps for issue 86033
This file has been truncated, but you can view the full file.
****** START compiling BenchmarkDotNet.Autogenerated.Runnable_0:WorkloadActionUnroll(long):this (MethodHash=19bc12c2)
Generating code for Windows x64
OPTIONS: Tier-1 compilation
OPTIONS: compCodeOpt = FAST_CODE
OPTIONS: compDbgCode = false
OPTIONS: compDbgInfo = true
OPTIONS: compDbgEnC = false
OPTIONS: compProcedureSplitting = false
OPTIONS: compProcedureSplittingEH = false
OPTIONS: optimizer should use profile data
@AndyAyersMS
AndyAyersMS / r85839.fail.mc
Last active May 10, 2023 16:45
SPMI context for bug 85839 -- jit GUID 4e6355a0-3844-45e2-8cef-082c18217e14
@AndyAyersMS
AndyAyersMS / BDN log
Last active April 26, 2023 00:16
System.Numerics.Tests.Perf_Vector3.ReflectBenchmark BDN spew
c:\repos\performance\src\benchmarks\micro>dotnet run -c Release -f net6.0 -- --filter System.Numerics.Tests.Perf_Vector3.ReflectBenchmark --corerun D:\bugs\r84264\base-rel\corerun.exe D:\bugs\r84264\diff-rel\corerun.exe --iterationCount 15 --apples -p ETW
C:\Program Files\dotnet\sdk\8.0.100-preview.2.23157.25\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets(28,5): warning NETSDK1138: The target framework
'netcoreapp3.1' is out of support and will not receive security updates in the future. Please refer to https://aka.ms/dotnet-core-support for more information about the support
policy. [c:\repos\performance\src\benchmarks\micro\MicroBenchmarks.csproj::TargetFramework=netcoreapp3.1]
Each benchmark is going to be executed just once to get invocation counts.
// Validating benchmarks:
// ***** BenchmarkRunner: Start *****
// ***** Found 1 benchmark(s) in total *****
// ***** Building 1 exe(s) in Parallel: Start *****
// start dotnet restore /p:UseSharedCompilation=false /p:BuildInP
This file has been truncated, but you can view the full file.
****** START compiling Python.Runtime.Converter:ToPython(System.Object,System.Type):Python.Runtime.NewReference (MethodHash=29af777d)
Generating code for Windows x64
OPTIONS: Tier-1 compilation
OPTIONS: compCodeOpt = FAST_CODE
OPTIONS: compDbgCode = false
OPTIONS: compDbgInfo = true
OPTIONS: compDbgEnC = false
OPTIONS: compProcedureSplitting = false
OPTIONS: compProcedureSplittingEH = false
OPTIONS: optimized using dynamic profile data
set -e
HERE=`pwd`
# ### Setup
# REL_ROOT=~/repos/runtime6/artifacts/tests/coreclr/Linux.x64.Release/Tests/Core_Root/
# CHK_ROOT=~/repos/runtime6/artifacts/tests/coreclr/Linux.x64.Checked/Tests/Core_Root/
# rm -rf Core_Root
@AndyAyersMS
AndyAyersMS / Ignore.me
Last active August 26, 2021 18:02
x86 extracted SPMI files
Placeholder
I had hoped to forward some documents based on past work to build interprocedural analysis (IPA) in systems like Bartok/Phoenix, but didn’t find anything that was both accurate and concise.
So here’s a sketch of how the system could (and I would argue, should) be built. UTC/NUTC does something fairly similar.
First, some goals
• Support concurrency where possible, since IPA instances can be quite large
• Support partitioning (dividing input set into two or more parts, analyzing each separately)
• Allow pluggable components for particular problem domains
• Keep procedural knowledge suitably compartmentalized, avoid duplication (eg don’t have multiple type systems or multiple IL analyzers)