上一页 1 2 3 4 5 6 ··· 27 下一页
摘要: 工作原理 通过扩展的方式管理 GPU 资源 Kubernetes 本身是通过插件扩展的机制来管理 GPU 资源的,具体来说这里有两个独立的内部机制。 第一个是 Extend Resources,允许用户自定义资源名称。而该资源的度量是整数级别,这样做的目的在于通过一个通用的模式支持不同的异构设备,包 阅读全文
posted @ 2024-02-25 06:51 muzinan110 阅读(33) 评论(0) 推荐(0) 编辑
摘要: Python 内存管理层次: 众所周知,计算机硬件资源由操作系统负责管理,内存资源也不例外。应用程序通过 系统调用 向操作系统申请内存,而 C 库函数则进一步将系统调用封装成通用的 内存分配器 ,并提供了 malloc 系列函数。 C 库函数实现的通用目的内存管理器是一个重要的分水岭,即内存管理层次 阅读全文
posted @ 2024-02-24 21:19 muzinan110 阅读(12) 评论(0) 推荐(0) 编辑
摘要: GIL 由来 我们先思考一个问题:我们在前面介绍的 list 、 dict 等内建对象是 线程安全 的吗? 在 Python 层面,list 、dict 等内建对象是线程安全的,这是最基本的常识。研究 list、dict 等内建对象源码时,我们并没有看到任何 互斥锁 的痕迹,这多少有点令人意外。以  阅读全文
posted @ 2024-02-24 21:14 muzinan110 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 哈希值 Python 内置函数 hash 返回对象 哈希值 ,哈希表 依赖 哈希值 索引元素: 根据哈希表性质, 键对象 必须满足以下两个条件,否则哈希表便不能正常工作: 哈希值在对象整个生命周期内不能改变; 可比较,且比较相等的对象哈希值必须相同; 满足这两个条件的对象便是 可哈希 ( hasha 阅读全文
posted @ 2024-02-24 21:12 muzinan110 阅读(38) 评论(0) 推荐(0) 编辑
摘要: list 对象是一种 容量自适应 的 线性容器 ,底层由 动态数组 实现。动态数组结构决定了 list 对象具有优秀的尾部操作性能,但头部操作性能却很差劲。 容量调整 当我们调用 append 、pop 、insert 等方法时,列表长度随之发生变化。当列表长度超过底层数组容量时,便需要对底层数组进 阅读全文
posted @ 2024-02-24 21:07 muzinan110 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 面向对象理论中“ 类 ”和“ 对象 ”这两个重要概念,在 Python 内部均以对象的形式存在。 “类”是一种对象,称为 类型对象 ;“类”实例化生成的“对象”也是对象,称为 实例对象 。 根据对象不同特点还可进一步分类: 类别特点 可变对象 对象创建后可以修改 不可变对象 对象创建后不能修改 定长 阅读全文
posted @ 2024-02-24 21:02 muzinan110 阅读(13) 评论(0) 推荐(0) 编辑
摘要: go编译器 Go 语言的编译器完全用 Go 语言本身来实现,它完全实现了从(编译)前端到后端的所有工作 Golang 的生态中相关工具我们能用到的有 pprof 和 trace。pprof 可以看 CPU、内存、协程等信息在压测流量进来时系统调用的各部分耗时情况。而 trace 可以查看 runti 阅读全文
posted @ 2024-02-24 20:58 muzinan110 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 系统调用是指使用类似函数调用的方式调用操作系统提供的API。虽然从概念上来说系统调用和函数调用差不多,但本质上它们有很大的不同(call vs int/syscall) 操作系统的代码位于内核地址空间,而CPU在执行用户代码时特权等级很低,无权访问需要最高优先级才能访问的内核地址空间的代码和数据,所 阅读全文
posted @ 2024-02-24 20:54 muzinan110 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 所有在 UNIX 系统上运行的程序最终都会通过 C 系统调用来和内核打交道。用其他语言编写程序进行系统调用,方法不外乎两个:一是自己封装,二是依赖 glibc、或者其他的运行库。Go 语言选择了前者,把系统调用都封装到了 syscall 包。封装时也同样得通过汇编实现。 当M一旦进入系统调用后,会脱 阅读全文
posted @ 2024-02-24 20:48 muzinan110 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 如果想兼顾开发效率,又能保证高并发,协程就是最好的选择。它可以在保持异步化运行机制的同时,用同步方式写代码(goroutine-per-connection),这在实现高并发的同时,缩短了开发周期,是高性能服务未来的发展方向。 CPU 和 IO 设备是不同的设备,能并行运行。合理调度程序,充分利用硬 阅读全文
posted @ 2024-02-24 20:39 muzinan110 阅读(35) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 27 下一页