 C++高性能并行编程与优化 -  课件 - 14 C++ 标准库系列课 - 你所不知道的 set 容器-- , + , - , += , -= , [] vector , array , deq ue random_access_iterator 迭代器外包装 和他所包装的迭代器保持一致 reverse_iterator 和所包装的迭代器一致 https://en.cppreference.com/w/cpp/iterator/random_access_iterator https://www value = *p; • } • begin 和 end 返回了迭代器类,这个类具有运算符重载, 使得他能模仿指针的行为,从而尽可能在不同容器之间重 用算法(例如 std::find 和 std::reverse ),而不必修改算 法的代码本身,是 STL 库解耦思想的体现。 set 的遍历 • 为了减少重复打代码的痛 苦, C++17 引入了个语 法糖:基于范围的 for 循 环 (range-based0 码力 | 83 页 | 10.23 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 14 C++ 标准库系列课 - 你所不知道的 set 容器-- , + , - , += , -= , [] vector , array , deq ue random_access_iterator 迭代器外包装 和他所包装的迭代器保持一致 reverse_iterator 和所包装的迭代器一致 https://en.cppreference.com/w/cpp/iterator/random_access_iterator https://www value = *p; • } • begin 和 end 返回了迭代器类,这个类具有运算符重载, 使得他能模仿指针的行为,从而尽可能在不同容器之间重 用算法(例如 std::find 和 std::reverse ),而不必修改算 法的代码本身,是 STL 库解耦思想的体现。 set 的遍历 • 为了减少重复打代码的痛 苦, C++17 引入了个语 法糖:基于范围的 for 循 环 (range-based0 码力 | 83 页 | 10.23 MB | 1 年前3
 绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能with eBPF • eBPF program is easy to deploy • How to do SNAT in eBPF • Do SNAT in TC egress • Do reverse SNAT in TC ingress Tc egress Hit eBPF map? Does SNAT nic nic Y N • How IPVS talks with0 码力 | 24 页 | 1.90 MB | 1 年前3 绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能with eBPF • eBPF program is easy to deploy • How to do SNAT in eBPF • Do SNAT in TC egress • Do reverse SNAT in TC ingress Tc egress Hit eBPF map? Does SNAT nic nic Y N • How IPVS talks with0 码力 | 24 页 | 1.90 MB | 1 年前3
 hazard pointer synchronous reclamationconsider the asynchronous reclamation of object A’ that leads to locking shards 1 and 0 in the reverse order. • DEADLOCK • We cannot shard the domain cohort object list (or can we?) Wait. You Said Fast0 码力 | 31 页 | 856.38 KB | 6 月前3 hazard pointer synchronous reclamationconsider the asynchronous reclamation of object A’ that leads to locking shards 1 and 0 in the reverse order. • DEADLOCK • We cannot shard the domain cohort object list (or can we?) Wait. You Said Fast0 码力 | 31 页 | 856.38 KB | 6 月前3
 C++20: An (Almost) Complete Overview| views::drop(2) /* 12 16 20 */ | views::reverse /* 20 16 12 */ | views::transform([](int i) {0 码力 | 85 页 | 512.18 KB | 6 月前3 C++20: An (Almost) Complete Overview| views::drop(2) /* 12 16 20 */ | views::reverse /* 20 16 12 */ | views::transform([](int i) {0 码力 | 85 页 | 512.18 KB | 6 月前3
 Secure your microservices with istio step by stepSPIFFE format Istio-proxy CA server #IstioCon Istio identity – how to get configuration ● Format: "spiffe:// Secure your microservices with istio step by stepSPIFFE format Istio-proxy CA server #IstioCon Istio identity – how to get configuration ● Format: "spiffe://- /ns/ - /sa/ - ” ● istioctl proxy-config secret - -o -noout -text -in - ● Part of cluster config in envoy config-dump ○ kubectl exec - -c istio-proxy curl localhost:15000/config_dump #IstioCon Istio identity – check configuration result ● Result: 0 码力 | 34 页 | 67.93 MB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 08 CUDA 开启的 GPU 编程获取常值迭代器。 • 当然还有 thrust::reduce , thrust::sort , thrust::find _if , thrust::count_if , thrust::reverse , t hrust::inclusive_scan 等。 thrust 模板函数的特点:根据容器类型,自动决定在 CPU 还是 GPU 执行 • for_each 可以用于 device_vector0 码力 | 142 页 | 13.52 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 08 CUDA 开启的 GPU 编程获取常值迭代器。 • 当然还有 thrust::reduce , thrust::sort , thrust::find _if , thrust::count_if , thrust::reverse , t hrust::inclusive_scan 等。 thrust 模板函数的特点:根据容器类型,自动决定在 CPU 还是 GPU 执行 • for_each 可以用于 device_vector0 码力 | 142 页 | 13.52 MB | 1 年前3
 唐刚 - Use Rust to Develop the Decentralized Open Data Application - RustChinaConf2023fixed EightFish services + 1 your customized app services How to Test and Deploy subnode subxt proxy http gate postgres redis app biz + = ODA ➔ Rust ➔ WebAssembly ➔ Substrate ➔ Wasmtime ➔ Spin0 码力 | 30 页 | 2.53 MB | 1 年前3 唐刚 - Use Rust to Develop the Decentralized Open Data Application - RustChinaConf2023fixed EightFish services + 1 your customized app services How to Test and Deploy subnode subxt proxy http gate postgres redis app biz + = ODA ➔ Rust ➔ WebAssembly ➔ Substrate ➔ Wasmtime ➔ Spin0 码力 | 30 页 | 2.53 MB | 1 年前3
 基于Rust-vmm实现Kubernetes运行时Host Linux Kernel vCPU block Memory Guest VM containerd + Kata-runtime create start VM start proxy create container start agent cat << EOT | tee nginx-untrusted.yaml apiVersion: v1 kind: Pod metadata:0 码力 | 27 页 | 34.17 MB | 1 年前3 基于Rust-vmm实现Kubernetes运行时Host Linux Kernel vCPU block Memory Guest VM containerd + Kata-runtime create start VM start proxy create container start agent cat << EOT | tee nginx-untrusted.yaml apiVersion: v1 kind: Pod metadata:0 码力 | 27 页 | 34.17 MB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 01 学 C++ 从 CMake 学起• 现代 CMake 认为一个包 (package) 可以提供多个库,又称组件 (components) ,比如 TBB 这个包,就包含了 tbb, tbbmalloc, tbbmalloc_proxy 这三个组件。 • 因此为避免冲突,每个包都享有一个独立的名字空间,以 :: 的分割(和 C++ 还挺像的) 。 • 你可以指定要用哪几个组件: • find_package(TBB REQUIRED0 码力 | 32 页 | 11.40 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 01 学 C++ 从 CMake 学起• 现代 CMake 认为一个包 (package) 可以提供多个库,又称组件 (components) ,比如 TBB 这个包,就包含了 tbb, tbbmalloc, tbbmalloc_proxy 这三个组件。 • 因此为避免冲突,每个包都享有一个独立的名字空间,以 :: 的分割(和 C++ 还挺像的) 。 • 你可以指定要用哪几个组件: • find_package(TBB REQUIRED0 码力 | 32 页 | 11.40 MB | 1 年前3
共 9 条
- 1













