.NET 7 již byl vydán a přichází s různými vylepšeními výkonu

síť-7

S .NET 7 můžete vytvářet aplikace pro různé platformy napříč prohlížeči, cloudy, desktopy, zařízeními IoT a mobilními platformami.

Společnost Microsoft oznámila vydání nové verze své platformy „.NET 7“ , která obsahuje běhové prostředí s JIT kompilátorem RyuJIT, specifikace API, knihovny WPF a další nástroje.

Kromě toho webové aplikace ASP.NET Core 7.0, vrstva ORM Entity Framework Core 7.0, knihovna WPF 7 (Windows Presentation Foundation), rámec Windows Forms 7 pro vývoj GUI, platforma Orleans.

Co je nového v .NET 7

V této nové verzi byla knihovna základních tříd (BCL) sjednocena pro použití v různých typech aplikací, včetně desktopových aplikací, webových aplikací, cloudových platforem, mobilních aplikací, her, vestavěných programů a systémů strojového učení. Pro vývoj různých typů aplikací můžete použít společnou sadu SDK, běhové prostředí a sadu knihoven.

Dále stojí za zmínku, že možnost propojit aplikaci s rozhraním API kompatibilním s .NET 7 byla poskytována prostřednictvím definice cílového frameworku „net7.0“, například „<TargetFramework>net7.0</TargetFramework>“. Chcete-li propojit s rozhraními API specifickými pro platformu, můžete při zadávání cíle zadat typ platformy, například zadáním „net7.0-android“.

Za zmínku stojí také vylepšená kompatibilita s architekturou ARM64 a probíhající práce na dosažení parity výkonu pro aplikace .NET běžící na architekturách x86 a ARM64. Na systémech ARM64 se zlepšila efektivita běhové L3 mezipaměti. Instrukce LSE se používají k vymezení přístupu k paměti pro paralelní vlákna, což vede k 45% snížení latence.

Knihovna přidala ovladače, které používají vektorové typy Vector64, Vector128 a Vector256 , a funkce EncodeToUtf8 a DecodeFromUtf8 byly přepsány na základě vektorových instrukcí, čímž se jejich výkon zvýšil až o 60 % (u funkcí NarrowUtf16ToAscii a GetIndexOfFirstNonAsciiChar dosahuje nárůst výkonu 35 %) . Celkově se rychlost průchodu testy na platformě ARM64 zvýšila o 10 % až 60 %.

Dále stojí za zmínku vylepšení podpory Linuxu, včetně přidání balíčků .NET 6 do repozitářů Ubuntu 22.04 a poskytnutí optimalizovaného, ​​kompaktního a připraveného obrazu Dockeru pro rychlé nasazení kontejnerů s aplikacemi založenými na .NET.

Asistent pro upgrade .NET byl představen s cílem usnadnit migraci starších aplikací do větví .NET 6 nebo .NET 7. Nová verze rozšířila podporu pro migraci aplikací z ASP.NET do ASP.NET Core, přidala analyzátory a kontroléry kódu pro WinForms, WPF a knihovny tříd, implementovala podporu pro analýzu spustitelných souborů a přidala podporu pro UWP (Universal Windows Platform).

Jsou navržena generická rozhraní pro matematické funkce a je poskytnuta možnost definování statických prvků ve virtuálních rozhraních, což umožnilo aplikaci generických programovacích metod k provádění matematických operací bez přesných informací o typu hodnot.

Výkon JIT kompilátoru byl také vylepšen a byla přidána podpora mechanismu OSR (On Stack Replacement) pro změnu kódu již spuštěných metod, což umožňuje provádět optimalizace metod, jejichž dokončení trvá dlouho, aniž by se čekalo na dokončení aktuálního volání (v testu TechEmpower je patrný 10–30% nárůst výkonu při zpracování prvních požadavků).

Mezi další významné změny patří:

  • Přidána podpora pro kompilaci do samostatných spustitelných souborů (nativní AOT), kde je celý projekt zpočátku kompilován do nativního kódu cílové platformy bez použití mezikódu a bez použití JIT.
  • .NET SDK implementuje schopnost omezit použití poskytovaných šablon projektů; můžete například určit, na kterých operačních systémech je šablona platná.
  • NuGet přidal centralizovaný režim správy balíčků, který vám umožňuje spravovat závislosti pro více projektů najednou.

A konečně, pokud máte zájem dozvědět se více , podrobnosti naleznete na následujícím odkazu.

Pro zájemce byste měli vědět, že sestavení .NET SDK 7, .NET Runtime 7 a ASP.NET Core Runtime 7 jsou sestavena pro Linux, macOS a Windows. .NET Desktop Runtime 6 je k dispozici pouze pro Windows.


Přidat jako preferovaný zdroj v Googlu