C++ zero-cost abstractions на примере хеш-таблиц в ClickHouse
Максим Кита Старший разработчик ClickHouse C++ zero-cost abstractions на примере хеш-таблиц в ClickHouse Введение в хеш-таблицы Содержание 01 Основные вопросы дизайна 02 Бенчмарки 03 C++ дизайн0 码力 | 49 页 | 2.73 MB | 1 年前3Zero instrumentation monitoring with your first steps in eBPF
Zero instrumentation monitoring with your first steps in eBPF Beatriz Martínez, Isovalent - @beatrizmrg October 28, 2020 2 What will we be doing? 3 How are we going to do it? 4 Demo time 5 Tracing0 码力 | 7 页 | 618.37 KB | 1 年前3go-zero开源项目的成长史
go-zero 开源项⽬成⻓史 About me • go-zero 作者 • 阿⾥云MVP • 腾讯云TVP • ArchSummit 明星讲师 • GopherChina 主持⼈&⾦牌讲师 • 极客时间 Go 专题出品⼈ • 腾讯云开发者⼤会讲师 TOC ● go-zero 的由来 ● go-zero 的现状 ● go-zero 的成⻓阶段 ● go-zero 推⼴思路 推⼴思路 ● go-zero 社区发展思考 ● go-zero 的未来 go-zero 的由来 • 源起 2013 • 业务驱动、业务⽀撑 • 经历过的业务 • 经历过的 Go 发展阶段 go-zero 的现状 • star 增⻓趋势 • contributors • ⽤户 • 社区⽤户 • 企业⽤户 • 质量标准 • 需求 • PR 标准 go-zero go-zero 数据统计 star 增⻓趋势 Contributors 社区⽤户 企业⽤户 代码质量 功能评估 & 代码合并 • 功能评估 • 如⾮必要,勿增实体 • MVP,最⼩化接⼝ • 社区需求驱动 • PR要求 • CI检测,格式、安全、单测 • 修改或新增代码必须单测覆盖 go-zero 发展阶段 • ⼀年⼀万星 • 两年两万星 • 第三个年头0 码力 | 31 页 | 4.83 MB | 9 月前3Is std::mdspan a Zero-overhead Abstraction? - Oleksandr Bakirov - CppCon
Is std::mdspan a Zero-overhead Abstraction? Oleksandr Bacherikov Snap IncWhat is std::mdspan? It’s a view over a multi-dimensional array. It’s designed primarily to be used as a function parameter right? 24 Wrong! std::layout_stride supports only all strides specified at runtime. If we target zero overhead, we have to specify one of the strides as 1 at compile time.What does the Standard offer0 码力 | 75 页 | 1.04 MB | 5 月前3云原生go-zero微服务框架设计思考
云原生go-zero微服务框架设计思考 万俊峰Kevin@好未来 关于我 万俊峰Kevin ● go-zero作者 ● 好未来资深专家 ● 晓黑板研发负责人 ● 十多年研发团队管理经验 ● 近20年开发和架构经验 Agenda ● go-zero之前世今生 ● go-zero是如何设计的 ● go-zero如何高效解决问题 go-zero之前世今生 go-zero的由来 ● ● 架构的选型 ● 如何无痛切换 go-zero是什么? ● Web & RPC微服务框架 ● 微服务代码生成工具goctl ● 通用API定义规范 go-zero的设计原则 ● 保持简单,第一原则 ● 弹性设计,面向故障编程 ● 工具大于约定和文档 ● 尽可能约束做一件事只有一种方式 ● 对业务开发友好,封装复杂度 go-zero是如何设计的 客户端 API端 Service端 数据上报到prometheus go-zero如何高效解决问题 支持的特性 ● tag支持:path, form, json ● default, optional, options, range 解析校验 ● httpx.Parse(...) ● 参数错误自动返回400 ● 支持自定义错误返回方式 http请求自动解析校验 https://github.com/tal-tech/go-zero https://zero0 码力 | 29 页 | 5.70 MB | 9 月前3Adventures in SIMD Thinking (Part 2 of 2)
half, qrtr, zero; //- SSE “registers” int32_t mask, incr; //- ASCII bit mask and advancement zero = _mm_set1_epi8(0); //- Zero out the interleave octets with high bit set half = _mm_unpacklo_epi8(chunk, zero); //- Unpack bytes 0-7 into 16-bit words qrtr = _mm_unpacklo_epi16(half, zero); //- Unpack words 0-3 into 32-bit dwords _mm _mm_unpackhi_epi16(half, zero); //- Unpack words 4-7 into 32-bit dwords _mm_storeu_si128((__m128i*) (pDst + 4), qrtr); //- Write to memory half = _mm_unpackhi_epi8(chunk, zero); //- Unpack0 码力 | 135 页 | 551.08 KB | 5 月前3Agda User Manual v2.6.3
length. module hello-world-dep where open import Data.Nat using (ℕ; zero; suc) data Vec (A : Set) : ℕ → Set where [] : Vec A zero _∷_ : ∀ {n} (x : A) (xs : Vec A n) → Vec A (suc n) infixr 5 _∷_ Paste into modules. Each Agda file has one top-level module whose name must match the name of the file, and zero or more nested modules. Each module contains a list of declarations. This example has a single top-level three declarations: 1. An open import statement that imports the datatype ℕ and its constructors zero and suc from the module Data.Nat of the standard library and brings them into scope, 2. A data declaration0 码力 | 379 页 | 354.83 KB | 1 年前3Agda User Manual v2.6.2.2
length. module hello-world-dep where open import Data.Nat using (ℕ; zero; suc) data Vec (A : Set) : ℕ → Set where [] : Vec A zero _∷_ : ∀ {n} (x : A) (xs : Vec A n) → Vec A (suc n) infixr 5 _∷_ Paste into modules. Each Agda file has one top-level module whose name must match the name of the file, and zero or more nested modules. Each module contains a list of declarations. This example has a single top-level three declarations: 1. An open import statement that imports the datatype ℕ and its constructors zero and suc from the module Data.Nat of the standard library and brings them into scope, 2. A data declaration0 码力 | 354 页 | 433.60 KB | 1 年前3Agda User Manual v2.6.2.1
length. module hello-world-dep where open import Data.Nat using (ℕ; zero; suc) data Vec (A : Set) : ℕ → Set where [] : Vec A zero _∷_ : ∀ {n} (x : A) (xs : Vec A n) → Vec A (suc n) infixr 5 _∷_ Paste into modules. Each Agda file has one top-level module whose name must match the name of the file, and zero or more nested modules. Each module contains a list of declarations. This example has a single top-level three declarations: 1. An open import statement that imports the datatype ℕ and its constructors zero and suc from the module Data.Nat of the standard library and brings them into scope, 2. A data declaration0 码力 | 350 页 | 416.80 KB | 1 年前3Agda User Manual v2.6.2
length. module hello-world-dep where open import Data.Nat using (ℕ; zero; suc) data Vec (A : Set) : ℕ → Set where [] : Vec A zero _∷_ : ∀ {n} (x : A) (xs : Vec A n) → Vec A (suc n) infixr 5 _∷_ Paste into modules. Each Agda file has one top-level module whose name must match the name of the file, and zero or more nested modules. Each module contains a list of declarations. This example has a single top-level three declarations: 1. An open import statement that imports the datatype ℕ and its constructors zero and suc from the module Data.Nat of the standard library and brings them into scope, 2. A data declaration0 码力 | 348 页 | 414.11 KB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100