关于C/C++的各种优化
一.常量
声明常量可以方便代码的修改,提高复用性.
; +; ;
同时,声明常量也可以减少重复运算,提高代码速度,例子如下:
string s;
cin>>s;
;i<len;i++)
s[i]='a';
上述代码中,可以利用常量储存s的长度,减少重复计算量.
string s;
cin>>s;
const int len=s.length();
;i<len;i++)
s[i]='a';
二.寄存器变量
寄存器变量可以通过register关键词声明,声明方法(样例)如下:
register ;
频繁使用的变量可以使用这种方法声明,常用于$for()$函数内.
;i<;i++)
机器会尽可能多地将这种变量放入CPU中的寄存器内,而不是内存里,从而提高效率.但要注意:寄存器变量不能使用指针.
三.编译优化(O1/O2/O3)
//O1优化
#pragma GCC optimize(1)
#pragma GCC optimize("O1")
//O2优化
#pragma GCC optimize(2)
#pragma GCC optimize("O2")
//O2优化
#pragma GCC optimize(3)
#pragma GCC optimize("O3")
四.万能头文件(OI竞赛请慎用)
c++中的万能头文件包含了几乎全部的c++头文件,引用方法如下:
#include <bits/stdc++.h>
这样就可以代替下面的一大堆头文件了.
#include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #include <cmath> #include <deque> #include <vector> #include <queue> #include <string> #include <cstring> #include <map> #include <stack> #include <set> //......
但是并不是所有OI竞赛都支持使用,所以还是不太推荐在竞赛上使用.
关于C/C++的各种优化的更多相关文章
- 关于DOM的操作以及性能优化问题-重绘重排
写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...
- In-Memory:内存优化表的事务处理
内存优化表(Memory-Optimized Table,简称MOT)使用乐观策略(optimistic approach)实现事务的并发控制,在读取MOT时,使用多行版本化(Multi-Row ve ...
- 试试SQLSERVER2014的内存优化表
试试SQLSERVER2014的内存优化表 SQL Server 2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度. 现在,存储引擎已整合进当前的数据库管理系统,而使用先进内存技 ...
- 01.SQLServer性能优化之----强大的文件组----分盘存储
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...
- 03.SQLServer性能优化之---存储优化系列
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 概 述:http://www.cnblogs.com/dunitian/p/60413 ...
- 前端网络、JavaScript优化以及开发小技巧
一.网络优化 YSlow有23条规则,中文可以参考这里.这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少. 1)合并压缩CSS.JavaScript.图片,静态资源CDN ...
- 数据库优化案例——————某市中心医院HIS系统
记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的.这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例. 最近一直很忙,博客产出也少的 ...
- 【前端性能】高性能滚动 scroll 及页面渲染优化
最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作. 本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲染的 ...
- Web性能优化:What? Why? How?
为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...
随机推荐
- jdk基础提升
1. treeMap,treesSet 作用:1具有对应普通的Map,Set的功能,2.能排序Map和Set (依赖树的结构进行排序---中序循环) TreeSet<String> tr ...
- 使用URLConnection获取页面返回的xml数据
public static void main(String[] args) throws Exception { String path="http://flash.weather.com ...
- mongodb副本集仲裁节点搭建
服务器准备: 主节点192.168.100.106 从节点192.168.100.107 仲裁节点192.168.100.108 三台服务器: 关闭防火墙 service iptables stop ...
- BUG搬运工:CSCun88303-CIMC Memory Leak : Can't SSH/HTTP to CIMC
Symptom:Unable to SSH/HTTP to the CIMC of the C-series server, however the CIMC can be pinged. Also ...
- Nexus-产品认识
传统的思科数据中心网络架构也包括如下层级结构: • 核心层(一般是Nexus 7K来充当) • 汇聚层(一般也是Nexus 7K充当,可能存在2台,或4台的设备) • 接入层(一般会 ...
- 修复GRUB引导故障!
故障原因:MBR中的GRUB引导程序遭到破坏,grub.conf文件丢失,引导配置有误 故障现象:系统引导停滞,显示“grub>”提示符 解决思路:若无MBR备份,进入急救模式,重新安装grub ...
- 【规范建议】服务端接口返回字段类型与iOS端的解析
一.本文档的写作目的 App需要跟产品.UI.后台.服务器.测试打交道,app的产出是其他端人员产出的综合体现.与其他端人员沟通就像是开发写接口,也就是面向接口编程的思想. 本文档讲解针对的是服务端返 ...
- xcode app 在iOS13.3.1上崩掉
问题背景: 以前搞的一个项目,昨天测试还好的,今天就无法在iphone上运行了,对比了一下昨天是13.3,今天是13.3.1 其它的没有区别,只要运行就崩,根本没有办法启动. 报错提示: dyld: ...
- RESTful风格化
RESTful Web Service介绍 Roy Thomas Fielding博士2000年提出的 REST是英文Representational State Transfer的缩写 表象化状态转 ...
- 线程安全Collections.synchronizedList
ollections.synchronizedList引发的线程安全问题 有些容器是线程安全的(Vector,ConcurrentLinkedQueue等),有些则不是(list等),利用类 似 pr ...