2.4 Go 1.4 runtime### Go 1.4 runtime Gopher China 2015 1. Memory Allocator 2. Garbage Collector 3. Goroutine Scheduler  ### 1. Memory Allocator [Image](/uploads/documents/d/1/e/6/d1e62646408551dcc5c371bff0689c8d/p16_2.jpg) markroot scanblock heap.bitmap Go 1.5: concurrent pauseless collector. |data|bss|finalizer| |---|---|---| |span|span|...| |cache|cache|0 码力 | 29 页 | 608.57 KB | 2 年前3
2.1.4 PingCAP Go runtime related problems in TiDB production environment## Go runtime related problems in TiDB production environment ## About me Arthur Mao(毛康力), Senior Engineer@PingCAP • TiDB core developer (top3 contributor) • GitBook about golang internals (@tiancaiamao) ready => goroutine wake up == 4.3ms ☐ Sometime even 10ms+ latency here! ☐ The time spend on runtime schedule is not negligible - When CPU is overload, which goroutine should be given priority? ## The runtime scheduling does not consider priority • CPU dense workload could affect IO latency ## Part II - Memory control ## Background: What are we talking about when we talk about Memory • Go Runtime0 码力 | 56 页 | 50.15 MB | 1 年前3
Rust 异步 Runtime 的兼容层 - 施继成Rust 异步 Runtime 的兼容层 施继成 @ DatenLord ## [Table_CompanyName] 6.17-6.18 @Shanghai ## Table of Contents ## # Rust async runtime Introduce what's rust async runtime 2 ## #Async runtime binding Analyze the reason of runtime isolation 3 ## # Compatible layer Create a wheel used everywhere ## 1 # Rust async runtime ## Rust async runtime  During multithreading: definitions and use-cases Parallel APIs Sources of overhead and runtime design Minimum viable runtime plan in a weekend ## Understanding the design space Concurrency vs parallelism, hardware threads The same distinctions can be done at a multithreaded language or multithreading runtime level. ## The problem ## How to schedule M tasks on N hardware threads? ## Latency vs Throughput0 码力 | 37 页 | 556.64 KB | 1 年前3
Nim - the first high performance language with full support for hot codereloading at runtime## Nim - the first high performance language with full support for hot codereloading at runtime by Viktor Kirilov ## Me, myself and I • my name is Viktor Kirilov - from Bulgaria • creator of doctest hackernews Apr 18, 2017 ## Comparison with others • D, Rust, Jai, Zig • out of scope for this talk • Go ■ not really a *pinnacle* of abstraction and innovation : | C++ ☑- 5k+ LOC for a T and double=""> x; 2 x $$ 6 $$ = 91.4; c2nim tool - generate C/C++ bindings for Nim ## Runtime compilation - WHY • much faster iteration times ■ no need to restart the program - can preserve 0 码力 | 63 页 | 2.91 MB | 1 年前3
Testing Compile-time Constructs Within a Runtime Unit Testing Framework## +21 ## Testing Compile-time Constructs Within a Runtime Unit Testing Framework ## I GOR BOGOSLAVSKYI 20 21 October 24-29 ## We use C++ (14) for safety-critical applications that we deliver to our get_half_of(T smth) { return smth / T{2}; } Much better! We anyway use it only with float numbers! I’ll go sip a coffee! The code passes all checks and lands to the customer instance template0 码力 | 50 页 | 1.37 MB | 1 年前3
Go 入门指南(The way to Go)Go入门指南 书栈(BookStack.CN) ## 目录 致谢 阅前必读 内容介绍 前言 第1章:Go 语言的起源,发展与普及 1.1 起源与发展 1.2 语言的主要特性与发展的环境和影响因素 第2章:安装与运行环境 2.1 平台与架构 2.2 Go 环境变量 2.3 在 Linux 上安装 Go 2.4 在 Mac OS OS X 上安装 Go 2.5 在 Windows 上安装 Go 2.6 安装目录清单 2.7 Go 运行时(runtime) 2.8 Go 解释器 第3章:编辑器、集成开发环境与其它工具 3.1 Go 开发环境的基本要求 3.2 编辑器和集成开发环境 3.3 调试器 3.4 构建并运行 Go 程序 3.5 格式化代码 3.6 生成代码文档 3 3.7 其它工具 3.8 Go 性能说明 3.9 与其它语言进行交互 第4章:基本结构和基本数据类型 4.1 文件名、关键字与标识符 4.2 Go 程序的基本结构和要素 4.3 常量 4.4 变量 4.5 基本类型和运算符 4.6 字符串 4.7 strings 和 strconv 包 4.8 时间和日期 4.9 指针 第5章:控制结构0 码力 | 466 页 | 4.44 MB | 2 年前3
Go 入门指南(The way to Go)1986bf1/p1_3.jpg) The Way to Go Go入门指南 Ivo Balbaert 著 陈佳桦 译 ## 前言 原文出处:https://github.com/Unknwon/the-way-to-go_ZH_CN ## 用更少的代码,更短的编译时间,创建运行更快的程序,享受更多的乐趣 对于学习 Go 编程语言的爱好者来说,这本书无疑是最适合你的一本书籍,这里包 开发出的软件能够很好地在现代的多核计算机上工作 - 开发出的软件能够很好地在网络环境下工作 • 使人们能够享受软件开发的过程 Go 语言就在这样的环境下诞生了,它让人感觉像是 Python 或 Ruby 这样的动态语言,但却又拥有像 C 或者 Java 这类语言的高性能和安全性。 Go 语言出现的目的是希望在编程领域创造最实用的方式来进行软件开发。它并不是要用奇怪的语法和晦涩难懂的概念来从根本上推翻已有的编程语言,而是建立并改善了 来支持并发和并行编程。 这本书是为那些想要学习 Go 这门全新的,迷人的和充满希望的编程语言的开发者量身定做的。当然,你在学习 Go 语言之前需要具备一些关于编程的基础知识和经验,并且拥有合适的学习环境,但你并不需要对 C 或者 Java 或其它类似的语言有非常深入的了解。 对于那些熟悉 C 或者面向对象编程语言的开发者,我们将会在本书中用 Go 和一些编程语言的相关概念进行比较(书中会使用大家所熟知的缩写0 码力 | 380 页 | 2.97 MB | 2 年前3
1.3 Go coding in go wayprint $ sieve [2..n] [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97] sieve.go//并发组合 (borrowed from Rob Pike’s slide) func generate(ch chan<- int) { for i := 2; ; i++ { channel. go generate(ch) // Start generate() as a subprocess. for { prime := <-ch fmt.Print(prime, "\n") ch1 := make(chan int) go filter(ch, } sieve.go (cont.) From divan’s blog (http://divan.github.io/posts/go_concurrency_visualize/) ’ alt=‘OCR图片’/> 思考 面对同一个问题,来自不同编程语言的程序员给出了思维方式截然不同的解决方法 一定程度上印证了前面的假说:编程语言影响编程思维 避免Go coding in0 码力 | 69 页 | 1.24 MB | 1 月前3
Go vs. GoPlus(Go+)## GCN ### Go vs. GoPlus(Go+)  许式伟 x@goplus.org 2021-6-27 北京 ## 话外:模板 ## Go 篇 ## 谁是最成功的语言? • 1970 – 至今 - 什么语言是最成功的 什么语言是最成功的? • C (1970) • C++ (1979) • Objective-C (1986) • Java (1994) • C# (2002) • Go (2009)  |Position Aug 2012|Position Aug 53%| |13|10|✓|R|1.38%|-0.46%| |14|38|A|Groovy|1.25%|+0.96%| |15|13|✓|MATLAB|1.23%|+0.06%| |16|12|✓|Go|1.22%|-0.05%| |17|23|A|Delphi/Object Pascal|1.21%|+0.60%| |18|11|✓|Swift|1.14%|-0.65%| |19|18|✓|Perl|10 码力 | 54 页 | 1.82 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













