绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能(kenieevan@github) Zhiguohong (honkiko@github) Bypassing conntrack: Optimizing K8s Service By Enhancing IPVS with eBPF Agenda 目录 01 Problems with K8s Service How to optimize 02 Comparison with industry Performance Performance measurement 03 04 Future work 05 06 Lessons from eBPF What is K8s Service • It exposes a set of pods via VIP using a load balancer • Two types • ClusterIP provides in-cluster access • NodePort0 码力 | 24 页 | 1.90 MB | 1 年前3
NativeScript 101API Wrapper API Wrapper API Wrapper API Wrapper • Plugins created with JS/TypeScript • Angular Support (or not ?) • 100% Day 0 API Access • Everything Runs on UI Thread* • Plugins created with with native code • React Support • API Access via Native Modules • UI Thread vs JS Thread • Angular/Vue/Vanilla vs React • Progress vs Facebook • Apache 2.0 vs BSD+ JavaScript-Driven Native • Share Share 80% code with web o Reuse popular plugins from NodeJS/iOS/Android o Integrates deeply with Angular and TypeScript The {N} difference… Demo available in the app stores Rich, animated, “no0 码力 | 90 页 | 40.11 MB | 1 年前3
nativescript-new-looper-vantoll.pptxPlugins ? • Community ? • Apps ? Core ? Core ? • CLI updates ? • Webpack ? • Threading ⛓ • Angular ? LiveSync on multiple devices ?? tns run ios --watch tns run android --watch Run and watch ? • Samples for background execution are now available. • WebWorkers API coming soon Angular ? • Angular 2 final—Now 100% more a thing ? @next builds npm install -g nativescript@next Tooling nativescript-paypal (3,852) • Marcel Kloubert • 9) ? nativescript-grid-view (4,006) • Peter Staev • 8) ⛅ nativescript-floatingactionbutton (4,916) • Brad Martin • 7) ? nativescript-sqlite (5,108)0 码力 | 36 页 | 10.78 MB | 1 年前3
NativeScript UIRaucous applause ?? What is {N} UI? • A NativeScript plugin • 7 UI components • Supports Angular and non-Angular usage. • Used to have free and paid tiers—now all free! Agenda • Introduce {N} UI •https://github.com/telerik/nativescript-ui-samples •https://github.com/telerik/nativescript-ui-samples-angular Thanks! ? @tjvantoll0 码力 | 22 页 | 1.91 MB | 1 年前3
Introduction to Mobile UI Test Automationwww.github.com/NativeScript/ns-dev-days-appium-plu gin www.github.com/NativeScript/nativescript-angular/tre e/master/e2e Questions? Thank you! @vchimev @SvetoslavTsenov0 码力 | 41 页 | 4.75 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 17 由浅入深学习 map 容器万能的 map 容器全家桶及其妙用举例 ( 本期 ) 5. 函子 functor 与 lambda 表达式知多少 6. 通过实战案例来学习 STL 算法库 7. C++ 标准输入输出流 & 字符串格式化 8. traits 技术,用户自定义迭代器与算法 9. allocator ,内存管理与对象生命周期 10. C++ 异常处理机制的前世今生 我们都要认真鞋习哦 我们都要认真鞋习哦 第一章:读取与写入 &k = tmp.first; • V &v = tmp.second; • 其实,就算遍历时不修改,还是建议加引用,在 K 和 V 类型尺寸很大时,可以节省性能 。 • 因为引用最多只有 8 字节(指针的大小),而他指向的 V 可能是非常大的(比如 string 类型在栈上的空间就要消耗 32 字节,更不用说可能堆上还有),深拷贝一下要花费不少 时间。 • for (auto [k 执行你这段代码 的栈空间 & ( 深拷贝,浪费时间 ) v (假如非常大的话) • 其实,就算遍历时不修改,还是建议加引用,在 K 和 V 类型尺寸很大时,可以节省性能 。 • 因为引用最多只有 8 字节(指针的大小),而他指向的 V 可能是非常大的(比如 string 类型在栈上的空间就要消耗 32 字节,更不用说可能堆上还有),深拷贝一下要花费不少 时间。 • for (auto &[k0 码力 | 90 页 | 8.76 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 15 C++ 系列课:字符与字符串容器全家桶及其妙用举例 5. 函子 functor 与 lambda 表达式知多少 6. 通过实战案例来学习 STL 算法库 7. C++ 标准输入输出流 & 字符串格式化 8. traits 技术,用户自定义迭代器与算法 9. allocator ,内存管理与对象生命周期 ASCII 码 第 1 章 计算机如何表达字符 https://zh.wikipedia.org/wiki/ASCII assert(c == 97); • c = c + 1; • assert(c == ‘b’); • C 语言中规定字符类型为 char 类型,是个 8 位整数。 • 这是因为 ASCII 码只有 0~127 这些整数,而 8 位整数的表示范围是 2^8 也就是 0~255 ,足以表示所有 ASCII 字符了(多余的部分实际上被用于表示 中文)。 • char 和整数无异,例如 ‘ a’ 实际上会被编译器翻译成他对应的 biancheng.net/ref/ctype_h/ 关于 char 类型的一个冷知识 • C 语言其实只规定了 unsigned char 是无符号 8 位整数, signed char 是有 符号 8 位整数,而 char 类型只需是 8 位整数即可,可以是有符号也可以 是无符号,任凭编译器决定( C 标准委员会传统异能, khronos 直呼内行) 。 • 以 GCC 为例,他规定 char0 码力 | 162 页 | 40.20 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型org/linalg/html_templates/node91.html 第 1 章:稀疏网格 稠密网格计算粒子经过的格点数量 改用更小的 char 存储 只用一个 bit 存储,一个 char 可以存储 8 个 bit 用 map 来存储 读取:如果不存在,则读到 0 写入:如果不存在,则创建该表项 用 unordered_map 来存储 map 基于红黑树,会按照键值排序,需要键值具有 operator< (unsigned)a % b 也可以(先转换成无符号的取模)。 高效的解决:位运算 & • 如果 b 是 2 的幂次方,即: 2, 4, 8, 16, 32 等 。 • 则: a % b = a & (b - 1) • 比如 a % 8 可以改成 a & 7 。 & = 位运算 & 对负数的处理 • 使用位运算不仅更高效,还能够自动解决刚刚 % 会返回负数的问题: >> • 如果 b 是 2 的幂次方,即: 2, 4, 8, 16, 32 等 。 • 则: a / pow(2,n) = a >> n • 也就是说 a / b = a >> log2(b) • 其中 log2 表示取 2 的对数。 • 比如 b=8 ,则 log2(b)=3 ,因为 2^3 = b 。 • 比如 a / 8 可以改成 a >> 3 。 >> 2 = 位运算 >>0 码力 | 102 页 | 9.50 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 12 从计算机组成原理看 C 语言指针众所周知,计算机是二进制的,存储的实际上是一个个 0 和 1 。 • 每个存储 0 或 1 的空间称为一个位( bit ),一位可以存储 0 或 1 两个可能的值。 • 现在的计算机都会把 8 个位打包成一个字节( byte ),也就是说: 1 字节 = 8 位。 • 一字节可以表示 0 到 255 区间中所有的值,表示方式如下: • 00000000 表示 0 00000001 表示 1 00000010 表示 2 位计算机得名就是因为他的字由 16 个位组成,早期的 8086 系列 CPU 就是 16 位 的。 • 在 32 位计算机上会把 4 个字节拼成一个字,字由 32 个位组成。 • 在 64 位计算机上会把 8 个字节拼成一个字,字由 64 个位组成。 • 如今的计算机大多是 64 位的,一些很老的网吧和学校的机房里偶尔能看见古董级的 32 位计算机, 16 位计算机则是几乎只能在博物馆里看到了。 • • 例如 32 位计算机的寄存器都是 32 位,因此只能做 32 位整数的加减乘除,超过 32 位 整数的加减乘除就要用特殊的指令来模拟了。 整数的表示范围受位数限制 • 8 位长的整数能表示的范围是 0 到 2^8-1 ,也就是 0 到 255 。 • 16 位长的整数能表示的范围是 0 到 2^16-1 ,也就是 0 到 65535 。 • 32 位长的整数能表示的范围是 0 到 2^32-10 码力 | 128 页 | 2.95 MB | 1 年前3
ClickHouse: настоящее и будущееClickHouse не тормозит Доклад «секреты оптимизации производительности ClickHouse» youtube.com/watch?v=ltg8vstuHUU 5 • Система создана из практических задач, для работы в бою • Разработана «снизу-вверх» исходя monitoring: квантили • Geospatial: geoDistance, pointInPolygon, H3, S2 ClickHouse — гибкая система 8 Web analytics Mobile app analytics Ads analytics Realtime bidding E-commerce analytics Retail Games Array(UInt8), `teams.name` Array(String), `teams.players.ast` Array(Array(Int8)), `teams.players.blk` Array(Array(Int8)), `teams.players.drb` Array(Array(Int8)), `teams.players.fg` Array(Array(Int8)), `teams0 码力 | 32 页 | 2.62 MB | 1 年前3
共 51 条
- 1
- 2
- 3
- 4
- 5
- 6













