中国科学技术大学;华为技术有限公司张昱获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉中国科学技术大学;华为技术有限公司申请的专利一种高性能CGO跨语言调用方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN115934374B 。
龙图腾网通过国家知识产权局官网在2025-08-08发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202211228993.9,技术领域涉及:G06F9/54;该发明授权一种高性能CGO跨语言调用方法是由张昱;丁伯尧;陈金宝;韩超群;廖堉哲;徐林设计研发完成,并于2022-10-08向国家知识产权局提交的专利申请。
本一种高性能CGO跨语言调用方法在说明书摘要公布了:本发明涉及跨语言调用技术领域,公开了一种高性能CGO跨语言调用方法,将解绑逻辑处理器P和系统线程M这一操作从整体的跨语言调用流程中取消,只在Go语言运行时尝试抢占处于HCGO调用过程中的Go协程时被调用,从而能够使得在大多数情况下的跨语言调用都不需要执行这一操作;通过取消栈切换来优化跨语言调用链,降低调用开销。
本发明授权一种高性能CGO跨语言调用方法在权利要求书中公布了:1.一种高性能CGO跨语言调用方法,其特征在于,对Go语言跨语言调用中的逻辑处理器P和系统线程M进行惰性解绑:Go语言与C语言相互调用过程中,如果Go协程收到Go语言发送的抢占信号,进行如下步骤: a跳转到Go语言的信号处理函数; b将当前Go协程所在的逻辑处理器P和系统线程M解绑,并标记进入系统调用状态; c转到C语言的函数执行,此时所述的系统线程M被划分到Go语言的运行时调度范围外; d当C语言的函数执行结束或者C语言的函数回调Go语言的函数时,判断逻辑处理器P和系统线程M在C语言的函数执行前是否进行过解绑,如是,则重新绑定逻辑处理器P和系统线程M后再执行Go语言的函数; 包括取消Go语言和C语言跨语言互调中的栈切换: 在Go语言程序编译时,通过以下方式获取C语言的函数的栈空间使用上界Spacec:用户指定、对C语言的函数执行静态分析、默认大小; 当Go语言的函数调用C语言的函数时,根据Spacec的值为执行C语言函数的Go协程指示栈空间大小,使C语言的函数以及Go语言的函数均可运行在Go协程的同一块栈空间中。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人中国科学技术大学;华为技术有限公司,其通讯地址为:230026 安徽省合肥市包河区金寨路96号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。