软件优化的原理与实践系列之一向量化计算-阿里云开发者社区

开发者社区> celerychen> 正文

软件优化的原理与实践系列之一向量化计算

简介: 向量化计算 软件优化的原理与实践系列之一 前言 用过MATLAB仿真语言的同学,都有这样的经验。要尽量多用向量化运算,而不要自己手写循环语句,否则代码的执行效率会相当低下。如果你熟悉python,涉及到数值计算的时候,也要尽量的调用成熟的数值计算的库,比如numpy,而不是自己用循环去实现。一个众所周知的理由是,别人成熟的库已经经过了高度的优化,我们没有必要重复造轮子。 事实上,还有另外一
+关注继续查看

向量化计算

软件优化的原理与实践系列之一

前言

用过MATLAB仿真语言的同学,都有这样的经验。要尽量多用向量化运算,而不要自己手写循环语句,否则代码的执行效率会相当低下。如果你熟悉python,涉及到数值计算的时候,也要尽量的调用成熟的数值计算的库,比如numpy,而不是自己用循环去实现。一个众所周知的理由是,别人成熟的库已经经过了高度的优化,我们没有必要重复造轮子。

事实上,还有另外一个根本性的原因是,向量化计算,就即使没有经过任何优化的代码,也会比非向量化运算要快。本篇博文将试图解释其根本性原因。

背景

现代计算机大都采用了分层的存储器结构:寄存器,cache,主存,磁盘。CPU的计算单元直接和寄存器交换信息,计算时需要把数据逐级传递到寄存器,计算得到的结果也要将结果逐级放回存储器。基于这种存储体系结构,程序员在编制软件的时候,要尽量的减少和cache,主存,磁盘这些存储器交换数据。我们把整个软件的执行实行划分为两部分,CPU真正执行运算的时间和寄存器与存储器交换数据的时间,即:

 常见线性代数运算操作的q值

小结

把计算流程用向量,矩阵的数学语言重新描述,在此基础上实施的计算,总是比标量计算的效率高,即使代码没有经过任何优化。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Nginx软件优化
1.1 Nginx优化分类 安全优化(提升网站安全性配置) 性能优化(提升用户访问网站效率) 1.2 Nginx安全优化 1.2.1 隐藏nginx版本信息优化 官方配置参数说明:http://nginx.
1179 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
7281 0
函数计算GB镜像秒级启动:下一代软硬件架构协同优化揭秘
函数计算在2020年8月创新地提供了容器镜像的函数部署方式。AWS Lambda在2020年12月Re-Invent,国内其他FaaS提供商在2021年6月也相继宣布了FaaS支持容器的重磅功能。冷启动一直都是FaaS的痛点,引入比代码压缩包大几十倍的容器镜像后冷启动恶化便成为开发者最大的担忧。
102 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2513 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
8976 0
基础设施助力双11(七):软硬件深度优化,让存储IO如丝般顺滑
众所周知,双11的稳定依赖于坚如磐石的系统,包括软件以及硬件,只有在软硬件都可靠的前提下,才可能保证流畅的用户体验。所以我们必须做到两手抓且两手都要硬才行,以下就让我们来看一个双11中软硬件深度结合优化的真实案例。
590 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
10573 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
11329 0
+关注
1
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载