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

AOT 32-bits #86558

Closed
jssmotta opened this issue May 21, 2023 · 12 comments
Closed

AOT 32-bits #86558

jssmotta opened this issue May 21, 2023 · 12 comments
Labels
area-NativeAOT-coreclr tenet-performance Performance related issue untriaged New issue has not been triaged by the area owner

Comments

@jssmotta
Copy link

We need AOT 32-bits to run side-by-side IIS pool 32-bit applications.
32bits compilation is 4 times faster than 64-bits and consumes much extra memory to do the same job.

@jssmotta jssmotta added the tenet-performance Performance related issue label May 21, 2023
@ghost ghost added the untriaged New issue has not been triaged by the area owner label May 21, 2023
@Wraith2
Copy link
Contributor

Wraith2 commented May 21, 2023

What is the source for your numbers?

@jssmotta
Copy link
Author

I have already made several tests in my ERP and CRM systems, using .NET 4.8 and .NET 6 and 7. In all environments, the 32 bits were faster. I installed it in production too to ensure that x64 consumes more memory and is slower than x86.

@Wraith2
Copy link
Contributor

Wraith2 commented May 21, 2023

Can you provide your benchmarks and results?

@NCLnclNCL
Copy link

Can you provide your benchmarks and results?

he's right, it's obvious because 64 bit uses more addresses than 32 bit and takes more ram, and 64 bit uses more cpu

@Wraith2
Copy link
Contributor

Wraith2 commented May 22, 2023

If it's that obvious then providing an example use case, benchmarks and numbers should be easy.
If it is made clear that there is significant benefit to doing the work to allow and maintain 32 bit AOT then it may happen. Simply stating that it's better is not enough evidence.

@NCLnclNCL
Copy link

If it's that obvious then providing an example use case, benchmarks and numbers should be easy. If it is made clear that there is significant benefit to doing the work to allow and maintain 32 bit AOT then it may happen. Simply stating that it's better is not enough evidence.

but obviously only compile from iL to c++ code, while c++ has 32 bit linker why don't they do it

@Wraith2
Copy link
Contributor

Wraith2 commented May 22, 2023

Likely because there is no evidence that the effort required is a good investment. If you can provide evidence that it is both useful and worthwhile to expend resources in providing this functionality then it may get implemented. So, as i've asked repeatedly, can you provide a use-case, benchmarks, numbers?

@hez2010
Copy link
Contributor

hez2010 commented May 22, 2023

but obviously only compile from iL to c++ code, while c++ has 32 bit linker why don't they do it

Because NativeAOT is not working in this way which compiles IL to C++ code. The old il2cpp backend has been deprecated and dropped for years.

@NCLnclNCL
Copy link

but obviously only compile from iL to c++ code, while c++ has 32 bit linker why don't they do it

Because NativeAOT is not working in this way which compiles IL to C++ code. The old il2cpp backend has been deprecated and dropped for years.

You need install c++ compile in vs 2022 to compile aot

@vitek-karas
Copy link
Member

You need install c++ compile in vs 2022 to compile aot

It uses the platform linker from that package, but not the C++ compiler.

@katanakatana123
Copy link

32 bit in c++ compile very fast

@jkotas
Copy link
Member

jkotas commented May 22, 2023

I assume you meant native AOT support for x86.

We (the core .NET runtime team) do not have plans to enable Windows x86 in near future. We are open to community contributions towards enabling it. See #86573 for discussion about this.

Duplicate of #86573

@jkotas jkotas closed this as completed May 22, 2023
@ghost ghost removed the untriaged New issue has not been triaged by the area owner label May 22, 2023
@jkotas jkotas added untriaged New issue has not been triaged by the area owner area-NativeAOT-coreclr and removed area-Codegen-AOT-mono labels May 22, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Jun 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-NativeAOT-coreclr tenet-performance Performance related issue untriaged New issue has not been triaged by the area owner
Projects
None yet
Development

No branches or pull requests

7 participants