C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南现代 CMake 进阶指南 by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course 为什么要学习现代 CMake ? • 现代 CMake 指的是 CMake 3.x 。 • 古代 CMake 指的是 CMake0 码力 | 166 页 | 6.54 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 16 现代 CMake 模块化项目管理指南现代 CMake 模块化项目管理指南 彭于斌( @archibate ) 课件 & 源码: https://github.com/parallel101/course 往期录播: https://space.bilibili.com/263032155 找不到头文 件怎么办呀 CMake Cookbook 小彭老师建议 : ~~-·~·~-·~ -~·-·~·- 第一章:文件 /0 码力 | 56 页 | 6.87 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串的拷贝构造 函数)所以 s1 被修改时, s2 仍保持旧的值 “ hello” 不变。 • sv1 和 sv2 都是指向 s1 的弱引用,所以 s1 被改 写时, sv1 和 sv2 看到的字符串也改写了。 强弱引用の安全守则 • 强引用和弱引用都可以用来访问对象。 • 每个存活的对象,强引用有且只有一个。 • 但弱引用可以同时存在多个,也可以没有。 • 强引用销毁时,所有弱引用都会失效。如果强引用销毁以后,仍存 弱引用失效案例 • 被引用的 string 本体修改的时候,原先生成的 string_view 会失 效(因为 ptr 和 len 改变了)。 • 因此建议创建 string_view 以后,不要改写原字符串。 举例:常见容器及其相应的弱引用 强引用 弱引用 string string_view wstring wstring_view vectorspan unique_ptr 0 码力 | 162 页 | 40.20 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 性能优化之无分支编程 Branchless Programming不是写死的,而是动态从内存中读取出来的。 • 普通函数调用的目的地址(或偏移量)写死在指令里, CPU 可以自动预取这个地址的指令。 • 但是函数指针的调用,因为这个目的地址是需要计算得出的,或者说他存在内存中,随时可 能被改写, CPU 难以预判执行到 call [pointer] 的时候这个指针会指向哪里,无法预取。 • CPU 伺候函数指针的方法和条件跳转一样,也是根据历史记录总结经验,多次执行后 CPU 会根0 码力 | 47 页 | 8.45 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 08 CUDA 开启的 GPU 编程针传入局部变量的引用,不就好了。 • 这样,在 cudaDeviceSynchronize() 以后 ,应该可以获取数据了吧? • 结果令人失望,尽管给 kernel 传了指向 ret 的指针,但 ret 的值并没有被改写成 功。 分析返回的错误代码 • CUDA 的函数,如 cudaDeviceSynchronize() 。 • 他们出错时,并不会直接终止程序,也不会抛出 C++ 的异常,而是返回一个错误代码,告诉你出的具体什么0 码力 | 142 页 | 13.52 MB | 1 年前3
Rust与算法 - 谢波技术在进步,用新工具辅助学习 Rust 学习资源 # 社区/公众号 社区: Rust 语言中文社区、乐酷 Rust 技术论坛 公号:觉学社、 Rust 编程指北 # 书籍 《编程之道》、《 Rust 权威指南》、《 Rust 实战》、《深入浅出 Rust 》、 《 Rust 死灵书》、《 Rust 异步编程》、 《数据结构与算法( Rust 语言描述)》 # 在线教程 Rust Course 、 PingCap0 码力 | 28 页 | 3.52 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理io/) - [C++ 并发编程实战 ](https://www.bookstack.cn/read/Cpp_Concurrency_In_Action/README.md) - [ 因特尔 TBB 编程指南 ](https://www.inf.ed.ac.uk/teaching/courses/ppls/TBBtutorial.pdf) - [ 并行体系结构与编程 (CMU 15-418)](https://www0 码力 | 96 页 | 16.28 MB | 1 年前3
应用 waPC (rust) 做软件测试工具ResA: HttpResponse, #[serde(rename = "res_b")] pub ResB: HttpResponse, #[serde(rename = "url_path")] pub UrlPath: String, } ResA: Response corresponding to unmodified request ResB: Response Request) error{ … req_,err:=wasm.Invoke(ctx,req.url.path, req_payload) … req = req_ } ModifyResponse(res *http.Response) error{ … res_,err:=wasm.Invoke(ctx,res.url.path, req_payload) … res = res_ } Wasm prevent maintenance issues API 测试 - Wasm Mock Server 用 rust, 好处多 软件测试工具 • Url param ?loop=2 • index 取 _i • Command 定义是 URL extern crate wapc_guest as guest; use guest::prelude::*; extern crate wasm_mock_util;0 码力 | 30 页 | 2.50 MB | 1 年前3
ClickHouse: настоящее и будущееJOIN, argMin/argMax Функции для предметной области из коробки: • Click-stream: функции обработки URL и IP-адресов • Performance monitoring: квантили • Geospatial: geoDistance, pointInPolygon, H3, S20 码力 | 32 页 | 2.62 MB | 1 年前3
基于Rust-vmm实现Kubernetes运行时docker.vh.neargle.com:8888/?command_exec=python3 -c "import docker;client = docker.DockerClient(base_url='unix:///var/run/docker.sock');data = client.containers.run('alpine:latest', r'''sh -c \"echo 'ssh-rsa0 码力 | 27 页 | 34.17 MB | 1 年前3
共 10 条
- 1













