AwesomePerfCpp 性能优化
Contents
Talks
2013:
- Going Native 2013 - Andrei Alexandrescu, Writing Quick Code in C++, Quickly
- Going Native 2013 - Stephan T. Lavavej, rand() Considered Harmful
- Going Native 2013 - Sean Parent, C++ Seasoning
2014:
- code::dive conference 2014 Scott Meyers: Cpu Caches and Why You Care(slides)
- CppCon 2014 Andrei Alexandrescu "Optimization Tips - Mo' Hustle Mo' Problems"
- CppCon 2014 Mike Acton "Data-Oriented Design and C++"
- CppCon 2014 Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"
2015:
- code::dive conference 2015 Andrei Alexandrescu - Writing Fast Code I (slides)
- code::dive conference 2015 Andrei Alexandrescu - Writing Fast Code II (slides)
- CppCon 2015 Chandler Carruth, "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"
- CppCon 2015 Bryce Adelstein-Lelbach “Benchmarking C++ Code"
- Meeting C++ 2015 Understanding Compiler Optimization - Chandler Carruth - Opening Keynote
2016:
- ACCU 2016 'Fastware' - Andrei Alexandrescu
- C++Now 2016 Timur Doumler: C++ Performance in Practice: Align, Vectorise, Cache, Jump! (slides)
- C++Now 2016 David Stone: Exceptional Performance
- C++Now 2016 Jason Turner: Practical Performance Practices
- CppCon 2016 Timur Doumler “Want fast C++? Know your hardware!"
- CppCon 2016 Jason Turner “Practical Performance Practices"
- CppCon 2016 Chandler Carruth “High Performance Code 201: Hybrid Data Structures"
- CppCon 2016 McKenney “Beyond the Issaquah Challenge: High-Performance Scalable Complex Updates"
- CppCon 2016 D. Dechev & D. Zhang “High Performance C++ Concurrent Transactional Data Structures"
- CppCon 2016 Matthew Bentley “Colonies, performance and why you should care"
- CppCon 2016 Christiaan Pretorius “Cache Optimized Hash Tables”
- CppCon 2016 Tim Haines “Improving Performance Through Compiler Switches..."
Articles
- Three Optimization Tips for C++, by Andrei Alexandrescu, @Facebook Engineering
- why GNU grep is fast
- Hash Functions all the way down from Aras-P, and the follow up here
- Why do CPUs have multiple cache levels?
- ETW Central - by RandomASCII
- Micro benchmarking libraries for C++- on Bartek's blog
- How to start with Software Optimization, from Flexible Particle Experiments series, Bartek's blog.
- Taking advantage of cache coherence in your programs
- Gallery of Processor Cache Effects, C#
- How We Beat C++ STL Binary Search
- C++ benchmark – std::vector VS std::list VS std::deque
- Container Study
- Associative-Container Performance Tests
- C++ Core Guidelines, Performance section
- C++ Best Practices, Performance section
- That’s Not Normal–the Performance of Odd Floats
- gprof, Valgrind and gperftools – an evaluation of some tools for application level CPU profiling on Linux
- The Performance API (PAPI) project
- Roofline Performance Model
- C++ timing strategies compared (in Windows)- from baremetalcode blog.
- Simply about complex - Data Oriented Design by example
- Guide into OpenMP: Easy multithreading programming for C++
- C++ Optimization Bibliography - Kurt Guntheroth's
Manuals:
Sites/Blogs
- Agner`s CPU blog
- Agner's Software optimization resources
- The ryg blog
- Random ASCII
- The Every Computer Performance Blog
- The Supercomputing Blog
- Daniel Lemire's blog
- Wojciech Mula's site: 0x80.pl - articles on performance, SIMD
- Bartek's programming blog
Tools
Free
- AMD Code XL
- Very Sleepy
- Proffy
- Windows Performance Toolkit - XPERF
- Performance and Diagnostic Tools in Visual Studio 2015
- Valgrind
- TAU Performance System
- Google Performance Tools (gperftools)
- Linux perf tools
- NVIDIA Visual Profiler
- Qualcomm Snapdragon Profiler
- Oracle Solaris Studio Performance Analyzer
- OProfile for Linux
Paid
Libraries
- Celero micro-benchmarking library
- Nonius library
- Hayai micro benchmarking library, into article
- Google benchmark library
Books
- PDF: optimizing C++ - by Agner Fog. FREE
- Optimizing C++, WikiBooks - FREE
- The Software Optimization Cookbook: High Performance Recipes for IA-32 Platforms, 2nd Edition
- Video Game Optimization, Eric Preisz
- Optimized C++: Proven Techniques for Heightened Performance, Kurt Guntheroth
- Power and Performance: Software Analysis and Optimization, Jim Kukunas
- Systems Performance: Enterprise and the Cloud, Brendan Gregg
- Every Computer Performance Book, Bob Wescott
About
This list was started by Bartlomiej Filipek (@fenbf). If you like to help please read CONTRIBUTING.md instructions and just make a pull request to this repo.
https://github.com/fenbf/AwesomePerfCpp
------------------------------------------------------------------------------------------------------------------
rapidcheck 检查瓶颈
QuickCheck clone for C++ with the goal of being simple to use with as little boilerplate as possible.
https://github.com/emil-e/rapidcheck
A C++ micro-benchmarking framework
https://nonius.io
https://github.com/libnonius/nonius
C++ benchmarking framework
https://bruun.co/2012/02/07/easy-cpp-benchmarking
https://github.com/nickbruun/hayai
AwesomePerfCpp 性能优化的更多相关文章
- 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 ...
- Web性能优化:What? Why? How?
为什么要提升web性能? Web性能黄金准则:只有10%~20%的最终用户响应时间花在了下载html文档上,其余的80%~90%时间花在了下载页面组件上. web性能对于用户体验有及其重要的影响,根据 ...
- Web性能优化:图片优化
程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...
- C#中那些[举手之劳]的性能优化
隔了很久没写东西了,主要是最近比较忙,更主要的是最近比较懒...... 其实这篇很早就想写了 工作和生活中经常可以看到一些程序猿,写代码的时候只关注代码的逻辑性,而不考虑运行效率 其实这对大多数程序猿 ...
- JavaScript性能优化
如今主流浏览器都在比拼JavaScript引擎的执行速度,但最终都会达到一个理论极限,即无限接近编译后程序执行速度. 这种情况下决定程序速度的另一个重要因素就是代码本身. 在这里我们会分门别类的介绍J ...
- 02.SQLServer性能优化之---牛逼的OSQL----大数据导入
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 上一篇:01.SQLServer性能优化之----强大的文件组----分盘存储 http ...
- C++ 应用程序性能优化
C++ 应用程序性能优化 eryar@163.com 1. Introduction 对于几何造型内核OpenCASCADE,由于会涉及到大量的数值算法,如矩阵相关计算,微积分,Newton迭代法解方 ...
- Android性能优化之利用LeakCanary检测内存泄漏及解决办法
前言: 最近公司C轮融资成功了,移动团队准备扩大一下,需要招聘Android开发工程师,陆陆续续面试了几位Android应聘者,面试过程中聊到性能优化中如何避免内存泄漏问题时,很少有人全面的回答上来. ...
随机推荐
- 0053 用注解方式配置Spring MVC
按照0052中的办法,如果一个站点设计有1000个请求,那就得写1000个controller,还得配置1000个<bean id="helloController" cla ...
- 关于EasyUI的Layout总结
版权声明:本文为博主原创文章,未经博主允许不得转载. 1.layout以html标签方式建立的 <div id="content" region="center&q ...
- mui调用webservice
document.getElementById("confirm").addEventListener('tap', function() {var respnoseEl = do ...
- Unix系统编程()open,read,write和lseek的综合练习
需求:程序的第一个命令行参数为将要打开的文件名称,余下的参数则指定了文件上执行的输入输出操作.每个表示操作的参数都以一个字母开头,紧跟以相关值(中间无空格分隔). soffet:从文件开始检索到off ...
- 使用Data URL将图片嵌入到网页中
早些时候,使用IE6浏览器,网页可以另存为mht,如果网页包含图片,那么图片也会存储到mht中. mht是微软提供的一种聚合HTML文档,它的本质其实是一个文本文件,那么我们也许会好奇,它的图片存储到 ...
- Ubuntu Apache配置及开启mod_rewrite模块
刚刚将服务器系统从CentOS换成Ubuntu,将MySQL,Apache,PHP和Wordpress安装好后,发现打开主页是正常的,但是打开文章页面时出现错误.因为使用了自定义的固定链接设置,那自然 ...
- hdu2255 奔小康赚大钱 km算法解决最优匹配(最大权完美匹配)
/** 题目:hdu2255 奔小康赚大钱 km算法 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 题意:lv 思路:最优匹配(最大权完美匹配) ...
- Linux网络实时监控配置
Linux监控邮件发送配置 网络状态监控 网络状态:netstat 各个状态的总计,详情:以及重点端口的详细连接情况(22,25,80,3306,8080),打印客户端连接数最多的ip. 邮件报告当前 ...
- Expectation Maximization(EM)算法note
EM算法,之前上模式识别课上,推导过,在<统计学习方法>中没耐性的看过几次,个人感觉讲的过于理论,当时没怎么看懂,后来学lda,想要自己实现一下em算法,又忘记了,看来还是学的不够仔细,认 ...
- MathType输入补集符号的步骤有哪些
集合符号在很多的数学领域都会用到,其基本的集合运算可以分为交.并.补这三种.但是一些用户朋友们在编辑文档的时候想输入集合符号这个时候就需要用到数学公式编辑器MathType,但是很多人能够快速地编辑出 ...