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
Rust并行编译的挑战与突破Rust并行编译的挑战与突破 李原 2022年5月28日 ## 目录 - 相关浅谈 - Rust并行编译的挑战与突破 - 从并行编译到并行程序设计 - Rust社区与并行编译  ## 相关浅谈 ## 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
在Solana合约链实现IBC协议跨链互操作 - 苏胤榕## RUST CHINA CONF 2023 第三届中国Rust开发者大会 6.17-6.18 @Shanghai ## SOLANA ## 在Solana合约链 实现IBC协议跨链互操作 @DaviRain ## 简单介绍下IBC协议是什么,及其生态 ## 介绍IBC协议和其在跨链互操作中的作用 ## I nterchain Standards |Number | IBC协议中的角色和参与者 1. 客户端 2. 连接 3. 通道 4. 包 4. 中继器 ## 解释为什么选择在Rust合约链中实现IBC协议 - IBC协议的核心已经被协议核心团队用Rust语言实现。 - 对于本身就是使用Rust语言作为智能合约开发的区块链平台来说,支持集成支持IBC协议会很方便。 - 这里优先构想了在Solana链上实现IBC协议,因为Solana平台本身 做解释) ## 引入Solana作为示例平台 - Solana极低的Gas花销。 - Anchor合约开发框架,大大降低了Rust合约开发者在Solana上开发智能合约的难度。 - 以及本人对Solana平台的喜欢,优先考虑了Solana平台,但是这套方案是可以推广到任何的Rust智能合约平台的。 ## < / IBC协议概述 大致讲解下IBC协议的原理,以及参与整个IBC协议活动的不同决策0 码力 | 29 页 | 3.05 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 ## 我们遇到了哪些问题? WASM 支持友好 6. 智能合约语言? ## 😍 ## 03 重写的收益 稳定性和性能提升 IDE:用户体验提升 ## 稳定性和性能的巨大提升 ## 01 稳定性提升 源于 Rust 强大的编译检查和错误处理方式,更少的 Bug 03 20 & 40 前端解析器性能提升 20倍 中端语义分析器性能提升40倍 ## 02 66% 端到端编译执行性能提升了66% ## 040 码力 | 25 页 | 3.50 MB | 2 年前3
通过SSA的解释执行窥探Golang编译之一角GCN ## 通过SSA的解释执行窥探Golang编译之一角  丁尔男 武汉航天远景 产品总监 凹语言 联合发起人 PLOC 联合发起人 一切可编译为 WebAssembly 的,终将被编译为 WebAssembly。 2a # WebAssembly 机械工业出版社 China Machine Press ## 目录 Golang 编译流程简介 01 SSA 解释执行 02 基于 SSA 的应用 03 ## Golang 编译流程简介 源代码 抽象语法树 抽象语法树(带语义信息) 静态单赋值 目标代码 ## Golang 编译流程简介 源代码 语法解析,生成抽象语法树(Abstract Syntax Tree,AST),涉及的包: go/token 词法单元定义 go/scanner 词法扫描 抽象语法树(带语义信息) go/ast 抽象语法树定义 go/parser 语法解析 静态单赋值 目标代码 ## Golang 编译流程简介 源代码 抽象语法树 抽象语法树(带语义信息) 静态单赋值 目标代码 $ 1 + 2 * 3 $ *ast.BinaryExpr (+) $ ^{*} $ ast.BasicLit0 码力 | 30 页 | 1.50 MB | 2 年前3
C++高性能并行编程与优化 - 课件 - 04 从汇编角度看编译器优化## AMD # 从汇编角度看编译器优化 by 彭于斌 (@archibate) 往期录播:https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码:https://github.com/parallel101/course 的压力。 • 因此 64 位比 32 位机器相比,除了内存突破 4GB 限制外,也有一定性能优势。 # 8 位,16 位,32 位,64 位版本 al0 码力 | 108 页 | 9.47 MB | 2 年前3
百度超级链 XuperChain 3.7 中文文档XuperChain介绍: 1. 简介 2. 模块 3. 核心数据结构 3.1. 背景 3.2. 核心数据结构 4. 智能合约 5. 权限系统 6. 隐私和保密 7. 性能 8. 总结 ## 快速入门 1. XuperChain环境部署 1.1. 准备环境 1.2. 编译XuperChain • 2. XuperChain基本操作 2.1. 部署xchain服务 2.2. 基本功能的使用 技术设计文档: • 1. XuperModel • 2. XuperBridge 2.1. 内核调用设计 2.2. KV接口与读写集 2.3. 合约上下文 3. XVM 虚拟机 3.1. 背景 3.2. WASM简介 3.3. WASM 字节码编译加载流程 3.4. 语言运行环境 3.5. XuperBridge对接 3.6. 资源消耗统计 4. 账号权限控制模型 - 4.1 1. 合约账号 1.1. 访问控制列表(ACL) 1.2. 合约账号创建 1.3. 合约账号基本操作 2. 多节点部署 2.1. p2p网络配置 2.2. 搭建TDPoS共识网络 2.3. 选举TDPOS候选人 2.4. 常见问题 3. 创建合约 3.1. 编写合约 3.2. 部署wasm合约 3.3. 部署native合约0 码力 | 270 页 | 24.86 MB | 2 年前3
百度超级链 XuperChain stable 中文文档XuperChain介绍: 1. 简介 2. 模块 3. 核心数据结构 3.1. 背景 3.2. 核心数据结构 4. 智能合约 5. 权限系统 6. 隐私和保密 7. 性能 8. 可信账本 9. 总结 ## 快速入门 1. XuperChain环境部署 1.1. 准备环境 1.2. 编译XuperChain 2. XuperChain基本操作 2.1. 部署xchain服务 2.2. 基本功能的使用 技术设计文档: • 1. XuperModel • 2. XuperBridge 2.1. 内核调用设计 2.2. KV接口与读写集 2.3. 合约上下文 3. XVM 虚拟机 3.1. 背景 3.2. WASM简介 3.3. WASM 字节码编译加载流程 3.4. 语言运行环境 3.5. XuperBridge对接 3.6. 资源消耗统计 4. 账号权限控制模型 4 进阶使用 - 1. 合约账号 - 1.1. 访问控制列表(ACL) - 1.2. 合约账号创建 - 1.3. 合约账号基本操作 - 2. 多节点部署 - 2.1. p2p网络配置 - 2.2. 搭建TDPoS共识网络 - 2.3. 选举TDPOS候选人 - 2.4. 常见问题 - 3. 创建合约 - 3.1. 编写合约 - 30 码力 | 325 页 | 26.31 MB | 2 年前3
共 904 条
- 1
- 2
- 3
- 4
- 5
- 6
- 91













