当前位置: 首页 > 编程日记 > 正文

高文院士:为什么中国的AI发展必须要有开源开放平台?

640?wx_fmt=png

出品 | AI科技大本营(ID:rgznai100)

10 月 31 日,由北京智源人工智能研究院主办的 2019 北京智源大会在国家会议中心开幕,本次大会围绕人工智能基础研究现状及面临的机遇和挑战、人工智能技术未来发展的核心方向等话题,回归 AI 技术本身,开展深入研讨,切实探索人工智能前沿科技发展趋势。
在上午的主论坛上,中国工程院院士、智源研究院学术委员会委员高文介绍了中国在人工智能领域的 4 大优势和 4 个短板,并分享了如何通过云脑汇智建设中国的人工智能开源共享创新平台,夯实新一代人工智能发展基础。
以下是高文院士的演讲实录,AI科技大本营(ID:rgznai100)编辑:
640?wx_fmt=jpeg
我今天跟大家分享的主题是《云脑汇智:夯实新一代人工智能发展之基础》。云脑汇智是两件事,这两件事就是为了让中国的人工智能可以发展的更好。
首先讲下我们中国如果要发展人工智能,现在是什么态势,以及如果里面有短板,我们应该怎么应对。针对这两个问题,我们准备布局两件事:第一件事是云脑,第二件事是汇智。

人工智能发展态势与应对策略
去年10月31日,政治局集体学习了关于中国怎么发展人工智能的详细布局,布局中特别提到了要加快建立新一代人工智能关键共性技术体系,在短板上进行布局。
所以我们就按照这个布局去考虑,到底短板应该怎么补?长期怎么布局?国家科技部在新一代人工智能发展规划方面,已经按照2020年、2025年和2030年有了一个很好的前瞻性考虑,希望2020年中国的人工智能能够和世界同步,2025年其中有一部分能够达到比较领先的水平,2030年希望总体上能够走在前面。
640?wx_fmt=jpeg
基本的原则是分了四步:一是要科技引领,二是系统布局,三是市场主导,四是开源开放。开源开放在国家整体新一代的人工智能发展规划里占非常重要的位置。
在这个总体布局里,最核心的是新一代人工智能的重大科技项目。到现在为止,一共启动了两个“发动机”,近期可能很快会启动类脑计算和量子计算。总体来说,我们国家在重大计划布局方面已经有非常详细的布局。
640?wx_fmt=jpeg
科技创新2030年重大项目外层包的是国家重大研发计划,这个也是科技部在具体布局,布局的人工智能系的东西更多了,包括智慧城市、智慧健康、智慧农业、智慧交通等等。再外面是大众的创新、创业行动,这个规划里面包括众创空间、孵化器,这是科技部指导下各个地方在推动,各个部也在做。所以国家在人工智能整体规划有一个非常完整的布局。
在这个布局里面,其实各个计划之间是有关联的。比如说在平台上,不管是知识平台,还是社交平台、开源软件平台,这些都是有很多共性在共同推进的。另外是涉及到在具体应用中的开源硬件、众创空间等等,都有很多交叉合作要做。
具体在新一代人工智能重大科技计划里面,最底下的是一系列基础理论,包括感知、推理、博弈、知识学习、因果推断、协同控制、群智涌现等等,这些最底层的基础理论的布局。
640?wx_fmt=jpeg
在基础理论上面是一些支撑体系,包括软硬件的基础平台,硬件方面包括智能芯片、智能软件,软件包括智能操作系统等等。支撑体系再上面是核心技术或关键技术,再上面就是一些应用创新。
作为保障,左边是法律法规、安全伦理,右边是技术标准、安全评测。这是整体的2030所需要做的。
在整个新一代人工智能布局里面,从国家的角度这是双轮驱动的布局,既有左面的基础研究,右边其实是重大应用需求的布局。

中国在发展人工智能方面的优势和短板
既然有了布局,那么我们的长项在哪里?短板在哪里?
其实中国在人工智能方面有四个优势:
640?wx_fmt=png
第一,政策优势。所谓政策优势就是因为国家对这个特别重视,从党中央、国务院都有布局,包括科技部、发改委、工信部的部委都有相关的一些规划。到各个地方像北京市、上海市、广东省等等,都有一系列的配套,所以我们有政策的优势。
640?wx_fmt=png
第二,数据优势。中国的数据量是最大的,不管是互联网的数据,旅游的数据,老百姓看病的医疗数据,都是全世界规模最大的。有了这些数据,做人工智能就有米下锅了。
640?wx_fmt=png
第三,应用场景优势。听起来好像全世界的应用场景都是一样的,其实不是!人工智能要想用,它要有强烈的需求,这个应用场景才能起来。像美国、欧洲很多东西已经都经过了几十年、上百年的发展,政府、管理各个方面都已经就位了。如果要应用人工智能,有一些人的工作要丢了,其实要平衡起来还是比较棘手的。但是中国是发展中国家,前些年好多基础都没有到位,这个时候人工智能嵌进去马上就会发挥作用,又不会让很多人下岗,至少技术设施方面的不会下岗。所以中国人工智能应用场景比任何一个地方都丰富。
640?wx_fmt=png
第四,青年人多。中国本来人口就多,大学现在的毛入学率已经达到40%了,而且中国人比较重视工科,所以大学生里面学工科的人很多。学工科的里面,现在又是人工智能最热。后面我们人才的供应会非常充足,而且他们成长的速度也很快。现在不管是在国际上最顶级的人工智能国际会议,还是最顶级的国际杂志,投稿人、参会人差不多一半是中国年轻人,所以这是我们最大的优势之一。
640?wx_fmt=png
但是我们也有四个短板:
第一,基础理论和原创算法方面差距还是比较大。一是因为我们起步晚,另外前些年的科研评估体系使得大家都追热风,很难在一件事上做二三十年、三四十年,能坐冷板凳的人比较少,所以基础理论方面还是有比较大的差距。
第二,在高端器件方面有差距。不管是GPU、FPGA,还是高端传感器等等,特别是和模拟、射频有关方面的传感器都是我们的弱项。
第三,开源开放平台有差距。现在做人工智能基本上都用开源开放平台,在开源的基础上快速搭建一个系统就可以做应用了。但是现在大家用的比较多的都是谷歌、Facebook、亚马逊、微软、或者IBM的。排在前六名的开源开放平台都是国外的大企业。国内尽管有很多互联网巨头都在开始这方面的工作,像百度等等都在推开源开放平台,但是从市场影响力和规模来讲,还没有那么大。
第四,高端人才不足。与美国的人工智能高端人才数量相比,我们大概只有他们的20%左右。

云脑:建设新一代人工智能开源开放共享平台
既然存在这四个短板,我们怎么办?我们要补什么?智源研究院就在补基础研究和高端人才不足的短板,这是非常好的举措,除此以外还有什么好做的?
我今天说的其实就是要解决开源开放平台的短板。当然我们可以什么都不管,完全市场化让企业去做。像科技部去年布了5个开放平台,今年又布了10个,一共15个平台。刚才李部长在致辞里面已经提到了。我们可以让15个慢慢做、慢慢长,行不行呢?要我来说,那是一步棋,我们还必须有另外的棋。做任何事都要有两个方案,要有一个备份方案,所以还要有一个方案。开源开放平台的短板我们要不要一起来补?
除了开源开放平台以外,现在还有一个很大的事,就是现在大家做的开源开放的源程序放在哪儿?像谷歌、微软、Facebook的源程序是放在GitHub,如果全放在GitHub上行不行?GitHub原来是基金会管理下的托管平台,后来被微软收购了,所以现在是微软下面的托管平台。

但是按照法律,这个平台的母公司微软公司是注册在美国的,按照美国法律,GitHub要受美国法律的管辖,所以美国政府让它干什么、不让干什么,它要乖乖服从。这对于中国用户来讲,如果你将来所有做的东西都是放在GitHub上面,万一有一天GitHub不让某些企业用,不让某些大学用,甚至不让某些群体用,人工智能就变成是没根了,就是悬在半空中了。那有没有一个办法去找到一个高效的、风险可控的托管平台。
我们的应对策略就是这两件事,第一件事是开源开放平台怎么办?是不是就让企业做,还是我们来做点什么?
我的想法是要通过云脑来建设新一代开源共享创新平台,现在我们的想法是做硬件和做软件。硬件怎么做?现在已经有15家企业的开放创新平台,这是科技部布局的。我们要做的是在下面再做一个更广泛的平台。

为了做这个平台,去年我们在科技部下面成立了一个新一代人工智能产业创新联盟,现在名誉理事长是潘云鹤院士,我是理事长,黄铁军是秘书长,还有一些联合秘书长。这个产业技术联盟希望能构造一个很好的开源开放生态,生态里面包括硬件生态、软件生态和应用生态。配合生态,我们也布局了一些活动,比如有开源软件的活动,也有比赛。
软件怎么办?其实我们启动了启智平台治理体系。启智平台目前有很多核心成员,包括深圳的鹏城实验室、北京智源人工智能研究院、北京大学、国防科技大学、华为、百度、商汤、京东等等。同时还有不同领域的社区,既有最底下的基础设施、硬件和上面的算法框架的布局,在孵化方面也有生态的布局。
这样一个整体的创新布局。我们先看看硬件怎么办,现在深圳鹏城实验室牵头推出鹏城云脑,准备做开源硬件。鹏城云脑一期是100P操作的大型集群系统,既有英伟达的GPU,也有华为、寒武纪的人工智能芯片等构成的服务器。明年大概就会建成1000P的一台机器,这台机器建成了以后,全国做科研的,不管是高校的、研究所,甚至中小微创新创业的,都可以用来做训练。
640?wx_fmt=jpeg
在GPU服务器上面会有开源框架,比如启智章鱼、联邦学习工具、数据标注,还有一些和模型、接口有关的东西。而且这个是采用开放共享的机制,刚才说的算力、软件都可以分享。
现在云脑的使命是要联合全国所有愿意开源资源的群体一起做,我们通过分布式的资源调动管理系统,把所有的服务器资源调动管理起来,让它可以为人工智能各行各业的赋能工作。
现在我们已经找了一些例子,可以在刚才说的软硬件平台上去做,比如说做人工智能基准测试,看看哪一个机器学习的框架平台效率更高。另外灵长类动作大脑的仿真建模和类脑计算,冷冻电镜构像分析研究,利用自然语言模型的蛋白质序列的分析,智能交通、智能健康、智能医疗、智能金融等等,都可以在这个平台上做。
这是我们关于云脑的对策,希望能做人工智能开源开放共享创新平台,提供给国内做人工智能研究和人工智能创业的人来使用。
640?wx_fmt=jpeg

汇智:建设风险可控的人工智能代码托管平台
 
第三个要做开源代码托管平台。刚才的那些东西都说好了,但是大家做的源代码贡献放到哪里去,是不是仍然放到GitHub?当然没有问题。但是放到GitHub上基本上有两个问题是需要我们考虑的。有朋友告诉我,从国内访问的工程师占GitHub整体访问人数的36%左右,就是1/3,但是不到一半。中国的工程师用GitHub的非常多,但是中国的工程师给GitHub做贡献的不到6%,大概5%左右。也就是说很多人其实只是去拿东西,没有做贡献。为什么?有两种可能性:
第一种可能性是本来他就是要拿东西的,也没有想要做贡献。
第二种可能性是因为你要做贡献,你要写很多文档,而且要用英文。好多工程师的英文不是第一语言,写文档还有障碍,如果用中文写文档或者用中文讨论问题就简单了,所以我们要建设一个高效的托管平台。首先上面用的语言可以是中文,这样讨论就比较方便。
而且万一有一天GitHub不让你访问,不是不让所有的中国人访问,比如说不让国防科技大学的人访问,国防科技大学的人工智能就做不了了,因此这个托管平台应该放在中国境内。这样国内所有做人工智能的人,不管是大学的,还是企业的,都可以用。
这个问题我们能不能解决?能解决!怎么解决呢?就是在中国搞一个托管平台。
640?wx_fmt=jpeg
这个托管平台我们已经发起了,叫汇智,汇集大家的智慧。汇智的托管平台已经于今年的7月18日在深圳上线。当然目前这个服务器也不是放在实验室的服务器上,而是放在公有云上。但是公有云给我们提供服务,我们花钱在公有云上开一个平台,大家就可以到那儿去访问。
现在上边放的是什么东西呢?刚才我说的像OpenI等等,现在有一大堆人工智能框架的东西已经都上线了。
除了这个以外,我们还鼓励人工智能、RISC-V等开源项目和代码。当然我们不排他,这个托管平台不仅有自己的东西,我们还可以做GitHub在中国的镜像,甚至其他的一些开源代码在中国的镜像,我们都可以做。通过这样的托管平台,大家可以不用担心,打雷下雨照样可以种自己的自留地。
640?wx_fmt=jpeg
这上面到现在为止已经有300多个项目,计算机视觉是比例最高的,其次像深度学习、自然语言处理等等。现在我们不仅仅自己的东西往上加,也在进行公开征集。你有任何好的东西,你愿意建设区都可以到这个平台上来。
因为你要弄一个托管平台是要花钱的,现在鹏城实验室先拿一笔钱来建。将来如果有合适的单位或者合适的企业,大家一起加盟成立一个基金会,我们很愿意把托管平台交给基金会去管,这样它的运营就可以上轨道了。
当然基金会一定是公益的,不能太市场化了,不能太追求商业利益了,一定要推动人工智能发展的托管平台。基本上云脑、汇智就是这样的构思。

总结

总结一下,开源软件是人类智慧的有效传承方式,做人工智能必须要做开源,中国要想发展好新一代的人工智能,必须要有高效和风险可控的开源开放平台。我们现在做了两个尝试,第一是做了云脑,希望它能在软件和硬件方面提供开放的共享创新平台。第二是汇智,提供一个代码托管平台,希望这个平台能够高效、风险可控,为中国的人工智能发展夯实基石。

(*本文为 AI科技大本营原创文章,转载请微信联系 1092722531


精彩推荐



2019 中国大数据技术大会(BDTC)再度来袭!豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。5 折票倒计时 1 天!

640?wx_fmt=png


推荐阅读

相关文章:

libcurl断点下载遇到的问题

最近游戏把资源(图片、配置、lua)的加载、更新全部改了 ,加载其实还好,就是不走之前的zip解压方式。 以前的大体流程: 下载 –> 启动 –> 解压 –> 更新 –> 进入游戏 现在的大体流程: 下载 –…

sqlite3数据的使用(xcode 7,ios9)

由于考虑将来还要开发Android版本app,为了移植方便,所以使用了sqlite3来做数据持久化,到时候把sql语句拷过去还能用。 1、 首先用xcode载入sqlite3类库 选择工程的TARGETS-build phases-link binary with libraries,点击“”按钮&…

吴恩达老师深度学习视频课笔记:序列模型和注意力机制

基础模型&#xff1a;比如你想通过输入一个法语句子来将它翻译成一个英语句子&#xff0c;如下图&#xff0c;seq2seq模型&#xff0c;用x<1>一直到x<5>来表示输入句子的单词&#xff0c;然后我们用y<1>到y<6>来表示输出的句子的单词&#xff0c;如何训…

七个开发者成就百亿市值公司?这个技术思路如今让阿里发扬光大

2015年&#xff0c;马云带领阿里巴巴集团的高管拜访了位于芬兰游戏公司supercell 这家公司开发出了《部落战争》、《皇室战争》、《海岛奇兵》等App端知名游戏图片来自多玩BBS社区但是&#xff0c;这么知名的游戏公司开发团队当时却不足7人&#xff01;整个团队好像cell一样&am…

Linux学习笔记之文件管理和目录管理类命令

在开始理解Linux文件管理和目录类命令之前&#xff0c;有必要先说一下&#xff0c;关于操作系统在计算机中都做了哪些工作。0、操作系统的工作1、文件管理&#xff0c;增删改查2、目录管理3、进程管理4、软件安装5、运行程序6、网络管理7、设备管理本次笔记介绍的是文件管理和目…

张钹、朱松纯、黄铁军等同台激辩:人工智能的“能”与“不能”

整理 | AI科技大本营编辑部出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;10 月 31 日&#xff0c;由北京智源人工智能研究院主办的 2019 北京智源大会在国家会议中心开幕&#xff0c;本次大会吸引了国际人工智能领域的顶级专家学者参加&#xff0c;围绕人工智能基础…

ssqlit3.0数据库使用方法

由于考虑将来还要开发Android版本app&#xff0c;为了移植方便&#xff0c;所以使用了sqlite3来做数据持久化&#xff0c;到时候把sql语句拷过去还能用。 1、 首先用xcode载入sqlite3类库 选择工程的TARGETS-build phases-link binary with libraries&#xff0c;点击“”按钮&…

GCC中通过--wrap选项使用包装函数

在使用GCC编译器时&#xff0c;如果不想工程使用系统的库函数&#xff0c;例如在自己的工程中可以根据选项来控制是否使用系统中提供的malloc/free, new/delete函数&#xff0c;可以有两种方法&#xff1a; (1). 使用LD_PRELOAD环境变量&#xff1a;可以设置共享库的路径&…

[原]对Linux环境下任务调度一点认识

我一直以来有一个误解&#xff0c;那就是在终端运行某个程序时&#xff0c;按下Ctrl D时我误以为就是杀死了这个进程&#xff0c;今天才知道原来不是。比如我利用libevent在Linux环境下写了一个网络监听程序&#xff0c;当启动程序之后&#xff0c;就会一直监听本地的6789端口…

决策树的C++实现(CART)

关于决策树的介绍可以参考&#xff1a; https://blog.csdn.net/fengbingchun/article/details/78880934 CART算法的决策树的Python实现可以参考&#xff1a; https://blog.csdn.net/fengbingchun/article/details/78881143 这里参考 https://machinelearningmastery.com/impl…

iOS开发-由浅至深学习block

作者&#xff1a;Sindri的小巢&#xff08;简书&#xff09; 关于block 在iOS 4.0之后&#xff0c;block横空出世&#xff0c;它本身封装了一段代码并将这段代码当做变量&#xff0c;通过block()的方式进行回调。这不免让我们想到在C函数中&#xff0c;我们可以定义一个指向函数…

Google和微软分别提出分布式深度学习训练新框架:GPipe PipeDream

【进群了解最新免费公开课、技术沙龙信息】作者 | Jesus Rodriguez译者 | 陆离编辑 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导读】微软和谷歌一直在致力于开发新的用于训练深度神经网络的模型&#xff0c;最近&#xff0c;谷歌和微软分别…

fragment 横竖屏 不重建

2019独角兽企业重金招聘Python工程师标准>>> android:configChanges"screenSize|orientation" 这样设置 切屏时都不会重新调用fragment里面的onCreateView了 转载于:https://my.oschina.net/u/1777508/blog/317811

二叉树简介及C++实现

二叉树是每个结点最多有两个子树的树结构&#xff0c;即结点的度最大为2。通常子树被称作”左子树”和”右子树”。二叉树是一个连通的无环图。 二叉树是递归定义的&#xff0c;其结点有左右子树之分&#xff0c;逻辑上二叉树有五种基本形态&#xff1a;(1)、空二叉树&#xf…

swift实现ios类似微信输入框跟随键盘弹出的效果

为什么要做这个效果 在聊天app&#xff0c;例如微信中&#xff0c;你会注意到一个效果&#xff0c;就是在你点击输入框时输入框会跟随键盘一起向上弹出&#xff0c;当你点击其他地方时&#xff0c;输入框又会跟随键盘一起向下收回&#xff0c;二者完全无缝连接&#xff0c;那么…

行人被遮挡问题怎么破?百度提出PGFA新方法,发布Occluded-DukeMTMC大型数据集 | ICCV 2019...

作者 | Jiaxu Miao、Yu Wu、Ping Liu、Yuhang Ding、Yi Yang译者 | 刘畅编辑 | Jane出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;【导语】在以人搜人的场景中&#xff0c;行人会经常被各种物体遮挡。之前的行人再识别&#xff08;re-id&#xff09;方法…

WinAPI: Arc - 绘制弧线

为什么80%的码农都做不了架构师&#xff1f;>>> //声明: Arc(DC: HDC; {设备环境句柄}X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer {四个坐标点} ): BOOL;//举例: procedure TForm1.FormPaint(Sender: TObject); constx1 10;y1 10;…

提高C++性能的编程技术笔记:跟踪实例+测试代码

当提高性能时,我们必须记住以下几点&#xff1a; (1). 内存不是无限大的。虚拟内存系统使得内存看起来是无限的&#xff0c;而事实上并非如此。 (2). 内存访问开销不是均衡的。对缓存、主内存和磁盘的访问开销不在同一个数量级之上。 (3). 我们的程序没有专用的CPU&#xff…

2019年不可错过的45个AI开源工具,你想要的都在这里

整理 | Jane 出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100)一个好工具&#xff0c;能提高开发效率&#xff0c;优化项目研发过程&#xff0c;无论是企业还是开发者个人都在寻求适合自己的开发工具。但是&#xff0c;选择正确的工具并不容易&#xff0c;有时这甚至是…

swift中delegate与block的反向传值

swift.jpg入门级 此处只简单举例并不深究&#xff0c;深究我也深究不来。对于初学者来说delegate或block都不是一下子能理解的&#xff0c;所以我的建议和体会就是&#xff0c;理不理解咱先不说&#xff0c;我先把这个格式记住&#xff0c;对就是格式&#xff0c;delegate或blo…

Direct2D (15) : 剪辑

为什么80%的码农都做不了架构师&#xff1f;>>> 绘制在 RenderTarget.PushAxisAlignedClip() 与 RenderTarget.PopAxisAlignedClip() 之间的内容将被指定的矩形剪辑。 uses Direct2D, D2D1;procedure TForm1.FormPaint(Sender: TObject); varcvs: TDirect2DCanvas;…

女朋友啥时候怒了?Keras识别面部表情挽救你的膝盖

作者 | 叶圣出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;【导读】随着计算机和AI新技术及其涉及自然科学的飞速发展&#xff0c;整个社会上的管理系统高度大大提升&#xff0c;人们对类似人与人之间的交流日渐疲劳而希望有机器的理解。计算机系统和机械人如果需要…

提高C++性能的编程技术笔记:构造函数和析构函数+测试代码

对象的创建和销毁往往会造成性能的损失。在继承层次中&#xff0c;对象的创建将引起其先辈的创建。对象的销毁也是如此。其次&#xff0c;对象相关的开销与对象本身的派生链的长度和复杂性相关。所创建的对象(以及其后销毁的对象)的数量与派生的复杂度成正比。 并不是说继承根…

swim 中一行代码解决收回键盘

//点击空白收回键盘 override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { view.endEditing(true) }

WinAPI: SetRect 及初始化矩形的几种办法

为什么80%的码农都做不了架构师&#xff1f;>>> 本例分别用五种办法初始化了同样的一个矩形, 运行效果图: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 class(TForm)Butto…

Windows10上使用VS2017编译OpenCV3.4.2+OpenCV_Contrib3.4.2+Python3.6.2操作步骤

1. 从https://github.com/opencv/opencv/releases 下载opencv-3.4.2.zip并解压缩到D:\soft\OpenCV3.4.2\opencv-3.4.2目录下&#xff1b; 2. 从https://github.com/opencv/opencv_contrib/releases 下载opencv_contrib-3.4.zip并解压缩到D:\soft\OpenCV3.4.2\opencv_contrib-3…

swift 跳转网页写法

var alert : UIAlertView UIAlertView.init(title: "公安出入境网上办事平台", message: "目前您可以使用网页版进行出入境业务预约与查询&#xff0c;是否进入公安出入境办事平台&#xff1f;", delegate: nil, cancelButtonTitle: "取消", o…

智能边缘计算:计算模式的再次轮回

作者 | 刘云新来源 | 微软研究院AI头条&#xff08;ID:MSRAsia&#xff09;【导读】人工智能的蓬勃发展离不开云计算所带来的强大算力&#xff0c;然而随着物联网以及硬件的快速发展&#xff0c;边缘计算正受到越来越多的关注。未来&#xff0c;智能边缘计算将与智能云计算互为…

WinAPI: 钩子回调函数之 SysMsgFilterProc

为什么80%的码农都做不了架构师&#xff1f;>>> SysMsgFilterProc(nCode: Integer; {}wParam: WPARAM; {}lParam: LPARAM {} ): LRESULT; {}//待续...转载于:https://my.oschina.net/hermer/blog/319736

提高C++性能的编程技术笔记:虚函数、返回值优化+测试代码

虚函数&#xff1a;在以下几个方面&#xff0c;虚函数可能会造成性能损失&#xff1a;构造函数必须初始化vptr(虚函数表)&#xff1b;虚函数是通过指针间接调用的&#xff0c;所以必须先得到指向虚函数表的指针&#xff0c;然后再获得正确的函数偏移量&#xff1b;内联是在编译…