Skip to content

Commit c5dd586

Browse files
authored
Update ready-to-run.md (#22238)
1 parent 795af1f commit c5dd586

File tree

1 file changed

+12
-14
lines changed

1 file changed

+12
-14
lines changed

docs/core/deploying/ready-to-run.md

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ms.date: 09/21/2020
1111

1212
R2R binaries improve startup performance by reducing the amount of work the just-in-time (JIT) compiler needs to do as your application loads. The binaries contain similar native code compared to what the JIT would produce. However, R2R binaries are larger because they contain both intermediate language (IL) code, which is still needed for some scenarios, and the native version of the same code. R2R is only available when you publish an app that targets specific runtime environments (RID) such as Linux x64 or Windows x64.
1313

14-
To compile your project as ReadyToRun, the application must be published with the PublishReadyToRun property set to true.
14+
To compile your project as ReadyToRun, the application must be published with the PublishReadyToRun property set to `true`.
1515

1616
There are two ways to publish your app as ReadyToRun:
1717

@@ -21,7 +21,7 @@ There are two ways to publish your app as ReadyToRun:
2121
dotnet publish -c Release -r win-x64 -p:PublishReadyToRun=true
2222
```
2323
24-
02. Specify the property in the project
24+
02. Specify the property in the project.
2525
2626
- Add the `<PublishReadyToRun>` setting to your project.
2727
@@ -39,33 +39,31 @@ There are two ways to publish your app as ReadyToRun:
3939
4040
## Impact of using the ReadyToRun feature
4141
42-
Ahead-of-time compilation has complex performance impact on application performance, which may be difficult to predict. In general, the size of an assembly will grow to between two to three times larger. This increase in the physical size of the file may reduce the performance of loading the assembly from disk, and increase working set of the process. However, in return the number of methods compiled at runtime is typically reduced substantially. The result is that most applications that have large amounts of code receive large performance benefits from enabling ReadyToRun. Applications, which have small amounts of code will likely not experience a significant improvement from enabling ReadyToRun, as the .NET runtime libraries have already been precompiled with ReadyToRun.
42+
Ahead-of-time compilation has complex performance impact on application performance, which can be difficult to predict. In general, the size of an assembly will grow to between two to three times larger. This increase in the physical size of the file may reduce the performance of loading the assembly from disk, and increase working set of the process. However, in return the number of methods compiled at runtime is typically reduced substantially. The result is that most applications that have large amounts of code receive large performance benefits from enabling ReadyToRun. Applications that have small amounts of code will likely not experience a significant improvement from enabling ReadyToRun, as the .NET runtime libraries have already been precompiled with ReadyToRun.
4343
44-
The startup improvement discussed here applies not only to application startup, but also to the first use of any code in the application. For instance, ReadyToRun can be used to reduce the response latency of the first use of Web API in an ASP.NET application.
44+
The startup improvement discussed here applies not only to application startup, but also to the first use of any code in the application. For instance, ReadyToRun can be used to reduce the response latency of the first use of Web API in an ASP.NET application.
4545
4646
### Interaction with tiered compilation
4747
48-
Ahead-of-time generated is not as highly optimized as code produced by the JIT. To address this issue, tiered compilation will replace commonly used ReadyToRun methods with JIT-generated methods.
48+
Ahead-of-time generated code is not as highly optimized as code produced by the JIT. To address this issue, tiered compilation will replace commonly used ReadyToRun methods with JIT-generated methods.
4949
5050
## How is the set of precompiled assemblies chosen?
5151
5252
The SDK will precompile the assemblies that are distributed with the application. For self-contained applications, this set of assemblies will include the framework. C++/CLI binaries are not eligible for ReadyToRun compilation.
5353
5454
## How is the set of methods to precompile chosen?
5555
56-
The compiler will attempt to pre-compile as many methods as it can. However various reasons it is not expected that using the ReadyToRun feature will result in preventing the JIT from executing.
56+
The compiler will attempt to pre-compile as many methods as it can. However, for various reasons, it's not expected that using the ReadyToRun feature will prevent the JIT from executing. Such reasons may include, but are not limited to:
5757
58-
Such reasons may include, but are not limited to:
59-
60-
- Use of generic types defined in separate assemblies
61-
- Interop with native code
62-
- Use of hardware intrinsics that the compiler cannot prove are safe to use on a target machine
63-
- Certain unusual IL patterns
64-
- Dynamic method creation via reflection, or LINQ
58+
- Use of generic types defined in separate assemblies.
59+
- Interop with native code.
60+
- Use of hardware intrinsics that the compiler cannot prove are safe to use on a target machine.
61+
- Certain unusual IL patterns.
62+
- Dynamic method creation via reflection or LINQ.
6563
6664
## Cross platform/architecture restrictions
6765
68-
For some SDK platforms, the ReadyToRun compiler is capable of cross-compiling for other target platforms. Supported compilation targets are described in the table below.
66+
For some SDK platforms, the ReadyToRun compiler is capable of cross-compiling for other target platforms. Supported compilation targets are described in the following table.
6967
7068
| SDK platform | Supported target platforms |
7169
| ------------ | --------------------------- |

0 commit comments

Comments
 (0)