A nice side effect of regular profiling: you know which parts of your code are cold.
For example, difftastic's display logic is very cold, so I can do additional linear scans to align content without perf worries!
miniblog.
Related Posts
Caddy is really growing on me. It's nice having a web proxy that includes letsencrypt functionality without any additional configuration.
I've tended to use nginx with a separate letsencrypt setup for projects before, and it's much more awkward.
Today I learnt that A* doesn't work for an arbitrary non-planar graph, you need additional structure:
https://stackoverflow.com/q/26568552/509706
This matches my experience with difftastic so far. The graph is non-planar and my best heuristic only matches Dijkstra perf in typical cases.
C# has an interesting concept of second-class macros called Source Generators: https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/
You can generate additional code at build time, but you can't transform existing expressions (unlike normal macros), so it's more amenable to tooling.
