<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>WebAssembly | The .NET Blog</title><link>https://thedotnetblog.com/ca/tags/webassembly/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ca</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sat, 23 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ca/tags/webassembly/index.xml" rel="self" type="application/rss+xml"/><item><title>Com Copilot Studio Va Migrar a .NET 10 WebAssembly i Va Ser un 20% Més Ràpid</title><link>https://thedotnetblog.com/ca/news/emiliano-montesdeoca/copilot-studio-net10-webassembly-migration-performance/</link><pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ca/news/emiliano-montesdeoca/copilot-studio-net10-webassembly-migration-performance/</guid><description>Les millores de .NET 10 WASM no són només per a projectes nous. Aquí teniu el que Copilot Studio va mesurar després d'actualitzar des de .NET 8: empremtes automàtiques, WasmStripILAfterAOT per defecte i números reals de rendiment d'execució.</description><content:encoded>&lt;p&gt;L&amp;rsquo;equip de Copilot Studio va fer alguna cosa sobre la qual tots els desenvolupadors Blazor WASM han tingut curiositat: van actualitzar una aplicació de producció de .NET 8 a .NET 10 i van mesurar els resultats. La publicació comparteix números específics, cosa que és rara i genuïnament útil.&lt;/p&gt;
&lt;h2 id="lactualització-va-ser-avorrida-això-és-positiu"&gt;L&amp;rsquo;Actualització Va Ser Avorrida (Això és Positiu)&lt;/h2&gt;
&lt;p&gt;Actualitzar el framework de destinació, actualitzar les referències de paquets, corregir els canvis trencadors. Això és tot. La compilació de .NET 10 ara s&amp;rsquo;executa en producció. La migració en si no va ser la part interessant — els canvis de .NET 10 sí que ho són.&lt;/p&gt;
&lt;h2 id="empremta-digital-automàtica-dactius"&gt;Empremta Digital Automàtica d&amp;rsquo;Actius&lt;/h2&gt;
&lt;p&gt;Anteriorment, distribuir una aplicació WASM significava escriure scripts personalitzats per reanomenar els actius publicats amb hashes SHA256 per a la invalidació de caché. Copilot Studio tenia un script PowerShell fent exactament això — reanomenar fitxers, injectar atributs &lt;code&gt;integrity&lt;/code&gt; al carregador JavaScript, gestionar tot manualment.&lt;/p&gt;
&lt;p&gt;A .NET 10, tot això és integrat. Els actius publicats s&amp;rsquo;empremten automàticament, s&amp;rsquo;importen directament de &lt;code&gt;dotnet.js&lt;/code&gt; i es validen amb integritat sense intervenció manual. L&amp;rsquo;equip va eliminar l&amp;rsquo;script de reanomenament.&lt;/p&gt;
&lt;p&gt;Petit canvi en abast, reducció significativa de la complexitat.&lt;/p&gt;
&lt;h2 id="wasmstripilafteraot-ara-està-activat-per-defecte"&gt;WasmStripILAfterAOT Ara Està Activat per Defecte&lt;/h2&gt;
&lt;p&gt;A .NET 8, eliminar IL de les assemblies compilades AOT era opt-in. A .NET 10 és el valor per defecte. Després de la compilació AOT, el codi de bytes IL original s&amp;rsquo;elimina de la sortida — no es necessita en temps d&amp;rsquo;execució, i mantenir-lo inflava la mida del paquet sense raó.&lt;/p&gt;
&lt;p&gt;Copilot Studio utilitza una optimització específica: distribueix tant un motor JIT (inici ràpid) com un motor AOT (rendiment màxim en estat estable), carregant ambdós en paral·lel i passant de JIT a AOT un cop està llest. També deduplicà els fitxers idèntics entre els dos motors.&lt;/p&gt;
&lt;p&gt;El nou comportament d&amp;rsquo;eliminació de IL significa que les assemblies AOT ja no coincideixen bit per bit amb les seves contraparts JIT, de manera que menys fitxers es dedupliquen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;.NET 8: 59 fitxers compartits&lt;/li&gt;
&lt;li&gt;.NET 10: 22 fitxers compartits&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Resultat net: mida del paquet aproximadament un 15% major per al motor AOT. La descàrrega AOT és ~6% més lenta en LAN ràpida, ~17% més lenta en 4G. Però tot passa en segon pla després que l&amp;rsquo;aplicació ja és interactiva.&lt;/p&gt;
&lt;h2 id="els-números-de-rendiment"&gt;Els Números de Rendiment&lt;/h2&gt;
&lt;p&gt;Aquesta és la part que importa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;~20% més ràpid&lt;/strong&gt; en la primera crida (camí fred)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;~5% més ràpid&lt;/strong&gt; en crides posteriors (camí calent)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les millores són més visibles en &amp;ldquo;bots grans&amp;rdquo; — agents grans i complexos on el codi compilat AOT domina. Per a fluxos de treball més simples el guany és menor.&lt;/p&gt;
&lt;h2 id="si-encara-esteu-a-net-8"&gt;Si Encara Esteu a .NET 8&lt;/h2&gt;
&lt;p&gt;La història de migració és genuïnament senzilla: actualitzeu &lt;code&gt;&amp;lt;TargetFramework&amp;gt;&lt;/code&gt;, actualitzeu les referències de paquets, elimineu qualsevol script d&amp;rsquo;empremtes personalitzat, i us beneficiareu automàticament de &lt;code&gt;WasmStripILAfterAOT&lt;/code&gt;. Si esteu compilant AOT, espereu guanys de rendiment similars.&lt;/p&gt;
&lt;p&gt;Una nota de la publicació: si carregueu el runtime de .NET WASM dins d&amp;rsquo;un &lt;code&gt;WebWorker&lt;/code&gt;, configureu &lt;code&gt;dotnetSidecar = true&lt;/code&gt; en inicialitzar.&lt;/p&gt;
&lt;p&gt;Post original: &lt;a href="https://devblogs.microsoft.com/dotnet/copilot-studio-dotnet-10-migration/"&gt;Copilot Studio gets faster with .NET 10 on WebAssembly&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>