Coping With Other People's Code
• Friday 2:45pm, David Sankel "Better Code: Validity" AdobeCoping with Other People's Code Adobe 11my crafsman house Adobe 12my crafsman house Adobe 13my crafsman house old-growth cedar Adobe 15post-conference re-entry letdown Adobe 16post-conference re-entry Coping with Other People's Code Adobe 17post-conference re-entry coping is not rewriting 100% to your own tastes Adobe 18triage they also do things like speak up when they have a new solution, jump in and help fx someone else’s mess, and pass their learnings along to others" — Dr Cat Hicks, "Sense of Belonging and Sofware Teams"0 码力 | 128 页 | 9.17 MB | 5 月前3C++20's
12 C++20’sCalendars and Time Zones in MSVC Miya Natsuhara ("MEE-yuh Not-soo-HAR-uh") Miya.Natsuhara@microsoft.com Software Engineer, Visual C++ LibrariesWelcome to CppCon 2021! Join leap_seconds (https://youtu.be/WX3OmVu4lAs) • time_zone and time_zone_link (https://youtu.be/MODhhr7m-5s) • system_clock::now(), file_clock, leap second awareness (https://youtu.be/c7DT28TV0AY)9 Part II: Safety The “simple” calendrical types (e.g., day, month, year) are very straightforward – what’s the point in creating types for these concepts at all? Couldn’t we just use unsigned int for each 0 码力 | 55 页 | 8.67 MB | 5 月前3What's Eating my RAM?
2024 Bloomberg Finance L.P. What’s Eating My RAM? CppCon 2024 September 17, 2024 Jianfei Pan Software Engineer, Portfolio/Risk AnalyticsA story 🚨 90% Memory Used: What’s that alarm? 🔍Back to basics: allocation troubleshooting & tools: Leak & Fragmentation🚨 90% Memory Used: What’s that alarm?🚨 90% Memory Used What’s that alarm? Consequences: ● Swap: performance degradation ● Out-of-memory (OOM) resources are shared by different processes🚨 90% Memory Used ~$ top -o RES What’s that alarm?🚨 90% Memory Used What’s that alarm? ~$ top -o RES🔍Back to basics: How does my code impact memory usage0 码力 | 88 页 | 3.49 MB | 5 月前3What's New for Visual Studio Code
VS Code @ CppCon 2024 What’s new for Visual Studio Code: Performance, GitHub Copilot, and CMake Enhancements (Provided by Conference)Meet the Speakers Sinem Akinci PM for C++ Copilot and CMake in in VS Code Alexandra Kemper PM for the C++ Extension for VS CodeAgenda: What's new in VS Code Faster Performance Smarter GitHub Copilot suggestions Easier to use Features for CMake & C/C++ Extensible Copilot solutions Wait I want to learn about Visual Studio! Check out the talk tomorrow @ 13:30 “What’s New in Visual Studio for C++ Developers” – Mryam Girmay & Michael PriceVS Code has a rich extension0 码力 | 26 页 | 1.42 MB | 5 月前3What's New in Visual Studio 2022
xmm0, xmm1 orps xmm0, xmm2 movdqu XMMWORD PTR [r10+rax-16], xmm0 cmp ecx, edx jl SHORT $LL4@s32_1; After vmovdqu xmm1, XMMWORD PTR [r10+rax] vpsubd xmm1, xmm1, XMMWORD PTR [rax] vpabsd xmm2 edx, 4 vmovdqu XMMWORD PTR [rbx+rax], xmm2 lea rax, QWORD PTR [rax+16] cmp edx, ecx jl SHORT $LL4@s32_1 ; Before movdqu xmm0, XMMWORD PTR [r11+rax] add ecx, 4 movdqu xmm1, XMMWORD PTR [rax] lea xmm0, xmm1 orps xmm0, xmm2 movdqu XMMWORD PTR [r10+rax-16], xmm0 cmp ecx, edx jl SHORT $LL4@s32_1bool did_meow(); bool did_not_meow() { return !did_meow(); }; Before bl |?did_meow| uxtb0 码力 | 55 页 | 3.27 MB | 5 月前3Peering Forward: C++'s Next Decade
simplifying our code & tools56 part of the sea change → compile-time meta programming in C++ “The world’s big things only can be done by paying attention to their humble beginnings.” — Lao Tzu7 template (mostly-already-known) rules, “shift-left” to compile time27 from the Praise page “... This book’s emphasis on the security aspects of C programming is unmatched … use all of the available tools it seriousness about adoptability & improving safety of existing code30 auto f1() { char a[] = {'s', 'e', 'c', 'r', 'e', 't' }; } auto f2() { char a[6]; // or std::arrayprint(a); // today 0 码力 | 84 页 | 6.21 MB | 5 月前3What's New in Visual Studio for C++ Developers
SSH/container/WSL remote experiences and much, much more… https://aka.ms/cpp/code Thu 09/19 – 16:15pm What’s New for Visual Studio Code Alexandra Kemper & Sinem Akinci10 Years of Microsoft @ CppCon Many thanks0 码力 | 46 页 | 4.07 MB | 5 月前3Curve支持S3 数据缓存方案
© XXX Page 1 of 9 Curve支持S3 数据缓存方案© XXX Page 2 of 9 版本 时间 修改者 修改内容 1.0 2021/8/18 胡遥 初稿 背景 整体设计 元数据采用2层索引 对象名设计 读写缓存分离 缓存层级 对外接口 后台刷数据线程 本地磁盘缓存 关键数据结构 详细设计 Write流程 Read流程 ReleaseCache流程 Flush流程 FsSync流程 后台流程 poc测试验证 背景 基于s3的daemon版本基于基本的性能测试发现性能非常差。具体数据如下: 通过日志初步分析有2点原因© XXX Page 3 of 9 1.append接口目前采用先从s3 get,在内存中合并完后再put的方式,对s3操作过多 2.对于4k 小io每次都要和s3交互,导致性能非常差。 因此需要通过Cache模块解决以上2个问题。 可能的合并后flush到s3上,在读场景上,能够预读1个block大小,减少顺序读对于底层s3的访问频次。从这个思路上该缓存方案主要针对的场景是顺序写和顺序 读,而对于随机写和随机读来说也会有一定性能提升,但效果可能不会太好。 元数据采用2层索引 由于chunk大小是固定的(默认64M),所以Inode中采用mapS3ChunkInfoList> s3ChunkInfoMap 0 码力 | 9 页 | 179.72 KB | 5 月前3LLVM's Realtime Safety Revolution: Tools for Modern Mission Critical Systems
LLVM’s Real-time Safety Revolution Tools for Modern Mission Critical SystemsChris Apple ● 10-year veteran of the audio industry ● Previously Dolby, Roblox, Spatial Inc. ● Currently: layabout David Real-time programmingSometimes it’s obviousvoid dispatch() { mutex_.lock(); ... } 🚨void dispatch() { x = make_unique(); ... } 🚨Sometimes it’s hiddenvoid process_audio() { __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e3f) #3 0x5770e08ba394 in _start (/app/output.s+0x2c394) 0x606000000300 is located 0 bytes after 64-byte region [0x6060000002c0,0x606000000300) allocated 0 码力 | 153 页 | 1.38 MB | 5 月前3CurveFS对接S3方案设计
© XXX Page 1 of 11 curvefs对接s3方案设计(过程文档)© XXX Page 2 of 11 时间 修订人 修订内容 2021-05-20 胡遥 初稿 2021-07-20 胡遥 细化write和read流程 整体架构 整体思路 接口和关键数据结构 mds.proto client端数据结构 metaserver.proto space相关数据结构和proto init流程 write流程 read流程 整体架构 S3ClientAdaptor模块:负责将文件数据进行chunk,以及block的拆分为s3的object,并写入/读取s3的object。 S3-allocator模块:负责分配s3-object唯一标识。© XXX Page 3 of 11 整体思路 curvefs对接s3和对接volume主要的区别在于数据持久化和空间 h,以及空间分配申请(s3不需要释放空间,可 直接删除对应s3 object) 文件首先会按照chunk进行拆分,每个chunk固定64M/1G(待定),chunk内部会划分为多个block,每个block最大4M,每个block对应s3上一个object。 s3上对象已chunkid_indexblock_version进行命名,元数据则已S3ChunkInfo(0 码力 | 11 页 | 145.77 KB | 5 月前3
共 458 条
- 1
- 2
- 3
- 4
- 5
- 6
- 46