Await-Tree Async Rust 可观测性的灵丹妙药 - 赵梓淇Rust 开发者大会 Await-Tree Async Rust 可观测性的灵丹妙药 赵梓淇 Bugen Zhao Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 2 回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 Await-Tree Async Rust 可观测性的灵丹妙药 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 2 回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 Async Rust 的优势 • 异步编程的共同优势 • async/await 关键字 • 用户态调度 • Async Rust 的独特优势 • Ownership 与 Lifetime • 无栈协程 Async Rust 回顾 阻塞的位置和原因 • 难以调试 Async Stuck • ? 如何解决? Await-Tree Async Rust 可观测性的灵丹妙药 Await-Tree 的 设计原理与实现 2 回顾 Async Rust 的设计与痛点 1 Await-Tree 的 应用与真实案例 3 设计目标 Await Tree 的设计原理与实现 • 追踪关键 Future 的生命周期和控制流 • Init0 码力 | 37 页 | 8.60 MB | 1 年前3
Kotlin 1.2 Language Documentationp = p.parent } @Suppress("UNCHECKED_CAST") return p as T? } Here, we walk up a tree and use reflection to check if a node has a certain type. It’s all fine, but the call site is not TextElement and adding it to the children collection, so that it becomes a proper part of the tag tree. All this is defined in a package com.example.html that is imported at the top of the builder example package com.example.html is defined (only the elements used in the example above). It builds an HTML tree. It makes heavy use of extension functions and lambdas with receiver. Note that the @DslMarker0 码力 | 333 页 | 2.22 MB | 1 年前3
FISCO BCOS 2.1.0 中文文档据,智能合约执行过程中会从状态存储中获取一些数据参与运算,为实现复 杂的合约逻辑提供了基础。 另一方面,维护状态数据需要付出不少存储成本,随着链的持续运行,状态 数据会持续膨胀,如采用复杂的数据结构如帕特里夏树(Patricia Tree),状 态数据的的容量会进一步扩大,根据不同的场景需要,可对状态数据进行裁 剪优化,或采用分布式数据仓库等方案存储,以支持更海量的状态数据容 量。 共识机制 共识机制是区块链领域的核心概念,无共识,不区块链。区块链作为一个分 本节我们根据公钥计算对应的账户地址。我们需要获取keccak-256sum工具, 可以从这里下载 [https://github.com/vkobel/ethereum-generate-wallet/tree/master/lib]。 得到类似下面的输出,就是计算得出的账户地址。 openssl ec -in ecprivkey.pem -text -noout 2>/dev/null| sed -n ~/generator-A ./generator --build_install_package ./meta/peersB.txt ./nodeA ls ./nodeA # 命令解释 此处采用tree风格显示 # 生成的文件夹nodeA信息如下所示, ├── monitor # monitor脚本 ├── node_127.0.0.1_30300 # 127.0.0.1服务器 端口号30300的节点配置文件夹0 码力 | 1058 页 | 740.85 KB | 1 年前3
FISCO BCOS 2.3.0 中文文档据,智能合约执行过程中会从状态存储中获取一些数据参与运算,为实现复 杂的合约逻辑提供了基础。 另一方面,维护状态数据需要付出不少存储成本,随着链的持续运行,状态 数据会持续膨胀,如采用复杂的数据结构如帕特里夏树(Patricia Tree),状 态数据的的容量会进一步扩大,根据不同的场景需要,可对状态数据进行裁 剪优化,或采用分布式数据仓库等方案存储,以支持更海量的状态数据容 量。 共识机制 共识机制是区块链领域的核心概念,无共识,不区块链。区块链作为一个分 mkdir -p build && cd build 注解 如果因为网络问题导致长时间无法下载依赖库,请尝试从 https://gitee.com/FISCO-BCOS/LargeFiles/tree/master/libs 下载,放在 FISCO-BCOS/deps/src/ 编译选项介绍 BUILD_GM,默认off,国密编译开关。通过cmake -DBUILD_GM=on ..打 开国密开关。 enable_ttl_optimization=false [consensus] enable_prepare_with_txsHash=false [consensus].broadcast_prepare_by_tree:Prepare包树状广播策略开启/ 关闭开关,设置为true,开启Prepare包树状广播策略;设置为false,关 闭Prepare包树状广播策略,默认为true 下面为开启Prepare包树状广播策略后的容错配置:0 码力 | 1227 页 | 10.79 MB | 1 年前3
FISCO BCOS 2.2.0 中文文档据,智能合约执行过程中会从状态存储中获取一些数据参与运算,为实现复 杂的合约逻辑提供了基础。 另一方面,维护状态数据需要付出不少存储成本,随着链的持续运行,状态 数据会持续膨胀,如采用复杂的数据结构如帕特里夏树(Patricia Tree),状 态数据的的容量会进一步扩大,根据不同的场景需要,可对状态数据进行裁 剪优化,或采用分布式数据仓库等方案存储,以支持更海量的状态数据容 量。 共识机制 共识机制是区块链领域的核心概念,无共识,不区块链。区块链作为一个分 ini的[sync].sync_block_by_tree开启或关闭区块同步优化 策略。 [sync].sync_block_by_tree配置为true:打开区块同步优化策略 [sync].sync_block_by_tree配置为false:关闭区块同步优化策略 supported_version不小于v2.2.0时,[sync].sync_block_by_tree默认为 true;supported_version小于v2 true;supported_version小于v2.2.0时,[sync].sync_block_by_tree默 认为false 此外,为了保障树状拓扑区块同步的健壮性,FISCO BCOS v2.2.0还引入了 gossip协议定期同步区块状态,gossip协议相关配置项均位于 group.group_id.ini的[sync]中,具体如下: 注解 gossip协议配置项,仅在开启区块树状广播优化时生效 g0 码力 | 1156 页 | 10.03 MB | 1 年前3
Kotlin Language Documentation 1.3p = p.parent } @Suppress("UNCHECKED_CAST") return p as T? } Here, we walk up a tree and use re�ection to check if a node has a certain type. It’s all �ne, but the call site is not very TextElement and adding it to the children collection, so that it becomes a proper part of the tag tree. All this is de�ned in a package com.example.html that is imported at the top of the builder example package com.example.html is de�ned (only the elements used in the example above). It builds an HTML tree. It makes heavy use of extension functions and lambdas with receiver. Note that the @DslMarker0 码力 | 597 页 | 3.61 MB | 1 年前3
Computer Programming with the Nim Programming Language
Permutations Combinations Sorting Reading CSV files and other data Some small exercises Minimum spanning tree Part V: External Packages Parsing expression grammars Cligen command line interface generator arbitrary-precision arithmetic, as well as hash sets and hash tables, dynamically linked lists, or tree structures are available through the Nim standard library or external packages. Of course, we are You cannot be certain if a search for "KdTree" will yield all results; you might have to try "Kd_Tree" or "KDTree" and potentially some other variants as well. To address this issue, Nim provides a tool0 码力 | 865 页 | 7.45 MB | 1 年前3
Computer Programming with the Nim Programming Language
Permutations Combinations Sorting Reading CSV files and other data Some small exercises Minimum spanning tree Part V: External Packages Parsing expression grammars Cligen command line interface generator arbitrary-precision arithmetic, as well as hash sets and hash tables, dynamically linked lists, or tree structures are available through the Nim standard library or external packages. Of course, we are You cannot be certain if a search for "KdTree" will yield all results; you might have to try "Kd_Tree" or "KDTree" and potentially some other variants as well. To address this issue, Nim provides a tool0 码力 | 784 页 | 2.13 MB | 1 年前3
FISCO BCOS 2.4.0 中文文档据,智能合约执行过程中会从状态存储中获取一些数据参与运算,为实现复 杂的合约逻辑提供了基础。 另一方面,维护状态数据需要付出不少存储成本,随着链的持续运行,状态 数据会持续膨胀,如采用复杂的数据结构如帕特里夏树(Patricia Tree),状 态数据的的容量会进一步扩大,根据不同的场景需要,可对状态数据进行裁 剪优化,或采用分布式数据仓库等方案存储,以支持更海量的状态数据容 量。 共识机制 共识机制是区块链领域的核心概念,无共识,不区块链。区块链作为一个分 FISCO-BCOS $ git checkout master 注解 如果因为网络问题导致长时间无法下载依赖库,请尝试从 https://gitee.com/FISCO-BCOS/LargeFiles/tree/master/libs 下载,放在 FISCO-BCOS/deps/src/ 编译选项介绍 BUILD_GM,默认off,国密编译开关。通过cmake -DBUILD_GM=on ..打 开国密开关。 0引入rPBFT共识算法,具体可参考这里,为保证rPBFT算 法网络流量负载均衡,引入了Prepare包树状广播策略以及该策略相对应的容 错方案。 [consensus].broadcast_prepare_by_tree:Prepare包树状广播策略开启/ 关闭开关,设置为true,开启Prepare包树状广播策略;设置为false,关 闭Prepare包树状广播策略,默认为true 下面为开启Prepare包树状广播策略后的容错配置:0 码力 | 1314 页 | 11.21 MB | 1 年前3
Computer Programming with the Nim Programming Language. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Minimum spanning tree. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . arbitrary-preci sion arithmetic, as well as hash sets and hash tables, dynamically linked lists, or tree structures are available through the Nim standard library or external packages. Of course, we are You cannot be certain if a search for "KdTree" will yield all results; you might have to try "Kd_Tree" or "KDTree" and potentially some other variants as well. To address this issue, Nim provides a tool0 码力 | 508 页 | 3.50 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













