2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Ruby 的 Net::HTTP 怎么了?

  • 2008-11-17
  • 本文字数:457 字

    阅读完需:约 1 分钟

有人可能会问:“Ruby 对 Net:HTTP 的实现出什么问题了”?Adam Nelson 对应用传输大量数据时的表现感到很吃惊。“当数据以 1024 字节块的大小被传输时,我看到了 CPU 的红线”,这是 Adam 在其初次分析时所发现的。实际的问题是“Ruby 针对每个单独的rbuf_fill 调用都设置一个超时”, Alex Young 说到,“那么在默认情况下,每接收到 1K 数据,就必须产生一个新的线程”。

针对Ruby 不同的实现和不同的库所进行的一个比较表明Ruby 1.8.6 对CPU 的占有率竟然达到了1.8.7 版的两倍,显然后者使用了更大的缓存(16K)。有趣的是,Ruby 1.9.0 对CPU 的占有率最低,其实现采用了 readpartial :“不对 socket 读取设置超时”,同时“提前为每次读取分配字符串缓存”。紧追其后的是 RFuzz ,这是一个纯粹的 Ruby 实现,基于 Zed Shaw 所编写的 Mongrel 内核。

该问题早就有人提出来了,2006 年的一个关于ruby-talk 的邮件列表中就有人在讨论该问题,同时提出了该问题的解决方案。此外,这也证明开源对于我们的帮助和价值是多么大啊。

查看英文原文: What Is Wrong With Ruby’s Net::HTTP?

2008-11-17 09:461070
用户头像

发布了 88 篇内容, 共 273.2 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

深入解析C++的auto自动类型推导

爱分享

C++11 C++20 C++ C++自动类型推导 C++ auto

const 使用总结

爱分享

c++ 性能优化 代码规范 C++11 const

Pirf-394

Echo!!!

English

2024年3月文章一览

codists

codists

实用技巧:排查数据异常/数据波动问题,该如何下手?

feng

大数据 分布式 后端

嵌入式工程师需要掌握哪些技术?

芯动大师

嵌入式开发

C++ 引用和指针:内存地址、创建方法及应用解析

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

《深入浅出计算机网络》PDF

程序员李木子

✅实现百万级数据从Excel导入到数据库的方式

派大星

数据导入 Java 面试题 互联网大厂面试 百万数据

OpenHarmony 4.1 Release版本正式发布,邀您体验

OpenHarmony开发者

Open Harmony

华大北斗芯片再登纽伦堡国际嵌入式展EW2024

江湖老铁

在直播间卖云,云厂商终于“疯了”

自象限

程序员精选常用ChatGPT提示词合集

蓉蓉

openai ChatGPT GPT-4

实况窗助力美团打造鸿蒙原生外卖新体验,用户可实时掌握外卖进展

HarmonyOS开发者

HarmonyOS

从人力外包到测试工具与平台:打造完整的测试解决方案

霍格沃兹测试开发学社

哔哩哔哩游戏宣布《碧蓝航线》将启动鸿蒙原生应用开发

最新动态

20个Python 正则表达式应用与技巧

华为云开发者联盟

Python 开发 华为云 华为云开发者联盟 企业号2024年4月PK榜

基于香橙派AIpro将开源框架模型转换为昇腾模型

华为云开发者联盟

华为云 昇腾 华为云开发者联盟 企业号2024年4月PK榜 香橙派AIpro

Doodle Jump — 使用Flutter&Flame开发游戏真不错!

编程的平行世界

flutter android AI 算法 游戏开发

Ruby的Net::HTTP怎么了?_Ruby_Mirko Stocker_InfoQ精选文章