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应聘者,面试过程中聊到性能优化中如何避免内存泄漏问题时,很少有人全面的回答上来. ...
随机推荐
- HTML转义工具 [Javascript版]
有时候需要在HTML中显示一些带有特殊字符的文本( < > & 空格) ,这时候就要用到HTML转义. 有了这个工具在博客发布HTML代码的时候就很方便了. <!DOCTYP ...
- ssd算法论文理解
这篇博客主要是讲下我在阅读ssd论文时对论文的理解,并且自行使用pytorch实现了下论文的内容,并测试可以用. 开篇放下论文地址https://arxiv.org/abs/1512.02325,可以 ...
- [Win10应用开发] 如何使用Windows通知
消息通知,是一个应用中必不可少的组成部分.Win10下提供了多种消息通知机制,Toast通知只是其中一种.这篇博文和大家分享一下,如何使用Toast通知. 上图是一个基本的Toast通知,那我们该如何 ...
- 请说出ArrayList,Vector, LinkedList的存储性能和特性
请说出ArrayList,Vector, LinkedList的存储性能和特性 解答:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都 ...
- JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术
JSP JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术.从这一点来看,非常类似Microsoft ASP.PHP等技术.借助形式上的内容和外观表现的分 ...
- 酷狗缓存文件kgtemp的加密方式
[转自:http://www.cnblogs.com/KMBlog/p/6877752.html] 首先对比了一下缓存文件和下载好的mp3文件,发现缓存文件多了1024个字节,而且对比了几个缓存文件, ...
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
1:跨域请求handler一般处理程序 using System; using System.Collections.Generic; using System.Web; using System.W ...
- Prime triplets (Project Euler 196)
original version hackerrank programming version 题目大意是定义了一个正整数的表,第一行是1,第二行是1,2,第三行1,2,3...定义prime tri ...
- websphere web.xml
解决WAS更新web.xml文件不生效的问题(web_merged.xml是罪魁祸首) 问题原因分析 近日碰到更新web.xml文件到WAS服务器(WebSphere Application Se ...
- ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a)
ADO访问Oracle数据库,连接异常(Unknown error 0x800a0e7a) 代码如下:执行Open过程中出现异常,信息为Unknown error 0x800a0e7a C++ Co ...