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
Nim,A new approach to meta programming0 码力 | 45 页 | 360.68 KB | 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
Pod 容忍节点异常时间调整## Pod 容忍节点异常时间调整 ### 1. 原理说明 Kubernetes 集群节点处于异常状态之后需要有一个等待时间,才会对节点上的 Pod 进行驱逐。那么针对部分关键业务,是否可以调整这个时间,便于在节点发生异常时及时将 Pod 驱逐并在别的健康节点上重建? 要解决这个问题,我们首先要了解 Kubernetes 在节点异常时驱逐 Pod 的机制。 在 Kubernetes 1.13 参数,指定当节点出现异常(如 NotReady)时 Pod 还将在这个节点上运行多长的时间。 那么,节点发生异常到 Pod 被驱逐的时间,就取决于两个参数:1. 节点实际异常到被判断为不健康的时间;2. Pod 对节点不健康的容忍时间。 Kubernetes 集群中默认节点实际异常到被判断为不健康的时间为 40s, Pod 对节点 NotReady 的容忍时间为 5min, 也就是说, 节点实际异常 5min40s(340s) ### 2. 调整节点被标记为不健康的时间 ControllerManager 参数 --node-monitor-grace-period 控制了在将一个节点标记为不健康之前允许其无响应的时长上限,该参数默认值为 40s,且必须比 Kubelet 的 nodeStatusUpdateFrequency 参数 (Kubelet 向主控节点汇报节点状态的时间间隔) 大 N 倍;这里 N 指的是 kubelet0 码力 | 4 页 | 104.64 KB | 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
机器学习课程-温州大学-时间序列总结## 时间序列总结 黄海广 副教授 2022年01月 ## 学习目标 了解 什么是时间序列,ARIMA 掌握 时间序列的基本操作  熟悉 滑动窗口的使用 掌握时期,重采样 ## 目录  01 时间序列的基本操作 时间序列的基本操作 02 固定频率的时间序列 03 时间周期及计算 04 重采样 05 数据统计—滑动窗口 06 时序模型—ARIMA ## 思考: 什么是时间序列? ## 时间序列的概念 时间序列是指多个时间点上形成的数值序列,它既可以是定期出现的,也可以是不定期出现的。  PITTS WITH LETTVIN: Pitts with Jerome Lettvin and one subject0 码力 | 14 页 | 724.00 KB | 2 年前3
时间序列预测## PyTorch ## 时间序列预测 主讲人:龙良曲 ## Predict next  ## Sample data ## ☐ ☐ ☐ start = np.random.randint(3, size=1)[0] time_steps0 码力 | 9 页 | 572.18 KB | 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













