• 文库
  • 字符
  • 转换
  • 加密
  • 网络
  • 更多
    图表
    数学
    坐标
    图片
    文件
  • 文库
    字符
    转换
    加密
    网络
    更多
    图表
    数学
    坐标
    图片
    文件
logo 在线工具大全
所有 中文 英语 最新 热度
33 条查询结果

我们在进行性能优化的时候,往往会应用各种花式的优化手段:优化算法复杂度(从 O(N) 优化到 O(logN) ),优化锁的粒度或者无锁化,应用各种池化技术:内存池、连接池、线程池、协程池等。压缩技术、预拉取、缓存、批量处理、SIMD,内存对齐等等手段后,其实还有一种手段就是 Profile-Guided Optimization (PGO)。本文会介绍 PGO 的原理,以及 Go/C++ 语言进行 PGO 的实践。

46 技术 lddgo 分享于 2023-10-19

梳理一下C++的知识体系,温故而知新。文章很长,建议收藏。

51 技术 lddgo 分享于 2023-08-29

本文详细回放了一个崩溃案例的分析过程。回顾了C++多态和类内存布局、pc指针与芯片异常处理、内存屏障的相关知识。

77 技术 lddgo 分享于 2023-08-25

最近我们在调查某个 bug 涉及到 C++ 异常。平时较少用 C++ 异常,借此机会把 C++ 异常机制梳理清楚。互联网上现有的资料不多,大多过于深奥。因此写下这篇文档备忘。 C++ 异常的实现机制有 SJLJ、Dwarf CFI、EHABI。具体选择哪种实现和操作系统及体系结构相关。它是 C++ ABI 的一部分。这里我们仅关注 Dwarf CFI,它是 Linux 在 x86_64 和 arm64 上的默认实现。 完整的 C++ 异常机制需要编译器生成的代码、C++ 运行时(libstdc++ 或 libc++)、unwind 库分工协作完成。本文为了描述浅显易懂,并不区分它们三者。

43 技术 lddgo 分享于 2023-07-11

本文从设计原则、创建型模式、结构型模式、行为模式四个方向讲述C++的设计模式。

39 技术 lddgo 分享于 2023-06-19

C/C++二进制库对底层模块开发者和业务接入层开发者来说都是个黑盒,通过这几十行的脚本,让C/C++二进制库在各平台上能够使用默认的IDE快速进行源码调试,有助于提升问题排查效率和打破上下游边界。

46 技术 lddgo 分享于 2023-06-08

Tars 是 Linux 基金会的开源项目 (https://github.com/TarsCloud),它是基于名字服务使用 Tars 协议的高性能 RPC 开发框架,配套一体化的运营管理平台,并通过伸缩调度,实现运维半托管服务。Tars 集可扩展协议编解码、高性能 RPC 通信框架、名字路由与发现、发布监控、日志统计、配置管理等于一体,通过它可以快速用微服务的方式构建自己的稳定可靠的分布式应用,并实现完整有效的服务治理。 Tars 目前支持 C++,Java,PHP,Nodejs,Go 语言,其中 TarsCpp 3.x 全面启用对协程的支持,服务框架全面融合协程。本文基于TarsCpp-v3.0.0版本,讨论了协程在TarsCpp服务框架的实现。

58 技术 lddgo 分享于 2023-04-19

作为一个天然跨平台的产品,腾讯会议从第一行代码开始,团队就坚持同源同构的思想,即同一套架构,同一套代码,服务所有场景。过去一年,腾讯会议,迭代优化了 20000 个功能,稳定支持了数亿用户,其客户端仅上层业务逻辑代码就超 100 万行,经过优化,目前在 Windows 平台上的编译时间最快缩短到 10秒,成为行业 C++ 跨平台项目的标杆。本文将详细介绍背后的优化逻辑,希望给业界同行提供参考。

176 技术 lddgo 分享于 2023-04-07

作者最近尝试写了一些Rust代码,本文主要讲述了对Rust的看法和Rust与C++的一些区别。

39 技术 lddgo 分享于 2023-03-30

本文详细回放了一个崩溃案例的分析过程。回顾了C++多态和类内存布局、pc指针与芯片异常处理、内存屏障的相关知识。

211 技术 lddgo 分享于 2023-03-16