您的位置:首页 >智能 >

AWS推出自家程式码导师CodeGuru替用户揪出浪费运算资源的程式码

时间:2022-09-29 18:31:11 来源:[db:来源]

原标题:AWS推出自家程式码导师CodeGuru替用户揪出浪费运算资源的程式码

继微软之后,AWS应用机器学习技术也推出程式码导师服务CodeGuru,用来自动审查程式码,其包含可静态分析程式码的Reviewer,以及动态分析程式的Profiler,可找出用户程式码中最耗费资源的部分,并提供最佳写法的建议。

CodeGuru由Reviewer和Profiler两部分组成,CodeGuru Reviewer是以规则探勘和监督式机器学习模型训练而成,模型结合了逻辑回归和神经网路,可用来侦测AWS API和SDK的使用,与最佳实作的差异,标记可能产生问题的写法,像是批次操作的错误处理或是执行绪不安全的类别等。Reviewer会寻找程式码变更,并且同时探勘文件资料进行交互参照,在审查程式码时,产生新的模型,为用户程式码提供最佳实作的建议。

另外,CodeGuru Profiler则会针对问题,像是过度重建耗费资源的物件、进行耗费资源的反序列化、使用低效能的函式库,或执行过多的日誌记录等问题,提供具体的建议,让用户修改程式码以降低CPU使用率、运算成本,甚至是改进易用程式效能。

CodeGuru Profiler代理会在生产环境中持续执行,不停地寻找应用程式中耗费大量资源的程式码,但代理仅会占用少量的CPU容量,不会明显地影响应用程式效能。用户可以安装小型代理程式分析应用程式,并在CodeGuru控制台中进行控制。

AWS提到,他们内部已经使用CodeGuru最佳化了8万个应用程式。AWS以庞大的程式码库训练CodeGuru机器学习模型,除了使用内部数十万个专案之外,还用了GitHub中超过10万个开源专案的程式码。目前CodeGuru仅支援Java应用程式,而其他程式语言的支援则会在后续释出。

而CodeGuru是依照Reviewer审查的程式码行数,以及Profiler执行的时间来计费。Reviewer每扫描100行程式花费0.75美元,而Profiler则是跟着应用程式运作,採样在Amazon EC2执行个体、ECS、EKS以及AWS Fargate执行的应用程式,其CPU利用率和延迟等资料。

每个应用程式分析的计价,会根据Profiler採样时间来计算,一个採样小时等于Profiler代理在执行个体上执行1个小时的时间,因此当应用程式在两个执行个体上执行,两个执行个体都执行Profiler代理1个小时,则採样时间会计为2小时,一个月前36,000小时每小时0.005美元,36,000小时以上就不再额外收费。


郑重声明:文章仅代表原作者观点,不代表本站立场;如有侵权、违规,可直接反馈本站,我们将会作修改或删除处理。