RyuJIT: Unnecessary Copy of System V x86-64 Multi-Register Structure Returning #7897
Labels
arch-x64
area-CodeGen-coreclr
CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI
enhancement
Product code improvement that does NOT require public API changes/additions
optimization
os-linux
Linux OS (any supported distro)
os-mac-os-x
macOS aka OSX
tenet-performance
Performance related issue
Milestone
According to VTune characterization of TechEmpower with CoreCLR 2.0-beta, the top hot function of
System::IO::Pipelines
isPipe.get_buffer
, which is called by the top hot functionWriteFast
in Kestrel.There are codegen differences between Windows and Ubuntu as shown below:
There are two codegen issues that make Linux version slower:
Buffer<byte>.Empty
(highlighted code inBlock 3
).Slice
(highlighted code inBlock 4
).I will look into fixing these codegen issues.
The text was updated successfully, but these errors were encountered: