Deep .NET - Ahead of Time Compilation (Native AOT) with Eric Erhardt

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ต.ค. 2024

ความคิดเห็น • 37

  • @manamana5495
    @manamana5495 วันที่ผ่านมา +15

    I would like a deep dive into source generators

  • @cheekychappy1234
    @cheekychappy1234 2 วันที่ผ่านมา +7

    Regarding building the native libraries. - An episode on building a native library and then calling that from C++ would be awesome.

    • @runninggames771
      @runninggames771 วันที่ผ่านมา

      YES 100% I want to be able to use BepuPhysics from c++ so bad

  • @Subjective0
    @Subjective0 วันที่ผ่านมา +2

    would love to hear some more on Maui how it works and how and when aot can be useful for Maui

  • @dtienloi
    @dtienloi 2 วันที่ผ่านมา +2

    Both "deeper dive into NativeAOT" and "MAUI team's perspective on iOS AOT" sounds good. I am using Avalonia to build an iOS app so both perspectives are valuable.

  • @pauljeschke194
    @pauljeschke194 วันที่ผ่านมา +3

    btw hot tip for magnifying: Win+ESC quites it :)

  • @paicore
    @paicore วันที่ผ่านมา +1

    .NET is getting awesome!😀

  • @flygonfiasco9751
    @flygonfiasco9751 2 วันที่ผ่านมา +2

    Oh nice, excited for this one!

  • @stefancfefo
    @stefancfefo 2 วันที่ผ่านมา

    Nice one! Can't wait for native aot for libraries. That sounds very cool

  • @softshells
    @softshells วันที่ผ่านมา

    Cool something I’ll practice today!

  • @LunicLynx
    @LunicLynx 2 วันที่ผ่านมา

    This is awesome!

  • @dagobertoSanchez
    @dagobertoSanchez 2 วันที่ผ่านมา

    Genial, muchas gracias

  • @alehkhantsevich113
    @alehkhantsevich113 2 วันที่ผ่านมา +1

    Stupid question maybe, but isn't it possible to implement some sort of flag in csproj for Text.JSON to automatically generate typeInfo classes inferring their usage from code? .NET usually written as strongly as possible, so inference shouldn't be a big problem.

    • @ericerhardt7210
      @ericerhardt7210 วันที่ผ่านมา

      The typeinfo classes could be automatically generated.
      The hard part is how to hook up the JsonSerializer to that generated typeinfo classes in a statically verifiable way.

  • @JethroBodine1422
    @JethroBodine1422 วันที่ผ่านมา

    Good stuff.

  • @sealsharp
    @sealsharp 2 วันที่ผ่านมา +1

    Oh. so Michal beats every challenge?
    Hallo Michal Strehovský. I bet you can't make RAII for objects to allow allocation does not cause GC pressure. 😁

  • @JohnMarsing
    @JohnMarsing วันที่ผ่านมา

    1:02:38
    re. taking a library and publishing it for AOT
    I would like to see the Sqlite library (that is written on C) as an example to publish with AOT
    I have a Blazor WASM app that uses a readonly Sqlite database of the KJV bible along with Hebrew transation for each word. Dont't know if this makes sense but could you have a Sqlite NativeAOT that just does SELECT

  • @adhamjon6720
    @adhamjon6720 วันที่ผ่านมา

    Does winforms support AOT now?

  • @dtienloi
    @dtienloi 2 วันที่ผ่านมา +2

    🤩🤩🤩

  • @metaltyphoon
    @metaltyphoon 2 วันที่ผ่านมา +8

    Not sure I agree about “just build on Linux because you would need infrastructure”. In Go or Zig this is trivial, so kinda embarrassing. In rust you add the target and install the infra necessary.
    Why can’t the dotnet workload cmdline do “setup infrastructure” for AOT scenarios? On Linux and macOS it would setup mingw and on windows it would setup gcc/clang

    • @LunicLynx
      @LunicLynx 2 วันที่ผ่านมา

      Why putting this effort down though?
      C# (a managed language) is very different from a native language. This translation into native code is absolutely non trivial.

    • @neonmidnight6264
      @neonmidnight6264 2 วันที่ผ่านมา

      NativeAOT supports cross-architecture compilation. Go case quickly becomes useless the moment you need platform-specific crypto, which is more often than you think, or any other OS-specific dependency. You can target NAOT at linux RIDs from under windows by using PulishAotCross nuget package, which uses Zig's build toolchain under the hood.
      Otherwise, you must compare this to C, C++ and Rust instead, which C#, as compiled by NativeAOT, is much spiritually closer to. It relies on platform linker, the same one your other systems programming languages use, and with the exception of Zig this is an OS-dependent build process.

    • @DamianPEdwards
      @DamianPEdwards 2 วันที่ผ่านมา +1

      Official answer RE .NET native AOT cross-compilation is at learn.microsoft.com/dotnet/core/deploying/native-aot/cross-compile
      The cost to build out the required feature set and infrastructure to enable this in a way that meets our requirements would be significant and unlikely to be prioritized high enough to warrant the investment.

  • @BahawalTV
    @BahawalTV 2 วันที่ผ่านมา +1

    How about WinForms?

    • @sealsharp
      @sealsharp 2 วันที่ผ่านมา

      Try it. Enable the analyzer flag true ( called AOT-compatibility analyzers on the website) and see what it says.

    • @chintu2691994
      @chintu2691994 วันที่ผ่านมา

      They always forget WinForms like old friends and will eventually be forgotten.
      I feel bad for all WinForms devs

    • @sakesun
      @sakesun วันที่ผ่านมา

      I guess normally libraries use many Reflection. AOT was quite specifically built to address cold-start issue for serverless microservices.

  • @tosunabi1664
    @tosunabi1664 วันที่ผ่านมา

    Overkill! So many settings to know about. Is it possible to just analyze the method while coding it and warn if it is not AOT compatible and offer ways to fix it, so that most code we produce can be AOT compatible.

  • @antoniusivan8767
    @antoniusivan8767 2 วันที่ผ่านมา +5

    youtuber is afraid to benchmark aspnetcore (native aot). Because their programming language and framework will get beaten so hard. hahaha

    • @LunicLynx
      @LunicLynx 2 วันที่ผ่านมา

      Why are you putting this comment here? They have been very transparent about the goal here. This is a huge accomplishment, and not because of performance. As mentioned in the beginning this has been an effort going on for 2 decades. It is a very complicated thing.

    • @shanselman
      @shanselman 2 วันที่ผ่านมา +1

      Hm?

    • @ote8458
      @ote8458 2 วันที่ผ่านมา

      "hahaha huhiu beaten" a no brainer comment without arguments

    • @q1joe
      @q1joe 2 วันที่ผ่านมา

      Huh?

    • @flygonfiasco9751
      @flygonfiasco9751 วันที่ผ่านมา

      What benchmarks were you looking for? Against other languages/frameworks? I thought they were pretty open about the state of aot in aspnet core, as well as the benefits and disadvantages to using it, at least in comparison to other publishing options