云原生开发
云原生一直是业界最近最受关注的话题。为了跟上开发人员在这一领域的需求,我们计划在即将到来的几个季度添加更多基于云原生的样本和项目脚手架,包括Spring Boot。
; Program.GetLength()
push rsi
sub rsp,30
vzeroupper
vxorps xmm0,xmm0,xmm0
vmovdqu xmmword ptr [rsp+20],xmm0
mov dword ptr [rsp+20],5
mov dword ptr [rsp+24],6
mov dword ptr [rsp+28],7
mov rcx,offset MT_System.ValueTuple~3[[System.Int32, System.Private.CoreLib],[System.Int32, System.Private.CoreLib],[System.Int32, System.Private.CoreLib]]
call CORINFO_HELP_NEWSFAST
mov rsi,rax
vmovdqu xmm0,xmmword ptr [rsp+20]
vmovdqu xmmword ptr [rsi+8],xmm0
mov rcx,rsi
call Program.Ignore(System.Object)
mov rcx,rsi
add rsp,30
pop rsi
jmp near ptr System.ValueTuple~3[[System.Int32, System.Private.CoreLib],[System.Int32, System.Private.CoreLib],[System.Int32, System.Private.CoreLib]].System.Runtime.CompilerServices.ITuple.get_Length()
; Total bytes of code 92
基于 Azure 的代码的内部循环优化
内循环优化也是我们投资的重中之重之一。我们的团队正在努力改进工具包中的编码、调试和监视体验。对于编码体验,我们计划为 Azure SDK 添加更多示例,并为 Azure 相关代码和配置提供更好的代码分析/完成支持。在调试方面,我们会继续提供一些额外的支持,比如远程调试。此外,我们计划在适用的情况下支持 Azure 服务上的日志流式处理。此外,我们还计划更好地支持 Azure Monitor 和日志,以及支持 Azure Storage Explorer。
; Program.GetLength()
push rsi
sub rsp,30
vzeroupper
vxorps xmm0,xmm0,xmm0
vmovupd [rsp+20],xmm0
mov dword ptr [rsp+20],5
mov dword ptr [rsp+24],6
mov dword ptr [rsp+28],7
mov rcx,offset MT_System.ValueTuple~3[[System.Int32, System.Private.CoreLib],[System.Int32, System.Private.CoreLib],[System.Int32, System.Private.CoreLib]]
call CORINFO_HELP_NEWSFAST
mov rcx,rax
lea rsi,[rcx+8]
vmovupd xmm0,[rsp+20]
vmovupd [rsi],xmm0
call Program.Ignore(System.Object)
cmp [rsi],esi
mov eax,3
add rsp,30
pop rsi
ret
; Total bytes of code 92
性能与可靠性
性能至关重要。为了向用户提供更好的性能和可靠性,我们的目标是在使用 Azure 服务之前优化登录性能,并通过我们的工具包提高稳定性。
; Program.MoveNext()
sub rsp,28
mov rcx,[rcx+8]
mov r11,7FFF8BB40378
call qword ptr [7FFF8BEB0378]
nop
add rsp,28
ret
在 Azure 服务上与 Java 深度集成
除了上述方面之外,我们还计划与适用于 Java 工作负荷的关键 Azure 服务进行更深入的集成。例如,我们的目标是在我们的工具包中支持 Azure Spring Cloud 上的远程调试。
我们希望这些改进将大大提高开发人员在 IntelliJ IDEA 中使用 Azure 应用程序时的工作效率。如果您对上述路线图有任何反馈或疑问,请告诉我们!
using System.Collections.ObjectModel;
using System.Diagnostics.CodeAnalysis;
using System.Diagnostics;
using System.Diagnostics.Tracing;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Sockets;
using System.Net.WebSockets;
using System.Numerics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.IO.Compression;
#if NETCOREAPP3_0_OR_GREATER
using System.Text.Encodings.Web;
using System.Text.Json;