1.2.2 GoLLVM 编译探索GO CN GoLLVM编译探索 马春辉 字节跳动程序语言团队工程师 目录 团队与个人 01 GoLLVM 背景 02 GoLLVM现状 03 GoLLVM问题解决 04 阶段性的成果 05 未来与展望 06 第一部分 团队与个人 ’ alt=‘OCR图片’/> 团队与个人 字节跳动程序语言团队 go 编译器/Runtime/GC 优化 基础库、性能分析工具、java、python 基础库、性能分析工具、java、python 马春辉 十多年的编译器领域相关工作经验 先后就职于HP编译器组,IBM jvm组,华为虚拟机实验室,字节跳动程序语言团队 ’ alt=‘OCR图片’/> 第二部分 GoLLVM背景 ’ alt=‘OCR图片’/> GoLLVM背景 · 字节内有大量的go微服务 性能要求 在原生Go SDK上的一些传统编译优化收益超过几十万核 PSM CPU Latency GoLLVM背景 传统编译优化在go compiler上的实现 Inline 策略调整 栈大小调整 Fast path inline Aggressive BCE ’ alt=‘OCR图片’/> GoLLVM背景 ·两条路 继续在原生Go SDK上开发 优化pass少 SSA比较简陋,缺少一些优化的基础设施 探索利用LLVM的优化能力:语言团队与STE-编译器组联合探索0 码力 | 25 页 | 3.99 MB | 1 月前3
Greenplum 编译安装和调试## Greenplum 编译安装和调试 本文先介绍如何从源代码编译安装Greenplum、初始化Greenplum集群。然后介绍SQL在Greenplum中的典型执行路径,最后介绍一些调试技巧。 源代码使用 Greenplum 开源社区最新源代码 6X_STABLE 分支: https://github.com/greenplum-db/gpdb,内核代码基于PostgreSQL 9. com/greenplum-db/gpdb-postgres-merge。 ### 1. 从源代码编译 Greenplum Greenplum 目前官方支持 Redhat/Centos/SuSE/Ubuntu 等 Linux 系统。大量开发人员包括我自己使用 Mac 系统,但是不在官方支持列表中。 ### 1.1 在 Mac 系统上编译 首先需要关闭苹果操作系统的 SIP 特性,否则无法初始化集群。 1. 重启操作系统 python get-pip.py $ sudo pip install psutil lockfile paramiko setuptools epydoc // 需要安装 openssl,否则无法编译 $ brew install openssl && brew link openssl --force $ CPPFLAGS="-I/usr/local/include/0 码力 | 15 页 | 2.07 MB | 2 年前3
Curve核心组件之snapshotclone## Curve核心组件 - SnapShotCloneServer D I G I T A L S A I L 许超杰 网易数帆存储团队 01 CURVE基本架构 Curve各个组成部分以及相互之间的关系 02 快照和克隆的特点 介绍curve的快照和克隆的定义以及特点 03 快照克隆服务器架构 介绍快照克隆服务器的架构和各模块实现的功能 CloneTaskManager: - 任务管理层负责调度SnapshotTask和CloneTask,并向上提供如cancel task等功能。 ## SnapshotCore & CloneCore: - 快照克隆核心模块,负责向下调用DataStore,MetaStore等底层模块,实现快照和克隆的具体功能。 Http Service SnapshotService  ## 相关浅谈 ## Rust编译速度之殇 ## ## 编译器设计造成编译速度缓慢  · 单态化 · 借用检查 · 宏展开 · MIR优化 Rust规模编译速度慢于C++  ## Rust编译速度之殇 ## 提升编译效率成为近年社区重点工作  2017-2021,Rust编译速度已提升一倍以上 编译器的方案 AST = Abstract Syntax Tree抽象语法树 SSA = Single Static Assignment单静态赋值 IR = Intermediate Representation中间表示0 码力 | 36 页 | 1.63 MB | 1 月前3
Curve核心组件之Client - 网易数帆## Curve核心组件之Client D I G I T A L S A I L 吴汉卿 网易数帆存储团队 ## CURVE CURVE是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟存储底座 - 可扩展存储场景:块存储、对象存储、云原生数据库、EC等 • 当前实现了高性能块存储,对接 OpenStack 和 k8s • 网易内部线上无故障稳定运行400+天 • 已开源0 码力 | 27 页 | 1.57 MB | 1 年前3
Curve核心组件之mds – 网易数帆Curve核心组件之 MDS Digital Sal 陈威 网易数帆存储团队 ## 概述 ## Curve 是高性能、高可用、高可靠的分布式存储系统 • 高性能、低延迟 • 可支撑储场景:块存储、对象存储、云原生数据库、EC等 - 当前实现了高性能块存储,对接OpenStack和 K8s 网易内部线上无故障稳定运行一年多 • 已开源 github主页:https://opencurve d6baa2cd17132b07c4565d2aeff/p17_3.jpg) ## SCHEDULE Schedule(系统调度)是为了实现系统的自动容错和负载均衡,这两个功能是分布式存储系统的核心问题,也是 curve 是否能上生产环境的决定因素之一。 - 自动容错保证常见异常(如坏盘、机器宕机)导致的数据丢失不依赖人工处理,可以自动修复。 负载均衡和资源均衡保证集群中的磁盘、cpu、内存等资源的利用率最大化。0 码力 | 23 页 | 1.74 MB | 1 年前3
Rust语言核心竞争力-庄晓立# Rust编程语言 # 核心优势和核心竞争力  庄晓立,北京,QCon2016 liigo@qq.com QCon 全球软件开发大会【北京站】2016 #### QCon | 2016.10.20~22 上海·宝华万豪酒店 全球软件开发大会 对运算性能的高要求 • 对系统安全和内存安全的强需求 ## 重点项目&热门领域 • 操作系统 • 虚拟机/容器 · 数据库 • 3D游戏引擎 · 网络服务器 • 浏览器引擎 • 编译器、解释器 • 三维建模/动画/渲染 • 大数据 · 云计算 • 物联网 · 航空航天 • 超级计算机 • 科学运算/机器学习 · 图形图像处理 - 虚拟现实 ……都有系统编程的身影 x } struct Foo<'a, T: 'a> { x: &'a T, } ## Borrow Checker Borrowck是编译器内部组件,负责在“编译期”追踪审查引用的有效性,是保证内存安全的重要功臣。运行时零开销。 fn main() { let mut v = vec![0, 1, 2, 3, 4, 5, 6];0 码力 | 51 页 | 1.09 MB | 2 年前3
KCL: Rust 在编译器领域的实践与探索## RUST CHINA CONF 2023 第三届中国Rust开发者大会 6.17-6.18 @Shanghai ## KCL: Rust 在编译器领域的实践与探索 张正 蚂蚁集团 ## 😍 01 KusionStack 与 KCL 02 用 Rust 重写 KCL 03 Rust 重写后的收益 04 更多的探索 ## 01 KusionStack 与 KCL ## KusionStack是什么 badd1b5abffd9fb8525138fc88bca0/p9_2.jpg) ## 2 KCL 编译器架构升级 Python 代码翻译 Source Code Python code 栈式虚拟机 Source Code AST Bit code VM Rust 编译器 Source Code AST LLVM IR Native/WASM ## R ## 我们遇到了哪些问题? ## 01 稳定性提升 源于 Rust 强大的编译检查和错误处理方式,更少的 Bug 03 20 & 40 前端解析器性能提升 20倍 中端语义分析器性能提升40倍 ## 02 66% 端到端编译执行性能提升了66% ## 04 50% 语言编译器编译过程平均内存使用量变为原来 Python 版本的一半 ## Case1: 单文件编译 > https://github.0 码力 | 25 页 | 3.50 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













