IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:高性能

共 6 篇相关文章

IT 累计浏览 2,502

Go 语言简介(下)— 特性

这篇讲的是Go语言的核心并发特性。作者从通勤时间的利用切入,用一系列简洁的代码示例,带你快速上手Go中并发编程的四大金刚:goroutine、原子操作、Channel以及它们的安全性问题。 文章首先展示了如何用`go`关键字轻松启动goroutine,就像给函数调用加了“并发”开关。但真正的并发需要配置`runtime.GOMAXPROCS`。作者特意用一个经典的“卖票程序”作为例子,直观地演示了当多个goroutine同时修改全局变量时,若无保护,票数竟会变成负数。随后,他引出了解决并发数据竞争的两种核心武器:使用`sync.Mutex`互斥锁进行显式加锁,以及对于简单计数器使用`sync/atomic`包进行无锁的原子操作,后者通过一个期望结果为200的累加实验说明了其效率与正确性。 最后,文章聚焦于Go的通信哲学核心——Channel。通过示例代码,清晰地讲解了Channel如何充当goroutine间安全的通信管道,包括如何设置缓冲区大小,以及利用其默认的阻塞特性来协调收发双方的节奏,避免了直接共享内存带来的复杂锁问题。整篇文章用最简短的上下班时间,帮你建立起对Go并发模型从基础到实践的关键认知。

IT 累计浏览 4,521

为什么我们要使用Go语言以及如何使用它的

这篇讲的是SoundCloud团队为何在多种编程语言并行的后端架构中,选择引入Go语言,以及他们基于1.0版本Go的具体实践经验。 作者从公司已有的技术栈(最外层是Ruby on Rails)出发,坦诚了后端语言混杂的现状。核心观点是,Go语言为解决特定场景下的问题——比如性能敏感、需要高并发处理的服务——提供了一个清晰而有力的选项。文章没有停留在语言特性的泛泛对比,而是结合SoundCloud自身的业务需求,分享了Go在实际项目中的应用思路,包括如何集成到现有系统、其编译型语言带来的部署便利性,以及在处理并发任务时的天然优势。 对于同样面临多语言架构管理复杂度、或寻找特定后端模块优化方案的技术团队而言,这篇结合了一线公司选型思考与实践的分享,提供了相当具体的参考。

IT 累计浏览 2,480

高性能EL――Fel探秘,兼谈EL

这篇讲的是最近在技术社区引起关注的高性能EL实现——Fel,作者从其性能数据切入,展示了这个由网友lotusyu开发的表达式引擎在效率上的突出表现。文章指出,Fel的性能与此前温少开源的Simple EL有得一比,两者都在追求极高的运算速度。 作者进一步探讨了这一现象背后的意义,认为这类项目的涌现标志着国内开源生态的活跃与开发者水平的提升。文中还将视野拓宽,提及了另一个值得关注的轻量级MQ项目fqueue,并关联到作者此前的分析文章,暗示了当前开源领域在基础组件创新上的多样开花。 整体来看,文章不仅对Fel本身做了技术层面的初步探秘,将其与同类方案进行了直观的性能对标,还借此观察了国产开源项目的成长趋势,为关注高性能基础库和表达式引擎的开发者提供了有价值的参考线索。

IT 累计浏览 3,121

高性能EL――Fel探秘,兼谈EL

这篇讲的是对国产开源EL表达式引擎Fel的性能评测与介绍。文章从Fel近期的热度切入,提到其开发者lotusyu公开的性能数据,展示了它作为高性能EL的实力,并将其与此前温少开源的Simple EL进行了对比,认为二者性能“有的一拼”。作者并未止于单纯比较,而是借此引申出一个更令人振奋的观察:以Fel、fqueue(一个类似Kestrel的轻量级MQ)等项目为代表,国内开源项目的质量与开发者的水平正在稳步提升。 除了性能探讨,文章还顺带推荐了fqueue项目,并指向了作者此前的相关分析文章,为关心分布式中间件的读者提供了延伸阅读的线索。整体来看,这不仅是一篇技术工具介绍,更带着一份对国内技术社区蓬勃发展的欣喜与肯定。

IT 累计浏览 3,383

NoSQL数据库:MongoDB初探

这篇讲的是NoSQL数据库中的明星选手MongoDB。文章从NoSQL的兴起背景出发,聚焦于MongoDB这款文档型数据库,解释了它为何能在众多选项中脱颖而出。作者核心阐述了MongoDB无模式(Schema-free)的文档模型——用灵活的JSON-like BSON格式存储数据,这带来了传统关系型数据库无法比拟的开发敏捷性和数据结构的演进自由度。同时,文章也提到了其关键特性,比如支持丰富的索引以优化查询、副本集实现高可用、以及分片机制来应对水平扩展的挑战。对于初学者而言,这清晰地勾勒出MongoDB适用的场景:数据结构变化快、需要快速迭代、以及海量数据存储的互联网应用。结尾部分则自然引申到技术选型的思考,即如何根据具体业务需求,在关系型与NoSQL之间做出权衡。

IT 累计浏览 5,662

nginx模块开发

这篇讲的是作者从零开始,完成自己第一个Nginx模块的实践记录。作者在实际工作中遇到了需要定制Nginx功能的需求,于是着手学习模块开发。他从梳理Nginx模块的代码结构与编译机制入手,阅读官方文档与核心源码,最终将一个基础的计数器模块从构想变为现实。 文章没有停留在理论,而是重点分享了“如何让代码跑起来”的关键步骤:如何配置编译参数、如何定义模块的配置项和处理函数、如何在模块中与Nginx的内存池和事件模型交互。这些细节是新手最容易卡壳的地方。 Nginx的高性能背后是一套严谨而独特的C语言框架,其模块开发并非简单调用API。作者通过这个最小化的实践,揭示了编写Nginx模块的核心思路——遵循其特定的数据结构与生命周期,将功能逻辑“嵌入”到请求处理的流程中。这个从无到有的过程,为理解Nginx内部工作原理和后续进行更复杂的开发打下了切实的基础。