3 Thautwarm 解放python的表达力 性能和安全性 语法和语义扩展 JIT 静态检查 Time The Restrain Python JIT 为什么编译器从字节码开始着手? 栈机(stack machine)语义的优化问题? Julia后端和Cython后端的差别? 栈机到基于寄存器(register based)的 语义,控制流分析,SSA 和 Φ 节点和 栈机语义消除。 Cython JIT 基础架构。 为什么编译器从字节码开始着手? 因为运行时一旦开始你是拿不到源代码的。 Machine语义共存 为何不最直接翻 译成寄存器语义? 不懂的同学大概这样理解: 栈机就是Push Pop: “放到栈上两个值,做了一个二元运算,两个值被消耗, 得到一个值放回栈上, 栈上元素减1”。 寄存器机就是赋值赋值赋值赋值,我赋给你,你赋给他, push pop不占主导地位。可以模拟栈机。 栈机的Jump指令,导致翻译到寄存器语义不简单呐。 为何不最直接翻译成寄存器语义? Push a Push0 码力 | 43 页 | 10.71 MB | 1 年前3
PyConChina2022-杭州-ARM芯片的Python+AI算力优化-朱宏林硬件指令支持 ARMv8.6 bf16 扩展 • bf16 扩展 • ARMv8.6 • 矩阵乘法指令 BFMMLA • 类型转换指令 BFCVT • BFMMLA • 128 bit 向量寄存器 • 单指令完成 (2x4) * (4x2) • 16 mul + 16 add 深度学习推理加速 • BF16 gemm 实现 • ARM Compute Library • OpenBLAS0 码力 | 24 页 | 4.00 MB | 1 年前3
Python3 基础教程 - 廖雪峰语文书本、钢笔(这叫保存现场),然后,打开数学课本、找出圆规直 尺(这叫准备新环境),才能开始做数学作业。操作系统在切换进程或 者线程时也是一样的,它需要先保存当前执行的现场环境(CPU 寄存器 状态、内存页等),然后,把新任务的执行环境准备好(恢复上次的寄 存器状态,切换内存页等),才能开始执行。这个切换过程虽然很快, Python3 基础教程【完整版】 http://www.yeayee 要部署到 Linux,首先得有一台 Linux 服务器。要在公网上体验的同学, 可以在 Amazon 的 AWS 申请一台 EC2 虚拟机(免费使用 1 年),或者 使用国内的一些云服务器,一般都提供 Ubuntu Server 的镜像。想在本 地部署的同学,请安装虚拟机,推荐使用 VirtualBox。 我们选择的 Linux 服务器版本是 Ubuntu Server 14.04 LTS,原因是0 码力 | 531 页 | 5.15 MB | 1 年前3
PyConChina2022-上海-用GitHub完成Python的全技术栈开发-卢建晖我们从环境搭建开始 关于 Dev container 当您在 GitHub Codespaces 中工作时,您工作的环境是使用托管在虚拟机上的开发容器或开发容器创建的。 开发容器或开发容器是专门配置为提供功能齐全的开发环境的 Docker 容器。 每当您在代码空间中工作时, 您就是在虚拟机上使用开发容器。 您可以为存储库配置开发容器,以便为该存储库创建的代码空间为您提供量身定制的开发环境,并配备处理特 定项目所需的所有工具和运行时。0 码力 | 24 页 | 4.86 MB | 1 年前3
2 张孝峰 Python与云 AWS的Python原生应用浅析 包括私有网络架构,数据库,和根据业务量自动伸缩的能力 Infrastructure as Code Infrastructure is Code vs AWS Cloud Development Kit (CDK) 虚拟机 容器 无服务器 Serverless 数据库 缓存服务 Hadoop 容器编排 微服务 Fargate AWS Lambda Hello World • 事件响应 一个函数对应一类事件0 码力 | 42 页 | 8.12 MB | 1 年前3
PyConChina2022-深圳-大规模生产环境下的Faster CPython-王文洋Python frames • Inlined Python function calls • PEP 659: Specializing Adaptive Interpreter 动态语言的虚拟机可以根据执行中出现过的类型和值对代码进行特化,以提高运行效率。这种特化通常与 “JIT ”编译 器联系在一起。但即使没有编译成机器代码,这种优化也是有益的。 Execution Quicken Adaptive0 码力 | 31 页 | 2.47 MB | 1 年前3
06. 李欣宜 扩展Python的语法和语义 Python的package系统高度可自定义(importlib, import mechanism) 3. PyPI: 分布广泛的极速镜像,自由方便的注册 系统,用法千奇百怪 4. 规范的解释器和虚拟机实现 5. 字节码层面支持运行时报错定位 6. 可用package领域覆盖面大 7. 标准库功能强大,有大量封装程度很高的API 8. 简单、一致、直观的语法设计 作为一门拥有上述特性的脚本语言,即便存在着诸多不足,0 码力 | 39 页 | 3.69 MB | 1 年前3
Django、Vue 和Element UI 前后端原理论述WSL(Windows Subsystem for Linux)是 Windows 操作系统中的一个子系统,它允许 用户在 Windows 系统中运行 Linux 操作系统的用户空间,无需进行虚拟机等操作。这样 用户就可以在 Windows 系统中使用 Linux 命令行工具和一些常用的 Linux 应用程序。 2、操作过程 (1)Powershell 下输入:wsl --install0 码力 | 61 页 | 6.84 MB | 1 年前3
Python 标准库参考指南 3.13 Reference, 发行版本 3.13.0 set_progress_handler(progress_handler, n) 注册callable progress_handler 以针对 SQLite 虚拟机的每 n 条指令发起调用。如果你想要在长时 间运行的操作,例如更新 GUI 期间获得来自 SQLite 的调用这将很有用处。 如果你想清除任何先前安装的进度处理器,可在调用该方法时传入 None 作为 是无符号 32 位整数。 Availability: Linux >= 2.6.38. 某些算法类型需要更新的内核。 Added in version 3.6. • AF_VSOCK 用于支持虚拟机与宿主机之间的通讯。该套接字用 (CID, port) 元组表示,其中 Context ID (CID) 和 port 都是整数。 Availability: Linux >= 3.9 参见 vsock(7) 主机和客户机通信的基于套接字的接口。其地址族 以一个 (vm_id, service_id) 元组表示,其中 vm_id 和 service_id 均为 UUID 字符串。 vm_id 为虚拟机标识号或者如果目标不是一台特定的虚拟机则为已知 VMID 值的集合。在 socket 上定义的已知 VMID 常量有: – HV_GUID_ZERO – HV_GUID_BROADCAST – HV_GUID_WILDCARD0 码力 | 2246 页 | 11.74 MB | 9 月前3
Python 标准库参考指南 3.12 None 禁用授权回调的支持。 set_progress_handler(progress_handler, n) 注册callable progress_handler 以针对 SQLite 虚拟机的每 n 条指令发起调用。如果你想要在长时 间运行的操作,例如更新 GUI 期间获得来自 SQLite 的调用这将很有用处。 如果你想清除任何先前安装的进度处理器,可在调用该方法时传入 None 作为 是无符号 32 位整数。 Availability: Linux >= 2.6.38. 某些算法类型需要更新的内核。 Added in version 3.6. • AF_VSOCK 用于支持虚拟机与宿主机之间的通讯。该套接字用 (CID, port) 元组表示,其中 Context ID (CID) 和 port 都是整数。 Availability: Linux >= 3.9 参见 vsock(7) 主机和客户机通信的基于套接字的接口。其地址族 以一个 (vm_id, service_id) 元组表示,其中 vm_id 和 service_id 均为 UUID 字符串。 vm_id 为虚拟机标识号或者如果目标不是一台特定的虚拟机则为已知 VMID 值的集合。在 socket 上定义的已知 VMID 常量有: – HV_GUID_ZERO – HV_GUID_BROADCAST – HV_GUID_WILDCARD0 码力 | 2253 页 | 11.81 MB | 9 月前3
共 28 条
- 1
- 2
- 3













