Start Debugging
PT-BR

Notas diárias sobre .NET, C#, EF Core, MAUI, Blazor e Flutter, para desenvolvedores que colocam software no ar.

Loop com ref T vs indexação de Span<T> em C#: por que a versão com span é tão rápida quanto ou mais rápida no .NET 10
No .NET 10, um for simples sobre span[i] limitado por span.Length compila para um loop sem verificação de limites, com redução de força e contagem regressiva. Um loop escrito à mão com Unsafe.Add(ref r, i) e índice int mantém uma extensão de sinal e uma comparação de contagem progressiva, e foi medido 2-5% mais lento. Benchmarks e disassembly do JIT para arm64 e x64 no .NET 10.0.10.
shared_preferences vs um arquivo JSON com path_provider para salvar configurações no Flutter
Use shared_preferences (SharedPreferencesWithCache) para um punhado de flags simples e um arquivo JSON em getApplicationSupportDirectory para um objeto de configurações estruturado. Cobre o padrão de escrita atômica, a condição de corrida dos salvamentos concorrentes, a armadilha da pasta Documentos no Windows e no Linux, o suporte à web e custos de escrita medidos no Flutter 3.44.8.