Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve inner-loop performance for .NET developers #5510

Closed
8 of 12 tasks
DamianEdwards opened this issue Nov 2, 2020 · 16 comments
Closed
8 of 12 tasks

Improve inner-loop performance for .NET developers #5510

DamianEdwards opened this issue Nov 2, 2020 · 16 comments
Assignees
Labels
Theme Groups multiple epics.

Comments

@DamianEdwards
Copy link
Member

DamianEdwards commented Nov 2, 2020

Summary

Inner-loop performance is critical to providing the developer experiences that are increasingly expected/demanded by developers. How fast developers can make code changes and see the resulting impact in their apps is directly proportional to how productive they can be.

When using other platforms, many of the common inner-loop operations are faster, sometimes dramatically so, than the equivalent when using .NET. First-time user impressions may be negatively impacted by such differences, to the point that it deters their choice of .NET as a developer platform.

Epics

Epics under this Theme:

@DamianEdwards DamianEdwards added the Theme Groups multiple epics. label Nov 2, 2020
@DamianEdwards DamianEdwards changed the title Improve Inner-Loop Performance for .NET developers Improve inner-loop performance for .NET developers Nov 2, 2020
@squalsoft
Copy link

This is really very critical. From day to day i have pain with slow builds compared to Go compilation.

@MatthewLymer
Copy link

I notice this quite a bit when doing TDD, add one line of code, wait 30 seconds for it to compile and validate my test. I guess this would apply to the first two epics.

@mkArtakMSFT
Copy link
Member

Updated the link for the Hot reload for Blazor components link.

@srxqds
Copy link

srxqds commented Nov 20, 2020

will it add support jit reload on monovm?

@dneimke
Copy link

dneimke commented Nov 26, 2020

Consider replacing the wwwroot/lib artifacts in new projects with content pulled from a package manager such as LibMan.

Maybe have the default content there, but have the config set up to link those resources to packages

@SimonCropp
Copy link

is this expected to break IL weavers like postsharp and fody?

@SimonCropp
Copy link

has a fast loop been considered for test execution? as in patching into a process that can run test?

@przemo098
Copy link

przemo098 commented Feb 19, 2021

I think development in C# should give good developer experience as in this talk: https://youtu.be/Yu9zcJJ4Uz0?t=416
In the end users will use languages which provide best development experience and other one will die.
And I think quick updating your code is critical in development like hot reloading of js in React / Angular...
I think in compilation should look like in https://www.snowpack.dev/ for js :)

Maybe using another compiler in development mode only and separate for release
In this case you can write test and lightining fast test it
The compilation should be incremental I think

@NejcBW
Copy link

NejcBW commented Feb 22, 2021

@przemo098 I think Vite.js is the new gold standard that all other tools will be compared to in the foreseeable feature.

@Liero
Copy link

Liero commented Feb 23, 2021

On a related note:

When running dotnet watch in terminal I often

  1. cannot see build errors/warning in VS error window
  2. cannot run tests, because VS runs it's own build and obj/*.dll files are locked by the dotnet watch.

In other words, I either use dotnet watch and loose lot of VS tooling support, or I use run the app using VS (Debug or Run without debugging) and loose some of the live reload functionality.

Also, when debugger is attached and app is rebuilt, it could automatically reattach, resp. never detach. Just like when I set breakpoint in javascript file in Chrome's developer tools and refresh a page.

@daniel-p-tech
Copy link

When can developers expect hot reload of Blazor (WASM) to be available? This is such a huge productivity enhancement that is crucial in successful adoption of Blazor.

@redcatH
Copy link

redcatH commented Mar 12, 2021

super
Reduce EF Core application startup time via compiled models

@Polymathical
Copy link

Inner loop. smh. The terminology gets more embarrassing each... outer loop.

@paramjeetSP
Copy link

Great Efforts.

@wocar
Copy link

wocar commented Apr 11, 2021

THIS IS GREAT. THANK YOU!!!

@DamianEdwards
Copy link
Member Author

Closing this out as it pertains to work done in .NET 6.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Theme Groups multiple epics.
Projects
None yet
Development

No branches or pull requests