积分充值
 首页
前端开发
AngularDartElectronFlutterHTML/CSSJavaScriptReactSvelteTypeScriptVue.js构建工具
后端开发
.NetC#C++C语言DenoffmpegGoIdrisJavaJuliaKotlinLeanMakefilenimNode.jsPascalPHPPythonRISC-VRubyRustSwiftUML其它语言区块链开发测试微服务敏捷开发架构设计汇编语言
数据库
Apache DorisApache HBaseCassandraClickHouseFirebirdGreenplumMongoDBMySQLPieCloudDBPostgreSQLRedisSQLSQLiteTiDBVitess数据库中间件数据库工具数据库设计
系统运维
AndroidDevOpshttpdJenkinsLinuxPrometheusTraefikZabbix存储网络与安全
云计算&大数据
Apache APISIXApache FlinkApache KarafApache KyuubiApache OzonedaprDockerHadoopHarborIstioKubernetesOpenShiftPandasrancherRocketMQServerlessService MeshVirtualBoxVMWare云原生CNCF机器学习边缘计算
综合其他
BlenderGIMPKiCadKritaWeblate产品与服务人工智能亿图数据可视化版本控制笔试面试
文库资料
前端
AngularAnt DesignBabelBootstrapChart.jsCSS3EchartsElectronHighchartsHTML/CSSHTML5JavaScriptJerryScriptJestReactSassTypeScriptVue前端工具小程序
后端
.NETApacheC/C++C#CMakeCrystalDartDenoDjangoDubboErlangFastifyFlaskGinGoGoFrameGuzzleIrisJavaJuliaLispLLVMLuaMatplotlibMicronautnimNode.jsPerlPHPPythonQtRPCRubyRustR语言ScalaShellVlangwasmYewZephirZig算法
移动端
AndroidAPP工具FlutterFramework7HarmonyHippyIoniciOSkotlinNativeObject-CPWAReactSwiftuni-appWeex
数据库
ApacheArangoDBCassandraClickHouseCouchDBCrateDBDB2DocumentDBDorisDragonflyDBEdgeDBetcdFirebirdGaussDBGraphGreenPlumHStreamDBHugeGraphimmudbIndexedDBInfluxDBIoTDBKey-ValueKitDBLevelDBM3DBMatrixOneMilvusMongoDBMySQLNavicatNebulaNewSQLNoSQLOceanBaseOpenTSDBOracleOrientDBPostgreSQLPrestoDBQuestDBRedisRocksDBSequoiaDBServerSkytableSQLSQLiteTiDBTiKVTimescaleDBYugabyteDB关系型数据库数据库数据库ORM数据库中间件数据库工具时序数据库
云计算&大数据
ActiveMQAerakiAgentAlluxioAntreaApacheApache APISIXAPISIXBFEBitBookKeeperChaosChoerodonCiliumCloudStackConsulDaprDataEaseDC/OSDockerDrillDruidElasticJobElasticSearchEnvoyErdaFlinkFluentGrafanaHadoopHarborHelmHudiInLongKafkaKnativeKongKubeCubeKubeEdgeKubeflowKubeOperatorKubernetesKubeSphereKubeVelaKumaKylinLibcloudLinkerdLonghornMeiliSearchMeshNacosNATSOKDOpenOpenEBSOpenKruiseOpenPitrixOpenSearchOpenStackOpenTracingOzonePaddlePaddlePolicyPulsarPyTorchRainbondRancherRediSearchScikit-learnServerlessShardingSphereShenYuSparkStormSupersetXuperChainZadig云原生CNCF人工智能区块链数据挖掘机器学习深度学习算法工程边缘计算
UI&美工&设计
BlenderKritaSketchUI设计
网络&系统&运维
AnsibleApacheAWKCeleryCephCI/CDCurveDevOpsGoCDHAProxyIstioJenkinsJumpServerLinuxMacNginxOpenRestyPrometheusServertraefikTrafficUnixWindowsZabbixZipkin安全防护系统内核网络运维监控
综合其它
文章资讯
 上传文档  发布文章  登录账户
IT文库
  • 综合
  • 文档
  • 文章

无数据

分类

全部后端开发(53)Go(53)

语言

全部中文(简体)(53)

格式

全部PDF文档 PDF(51)其他文档 其他(2)
 
本次搜索耗时 0.052 秒,为您找到相关结果约 53 个.
  • 全部
  • 后端开发
  • Go
  • 全部
  • 中文(简体)
  • 全部
  • PDF文档 PDF
  • 其他文档 其他
  • 默认排序
  • 最新排序
  • 页数排序
  • 大小排序
  • 全部时间
  • 最近一天
  • 最近一周
  • 最近一个月
  • 最近三个月
  • 最近半年
  • 最近一年
  • pdf文档 IPC性能极致优化方案-RPAL落地实践

    微服务合并部署(亲和性部署、sidecar 部署) 2. 本地基础组件:mesh sidecar、风控 sidecar、分布式网关... 方案诞生的背景 微服务化拆分: 1. 序列化 2. 网络开销 3. 服务治理 微服务合并部署 function call remote call 方案诞生的背景 微服务合并形态:sidecar 进程通信 方案诞生的背景 微服务合并形态:亲和性部署 性能收益与业务展望 第六部分 性能收益与业务展望 1 kb 请求/响应下,以不同 QPS 在 Kitex 框架进行 benchmark 测试,对比 uds 和 rpal 的性能差异: 注:以上仅测试包含序列化开销的性能对比,benchmark测试受影响因素较多,实际收益需结合业务场景。 性能压测 性能收益与业务展望 1. 字节跳动微服务合并部署场景下,部分服务通过接入 RPAL 整体取得了 1-5% RPAL Call,对比同进程 Function Call 仅增加 200 ns 延迟。 业务真实数据 性能收益与业务展望 业务展望 1. 定制化场景深度优化: 同步 RPAL Call; 请求/响应 Zero Copy; 2. 业务进程与服务网格 IPC 性能优化: 结合用户态协议栈,实现网络 IO 绕过内核 CloudWeGo 是一套由字节跳动基础架构服务框架团队开源的、 可快速构建企业级云原生微服务架构
    0 码力 | 39 页 | 2.98 MB | 1 年前
    3
  • pdf文档 2-6-Golang 在 Baidu-FrontEnd 的应用-陶春华

    • 百度统一前端 –七层流量接入平台 BFE(Baidu Front End) • 主要服务 • 接入转发 • 防攻击、流量调度、数据分析 • 业务现状 • 覆盖大部分重要产品 • 日请求量千亿级别 接入与转发 防攻击 流量调度 数据分析 BFE 为什么重写BFE • 现存问题 –修改成本高 • 事件驱动的编程模型:编码和调试难度大 • C语言本身的难度和开发效率 1万连接,1ms gc延迟 • GO-BFE的实时需求 –请求的处理延迟 平均1ms以内,最大10ms • 实测 –100万连接,400ms gc延迟 GC优化思路 • Go的gc算法(go1.3) –Mark and Sweep:大量时间时间用于扫描对象 • 常规手段的核心:减少对象数 –小对象合并成大对象 • 利用Array来合并一组对象(内部对象计数为1) – 把数据放到C代码里面,通过cgo做接口使用 技术细节 • 服务态 –调用Accept,获取新的请求 • 等待态 –不调用Accept,已经连接的client,可以继续收发 –等待这些已有的连接关闭 • 垃圾收集态 –主动调用GC GC优化 – 补充分析 • HTTP场景 –短连接 –长连接 • 平均连接上的请求是3个 • 90%(20s以内)、98%(50s之内) –大文件请求 • 对gc造成的延迟(几十ms)不敏感 多说一句Go
    0 码力 | 35 页 | 730.17 KB | 1 年前
    3
  • pdf文档 1.5 Go 语言构建高并发分布式系统实践

    go语⾔言在基础服务开发领域的优势? 我遭遇了哪些挑战? ⺫⽬目录 具有go特⾊色的运维 go语⾔言程序开发需要找到⼀一种平衡,既利⽤用协程带来的便利性⼜又做适当 集中化处理 套路:任务池集中数据合并请求、连接池+pipeline 利⽤用全双⼯工特性 经验⼀一 性能优化 性能优化:io集中处理 通信库 性能优化:io集中处理 通信库 适⽤用 = 开发体验好 + 服务稳定 + 性能满⾜足需要 go语⾔言程序开发需要找到⼀一种平衡,既利⽤用协程带来的便利性⼜又做适当集中化处理 套路 = 按请求和业务逻辑并⾏行+任务池集中数据合并请求 + 连接池集中收发 go语⾔言开发追求开销优化的极限,谨慎引⼊入其他语⾔言领域⾼高性能服务的通⽤用⽅方案 内存池+对象池使⽤用 与 代码可读性与整体效率的权衡
    0 码力 | 39 页 | 5.23 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b1 Golang版

    Sort」是算法中“分治思想”的典型体现,其有「划分」和「合并」两个阶段: 1. 划分阶段:通过递归不断 将数组从中点位置划分开,将长数组的排序问题转化为短数组的排序问题; 2. 合并阶段:划分到子数组长度为 1 时,开始向上合并,不断将 左、右两个短排序数组 合并为 一个长排 序数组,直至合并至原数组时完成排序; Figure 11‑8. 归并排序的划分与合并阶段 11.5.1. 算法流程 「递归划分」从顶至底递归地 hello‑algo.com 178 2. 递归执行 1. 步骤,直至子数组区间长度为 1 时,终止递归划分; 「回溯合并」从底至顶地将左子数组和右子数组合并为一个 有序数组; 需要注意,由于从长度为 1 的子数组开始合并,所以 每个子数组都是有序的。因此,合并任务本质是要 将两 个有序子数组合并为一个有序数组。 11. 排序算法 hello‑algo.com 179 Figure 11‑9. 归并排序步骤 观察发现,归并排序的递归顺序就是二叉树的「后序遍历」。 ‧ 后序遍历:先递归左子树、再递归右子树、最后处理根结点。 ‧ 归并排序:先递归左子树、再递归右子树、最后处理合并。 // === File: merge_sort.go === /* 合并左子数组和右子数组 左子数组区间 [left, mid] 右子数组区间 [mid + 1, right] */ func merge(nums []int
    0 码力 | 190 页 | 14.71 MB | 1 年前
    3
  • pdf文档 Go性能优化概览-曹春晖

    syscall • 降低锁粒度:全局锁 -> 对象锁,全局锁 -> 连接锁,连接锁 -> 请求锁,⽂ 件锁 -> 多个⽂件各种锁 • 同步改异步:如同步⽇志 -> 异步⽇志,若队列满则丢弃,不阻塞业务逻辑 CPU 使⽤太⾼了-编解码使⽤ CPU 过⾼ 通过更换 json 库,就可以提⾼系统的吞吐量 本质上就是请求的 CPU 使⽤被优化了 我们可以使⽤固定 QPS 压测来验证该结论 https://golearn case 分析了 • GC 使⽤ CPU 过⾼ • 减少堆上对象分配 • sync.Pool 进⾏堆对象重⽤ • Map -> slice • 指针 -> ⾮指针对象 • 多个⼩对象 -> 合并为⼀个⼤对象 • offheap • 降低 GC 频率 • 修改 GOGC • Make 全局⼤ slice • CPU 使⽤太⾼ • 调度相关的函数使⽤ CPU 过⾼ • 注意 automaxprocs slice,查找时间复杂度增加,但内存使⽤ 降低 • offheap • 邪道:动态调整 GOGC • Goroutine 栈占⽤过多内存 • 减少 goroutine 数量 • 如每个连接⼀读⼀写 -> 合并为⼀个连接⼀个 goroutine • Goroutine pool 限制最⼤ goroutine 数量 • 使⽤裸 epoll 库(evio,gev 等)修改⽹络编程⽅式(只适⽤于对延迟不敏感的业务)
    0 码力 | 40 页 | 8.69 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b2 Golang版

    有「划分」和「合并」两个阶段: 1. 划分阶段:通过递归不断 将数组从中点位置划分开,将长数组的排序问题转化为短数组的排序问题; 2. 合并阶段:划分到子数组长度为 1 时,开始向上合并,不断将 左、右两个短排序数组 合并为 一个长排 序数组,直至合并至原数组时完成排序; 11. 排序算法 hello‑algo.com 180 Figure 11‑8. 归并排序的划分与合并阶段 11.5 1, right] ); 2. 递归执行 1. 步骤,直至子数组区间长度为 1 时,终止递归划分; 「回溯合并」从底至顶地将左子数组和右子数组合并为一个 有序数组; 需要注意,由于从长度为 1 的子数组开始合并,所以 每个子数组都是有序的。因此,合并任务本质是要 将两 个有序子数组合并为一个有序数组。 11. 排序算法 hello‑algo.com 181 Figure 11‑9. 归并排序步骤 后序遍历:先递归左子树、再递归右子树、最后处理根结点。 11. 排序算法 hello‑algo.com 182 ‧ 归并排序:先递归左子树、再递归右子树、最后处理合并。 // === File: merge_sort.go === /* 合并左子数组和右子数组 */ // 左子数组区间 [left, mid] // 右子数组区间 [mid + 1, right] func merge(nums
    0 码力 | 202 页 | 15.73 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b4 Golang版

    Q & A � 数据结构的“堆”与内存管理的“堆”是同一个概念吗? 两者不是同一个概念,只是碰巧都叫堆。计算机系统内存中的堆是动态内存分配的一部分,程 序在运行时可以使用它来存储数据。程序可以请求一定量的堆内存,用于存储如对象和数组 等复杂结构。当这些数据不再需要时,程序需要释放这些内存,以防止内存泄露。相较于栈内 存,堆内存的管理和使用需要更谨慎,不恰当的使用可能会导致内存泄露和野指针等问题。 Merge Sort」基于分治思想实现排序,包含“划分”和“合并”两个阶段: 1. 划分阶段:通过递归不断地将数组从中点处分开,将长数组的排序问题转换为短数组的排序问题。 2. 合并阶段:当子数组长度为 1 时终止划分,开始合并,持续地将左右两个较短的有序数组合并为一个较 长的有序数组,直至结束。 Figure 11‑10. 归并排序的划分与合并阶段 11.6.1. 算法流程 “划分阶段”从顶至底递归地将数组从中点切为两个子数组: right] )。 11. 排序 hello‑algo.com 213 2. 递归执行步骤 1. ,直至子数组区间长度为 1 时,终止递归划分。 “合并阶段”从底至顶地将左子数组和右子数组合并为一个有序数组。需要注意的是,从长度为 1 的子数组开 始合并,合并阶段中的每个子数组都是有序的。 11. 排序 hello‑algo.com 214 Figure 11‑11. 归并排序步骤 观察发现,归
    0 码力 | 347 页 | 27.40 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0b5 Golang版

    Q & A � 数据结构的“堆”与内存管理的“堆”是同一个概念吗? 两者不是同一个概念,只是碰巧都叫堆。计算机系统内存中的堆是动态内存分配的一部分,程 序在运行时可以使用它来存储数据。程序可以请求一定量的堆内存,用于存储如对象和数组 等复杂结构。当这些数据不再需要时,程序需要释放这些内存,以防止内存泄露。相较于栈内 存,堆内存的管理和使用需要更谨慎,不恰当的使用可能会导致内存泄露和野指针等问题。 hello‑algo.com 212 图 10‑6 二分查找重复元素的插入点的步骤 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 // === File: binary_search_insertion.go === /* 二分查找插入点(存在重复元素) sort」是一种基于分治策略的排序算法,包含图 11‑10 所示的“划分”和“合并”阶段。 1. 划分阶段:通过递归不断地将数组从中点处分开,将长数组的排序问题转换为短数组的排序问题。 2. 合并阶段:当子数组长度为 1 时终止划分,开始合并,持续地将左右两个较短的有序数组合并为一个较 长的有序数组,直至结束。 图 11‑10 归并排序的划分与合并阶段 11.6.1 算法流程 如图 11‑11 所示,“
    0 码力 | 379 页 | 30.70 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.1.0 Go版

    & A Q:数据结构的“堆”与内存管理的“堆”是同一个概念吗? 两者不是同一个概念,只是碰巧都叫“堆”。计算机系统内存中的堆是动态内存分配的一部分,程序在运行时 可以使用它来存储数据。程序可以请求一定量的堆内存,用于存储如对象和数组等复杂结构。当这些数据不 第 8 章 堆 hello‑algo.com 188 再需要时,程序需要释放这些内存,以防止内存泄漏。相较于栈内存,堆内存的管理和使用需要更谨慎,使 二分查找重复元素的插入点的步骤 第 10 章 搜索 hello‑algo.com 216 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 // === File: binary_search_insertion.go === /* 二分查找插入点(存在重复元素) sort)是一种基于分治策略的排序算法,包含图 11‑10 所示的“划分”和“合并”阶段。 1. 划分阶段:通过递归不断地将数组从中点处分开,将长数组的排序问题转换为短数组的排序问题。 2. 合并阶段:当子数组长度为 1 时终止划分,开始合并,持续地将左右两个较短的有序数组合并为一个较 长的有序数组,直至结束。 图 11‑10 归并排序的划分与合并阶段 11.6.1 算法流程 如图 11‑11 所示,“
    0 码力 | 383 页 | 18.48 MB | 1 年前
    3
  • pdf文档 Hello 算法 1.0.0 Golang版

    & A Q:数据结构的“堆”与内存管理的“堆”是同一个概念吗? 两者不是同一个概念,只是碰巧都叫“堆”。计算机系统内存中的堆是动态内存分配的一部分,程序在运行时 可以使用它来存储数据。程序可以请求一定量的堆内存,用于存储如对象和数组等复杂结构。当这些数据不 第 8 章 堆 hello‑algo.com 188 再需要时,程序需要释放这些内存,以防止内存泄漏。相较于栈内存,堆内存的管理和使用需要更谨慎,使 hello‑algo.com 217 图 10‑6 二分查找重复元素的插入点的步骤 观察以下代码,判断分支 nums[m] > target 和 nums[m] == target 的操作相同,因此两者可以合并。 即便如此,我们仍然可以将判断条件保持展开,因为其逻辑更加清晰、可读性更好。 // === File: binary_search_insertion.go === /* 二分查找插入点(存在重复元素) sort」是一种基于分治策略的排序算法,包含图 11‑10 所示的“划分”和“合并”阶段。 1. 划分阶段:通过递归不断地将数组从中点处分开,将长数组的排序问题转换为短数组的排序问题。 2. 合并阶段:当子数组长度为 1 时终止划分,开始合并,持续地将左右两个较短的有序数组合并为一个较 长的有序数组,直至结束。 图 11‑10 归并排序的划分与合并阶段 11.6.1 算法流程 如图 11‑11 所示,“
    0 码力 | 382 页 | 17.60 MB | 1 年前
    3
共 53 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
前往
页
相关搜索词
IPC性能极致优化方案RPAL落地实践GolangBaiduFrontEnd应用春华1.5Go语言构建并发分布布式系统分布式分布式系统Hello算法1.00b1概览春晖0b20b40b51.1
IT文库
关于我们 文库协议 联系我们 意见反馈 免责声明
本站文档数据由用户上传或本站整理自互联网,不以营利为目的,供所有人免费下载和学习使用。如侵犯您的权益,请联系我们进行删除。
IT文库 ©1024 - 2025 | 站点地图
Powered By MOREDOC AI v3.3.0-beta.70
  • 关注我们的公众号【刻舟求荐】,给您不一样的精彩
    关注我们的公众号【刻舟求荐】,给您不一样的精彩