2.4 Go 1.4 runtimeGo 1.4 runtime Gopher China 2015 1. Memory Allocator 2. Garbage Collector 3. Goroutine Scheduler 1. Memory Allocator 内存分配器 base on tcmalloc. 基于成熟方案,性能优秀。随着版本升级, 针对性改进,以期与垃圾回收器更好协作。 核心:自主管理,缓存复用,无锁分配。 阈值触发,并行标记,并发清理。 定期强制回收,释放物理内存。 版本升级,垃圾回收效率总是核心问题。 gogc. 阈值检查,或强制回收。 malloc next_gc 0 gogc runtime.gc() stop start mark sweep stop start mark sweep 0 2 2 1 forcegc 2m 1 mark. 暂停用户逻辑,并行标记。 scheduler thread processor goroutine max. 系统限制,允许调整。 runtime.GOMAXPROCS 调整 P 数量,会导致 G 任务队列重新分布。 M G P scheduler max = 10000 max = 256 runtime/debug.SetMaxThreads 超出限制,会导致进程崩溃。 newproc. 创建新并发任务。0 码力 | 29 页 | 608.57 KB | 1 年前3
Rust 异步 Runtime 的兼容层 - 施继成Rust 异步 Runtime 的兼容层 施继成 @ DatenLord Introduce what’s rust async runtime # Rust async runtime Analyze the reason of runtime isolation # Async runtime binding # Compatible layer 1 Create a wheel 2 3 # Rust async runtime 1 Light-weight task • Language and compiler define tasks • How to run it? • When to run it? • How does it deal with the I/O? Rust async runtime Runtime responsibilities it’s multi-thread model Rust async runtime Available Runtimes • Tokio • Async-std • Smol • Monoio Rust async runtime # Async runtime binding 2 Which runtime to choose ? • More adopters • Rich0 码力 | 22 页 | 957.41 KB | 1 年前3
Tracing in TiDB 浅谈全链路监控:
从应用到数据库到 Runtime浅谈全链路监控: 从应用到数据库到 Runtime 黄东旭, Co-founder & CTO, PingCAP 关于我 黄东旭,联合创始人 & CTO @ PingCAP 做分布式数据库的程序员 ● 现在能写代码的时间是奢侈品 TiDB 的亲爹之一兼首席客服和新功能的第一个用户 ● 冤有头债有主,SQL 慢了来找我。。。 偶尔玩玩音乐 ● 摇滚乐->实验音乐 Go 的粉丝!!!! tool trace go tool trace ● 优点:好用,好看(UI) ● 缺点:性能损耗太大,不能一直开着 Trace in Go runtime ● go tool trace 的原理是? Trace 会 Go Runtime 的代码中打桩收集 CPU time,在 Goroutine 开始执行时记录 start_run_time, 在调度退出执行时记录 end_run_time,累加 goroutine 的 CPU time。 A little bit about Go runtime https://learnku.com/articles/41728 https://github.com/golang/go/blob/ma ster/src/runtime/trace.go hack runtime 的思路: follow the tracing event. PingCAP0 码力 | 39 页 | 3.43 MB | 1 年前3
02. Service Mesh落地之后_为sidecar注入灵魂 - 周群力1 周群力 Co-founder of Layotto Service Mesh 落地之后: 为 sidecar 注入灵魂 2 • Multi Runtime: 从 sidecar 到机甲 • Runtime API: 解决跨云部署和厂商绑定难题 • WebAssembly in sidecar: 让业务逻辑跑在sidecar里 • Service Mesh 回顾 • 展望2022:待解决的问题 14 Multi-Runtime 什么是 Runtime? 15 图片来源: https://www.etsy.com/listing/648454769/avatar-aliens-amp-suit-robot-custom 什么是 Runtime? 16 Reference:https://www.infoq.com/articles/multi-runtime-microservice-architecture/ e-architecture/ 什么是 Runtime? 17 Reference: https://www.infoq.com/articles/multi-runtime-microservice-architecture/ Service Mesh vs Runtime 18 低 能力丰富度 Service Mesh Runtime 分布式能力原语合集 定位 具有明确语义的0 码力 | 63 页 | 880.85 KB | 1 年前3
《深入浅出MFC》2/eframework 的核心;我尝试剖析其中美好的对象导向性质(注1)的实 作方式,亦尝试剖析其中与Windows 程序设计模型(注2)息息相关之特殊性质(注3)的 实作方式。 注1:此指runtime type information、dynamic creation、persistence、document/view¡ K。 注2:此指message based、event driven 会根据你的选项做出不同 的程序代码,我所据以解说的,是大众化选项下的产品。 第四篇以微软公司附于Visual C++ 光盘片上的一个范例程序Scribble 为主轴,一步一步加 上新的功能。并在其间深入介绍Runtime Type Information(RTTI)、Dynamic Creation、 Persistence(Serialization)、Message Mapping、Command Routing Visual C++ 4.0 两本 书,也都多多少少开始涉及MFC 核心。我有一种「德不孤必有邻」的喜悦。 为了维护本书更多的唯一性,也由于我自己又钻研获得了新的心得,本书增加了前版未有的 Runtime Type Information、Dynamic Creation 等主题,对于Message Mapping 与Command Routing 的讨论也更详细得多,填补了上一版的缝隙。更值得一提的是,0 码力 | 1009 页 | 11.08 MB | 1 年前3
CeresDB Rust 生产实践 任春韶ould-you-use 生产实践 – Async lock runtime.spawn(task0) runtime.spawn(task1) runtime.spawn(task2) 生产实践 – Async lock runtime.spawn(task0) runtime.spawn(task1) runtime.spawn(task2) 生产实践 – Async lock workload runtime.spawn(task0) runtime.spawn(task1) runtime.spawn(task2) runtime.spawn(task3) 生产实践 – Mixed workload cpu_runtime.spawn(task0) cpu_runtime.spawn(task1) cpu_runtime.spawn(task2) cpu_runtime.spawn(task3) https://tokio.rs/blog/2020-04-preemption 2. https://www.influxdata.com/blog/using-rustlangs-async-tokio-runtime- for-cpu-bound-tasks/ 测试源码: https://github.com/chunshao90/tokio-preemption However, this kind of0 码力 | 22 页 | 6.95 MB | 1 年前3
Kotlin 1.9.10 官方文档 中文版
Kotlin 1.9.0 introduces the preview of a custom memory allocator. Its allocation system improves the runtime performance of the Kotlin/Native memory manager. The current object allocation system in Kotlin/Native reference to the Objective-C object. When the Kotlin object gets deallocated, the Kotlin/Native runtime calls the objc_release function that releases that Objective-C reference. Previously, the Kotlin/Native thread. Since hooks for objects on the main thread usually expect to be called there, Kotlin/Native runtime now calls objc_release on the main thread as well. It should cover the cases when the Objective-C0 码力 | 3753 页 | 29.69 MB | 1 年前3
CmlPHP v2.x 开发手册
secure_src').'/Runtime',//运 行时文件目录 'runtime_cache_path' => Cml::getApplicationDir('secure_src').'/Runtime' . DIRECTORY_SEPARATOR . 'Cache',//运行时模板缓存 、文件缓存 目录 'runtime_logs_path' => Cml::getApplicationDir('secure_src').'/Runtime' . DIRECTORY_SEPARATOR . 'Logs',//运行时日志文件目录 ]); $loader->setPsr4('', Cml::getApplicationDir('apps_path')); //注入服务并运行应用 //要注意的是这边只是做绑定并没有真正实例化 C 插件章节 route.php route.php 为路由配置,也是cli/product/development共用 关于 路由的使用请参看 路由章节 proxxx/Runtime目录 Runtime 目录为运行时目录,该目录下存放了系统运行时的一些 临时文件,下面做详细说明 Cache 该目录该目录下存放了模板渲染后的缓存及系统缓存使用文件缓 存时生成的缓存文件0 码力 | 245 页 | 720.67 KB | 1 年前3
CmlPHP v2.x 开发手册
('secure_src').'/Runtime',//运行时文 件目录 'runtime_cache_path' => Cml::getApplicationDir('secure_src').'/Runtime' . DIRECT ORY_SEPARATOR . 'Cache',//运行时模板缓存 、文件缓存目录 'runtime_logs_path' => Cml Cml::getApplicationDir('secure_src').'/Runtime' . DIRECTO RY_SEPARATOR . 'Logs',//运行时日志文件目录 ]); $loader->setPsr4('', Cml::getApplicationDir('apps_path')); //注入服务并运行应用 //要注意的是这边只是做绑定并没有真正实例化 Cml::runApp(function() 插件章节 route.php route.php 为路由配置,也是cli/product/development共用 关于路由的使用请参看 路由章节 14 proxxx/Runtime目录 Runtime 目录为运行时目录,该目录下存放了系统运行时的一些临时文件,下面做详细说明 Cache 该目录该目录下存放了模板渲染后的缓存及系统缓存使用文件缓存时生成的缓存文件 Data0 码力 | 143 页 | 1.54 MB | 1 年前3
CmlPHP v2.x 开发手册
r('secure_src').'/Runtime',//运行时 文件目录 'runtime_cache_path' => Cml::getApplicationDir('secure_src').'/Runtime' . DIREC TORY_SEPARATOR . 'Cache',//运行时模板缓存 、文件缓存目录 'runtime_logs_path' => Cml: Cml::getApplicationDir('secure_src').'/Runtime' . DIRECT ORY_SEPARATOR . 'Logs',//运行时日志文件目录 ]); $loader->setPsr4('', Cml::getApplicationDir('apps_path')); //注入服务并运行应用 //要注意的是这边只是做绑定并没有真正实例化 Cml::runApp(function() 插 件章节 route.php route.php 为路由配置,也是cli/product/development共用 关于路由的使用请参看 路由章节 proxxx/Runtime目录 Runtime 目录为运行时目录,该目录下存放了系统运行时的一些临时文件,下面做 详细说明 Cache 该目录该目录下存放了模板渲染后的缓存及系统缓存使用文件缓存时生成的缓存文 件 Data0 码力 | 251 页 | 973.37 KB | 1 年前3
共 369 条
- 1
- 2
- 3
- 4
- 5
- 6
- 37













