范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

rustwarp比gofasthttp要快数倍

  上周我发现了关于超性能的帖子。它表示 rust tokio/hyper 性能高于 go http。这是意料之中的,但有一条评论与 fasthttp 相比,其中 rust 的表现稍差。
  我决定自己执行基准测试。使用以下命令在 AWS r5n.8xlarge实例上执行所有基准测试:wrk -t16 -c1000 -d120s http://127.0.0.1:8080/
  go/fasthttp 代码:包主导入( "github.com/valyala/fasthttp"  )func fastHTTPHandler(ctx *fasthttp.RequestCtx) {  ctx.Success("application/json", []byte("Welcome!"))  }func main() {  // 将普通函数传递给 fasthttp  fasthttp.ListenAndServe(":8080", fastHTTPHandler)  }
  生锈/扭曲代码:使用扭曲::过滤器; 使用 http::header::{HeaderValue, HeaderName};#[tokio::main]  async fn main() {      let json = HeaderValue::from_static("application/json");      让 server_key = HeaderName::from_static("server");      让服务器 = HeaderValue::from_static("rusthttp");    let routes = warp::any()          .map(|| "Welcome!")          .with(warp::reply::with::header(http::header::CONTENT_TYPE, json))          .with(warp::回复::with::header(server_key, server));    warp::serve(routes)          .run(([127, 0, 0, 1], 8080))          .await;  }
  请注意,需要额外的标头来匹配 fasthttp 实现。
  初始基准测试结果
  去/快速http:请求/秒:1153173.95 传输/秒:146.27MB
  生锈/翘曲:请求/秒:1044974.17 传输/秒:132.54MB
  fasthttp 比 rust 版本高出 10% 左右!
  优化 rust 版本
  很少有已知的技巧可以使 rust 版本更好地工作。让我们一步一步地应用它们,看看我们能走多远。
  启用 LTO
  LTO 是一种链接时优化,可减少生成的二进制大小并提高性能。了解有关 LTO 的更多信息。请求/秒:1099343.12 传输/秒:139.44MB
  与初始版本相比,我们获得了 +5% 的收益。
  使用 Jemalloc
  默认情况下,rust 代码使用 libc 内存分配器,通常不建议将其用于高负载的关键应用程序。有很多替代分配器。根据我的经验,jemalloc 在性能和内存利用率方面是最好的。了解有关使用 jemalloc 的更多信息。请求/秒:1119851.69 传输/秒:142.04MB
  与 LTO 版本相比,我们得到了 +1.8%。
  启用不稳定的管道
  带有wrk的Benchmark是一个非常简单的 HTTP/1 小明文测试。这种基准有一些细节。让我们unstable_pipeline在 warp 实例上启用。请求/秒:1163136.54 传输/秒:147.53MB
  与 LTO+jemalloc 版本相比,我们获得了额外的 +3.8%。
  太好了,在这一步我们已经超越了 fasthttp!
  修复一些 tokio
  让我们检查一下火焰图,看看运行代码是否有明显的无效性。我不会发布它,以免叙述过多。
  引起我注意的特殊功能是wake0 (见这里)。常量 NUM_WAKERS:使用大小 = 32;让 mut wakers: [Option; NUM_WAKERS] = 默认::default();
  该wakers数组是在每个函数调用上创建的,用于收集所有需要通知并实际通知它们的唤醒者。我开始使用这段代码,并意识到减少会NUM_WAKERS提高性能!让我们在这里注意,它是一个数组(不是 vec),它是在堆栈上分配的,所以不会发生分配。性能不足的原因是rust在初始化数组时,会将None值复制到数组的每个槽中。NUM_WAKERS当增加时,这会导致减速。
  让我们尝试使用相对较新的MaybeUnint结构来修复它。我们需要创建一个MaybeUnint::unint().assume_init()包含所有元素的数组MaybeUnint。在这里了解更多。请注意,我们不再需要Option了。请参阅 PR 与实现。请求/秒:1196535.29 传输/秒:151.77MB
  我们获得了额外的 +2.8%,并且以 3.7% 的成绩超过了 go/fasthttp!
  什么做得不好
  我尝试了更多技巧,但没有显示出有意义的影响:在http标头中使用aHash而不是FNV。虽然预计 aHash 的性能会优于 FNV,但实际上我发现性能略有下降。尝试编译,RUSTFLAGS=’-C target-cpu=native’但显示严重退化> 10%减少SystemTime::now()hyper 中的调用次数。Hyper 需要生成Date标头。它使用优化以每秒一次以 RFC 7231 格式呈现日期,但它仍然执行调用以检索每个 HTTP 调用的时间。我可以观察到大约 0.6% 的时间花在__clock_gettime 火焰图上。可能的优化是缓存时间并在每个线程停放在 tokio 中重置一次。有一个未解决的问题。我发现实现起来有点困难,所以我在 hyper 中注释掉了渲染的 Date 重新生成。它没有显示出任何稳定的改善。

10年前,那位非法买入10万比特币成亿万富豪的李笑来,怎样了最早人们进行交易的方式是物物交换,拿着我不需要的东西但你需要的东西,跟你交换你不需要但我需要的东西,随着社会的发展,人们的需求增大,物物交换渐渐变得不方便,在这个时候,货币便出现了三星S21值得买吗?我劝你别买!我劝你别买!我劝你别买!我给到大家的理由有以下几点,大家看一看。理由一三星S21。这款手机的充电速度实在是太慢了,这款手机仅仅支持25瓦的有线快充。充电速度和同等价位的黑莓AIRX5G概念机设计!一加9RT海外配置曝光,全球首发安卓12黑莓AIRX5G概念机今天,为大家带了一款高端大气上档次的黑莓概念机,而这款机型的命名为黑莓AIRX5G。从曝光的视频上看,该机采用了居中挖孔屏侧边指纹以及配备了触控笔,少了黑莓灵寻找十年十倍的产业机遇(六)TWS耳机黄安麟深圳榕树投资从1994年爱立信首次研发出了蓝牙传输技术,到2000年第一款蓝牙耳机面世,再到如今的TWS蓝牙耳机,蓝牙技术已经有超过20年的发展历史,蓝牙的版本也由最初的1。OPPOEncoAir的高颜值,让你的追求你更有活力现在人们的追求越来越多,以前觉得能用就好,后来觉得运行要快,现在对颜值也有了要求,7月27日,OPPO举行线上发布会,发布了新一代OPPOWatch2系列智能手表,与此同时还发布了戴上手表去运动OPPOWatch2守护健康OPPOWatch2作为一款智能手表,其健康监测与运动记录功能十分强大,戴上OPPOWatch2一起去运动,更好的健康管理自己的身体。OPPOWatch2拥有常见智能手表的健康监测裸眼3dled显示屏多少钱本文作者裸眼3Dled显示屏厂家大元智能裸眼3dled显示屏多少钱?裸眼3dled显示屏价格包含了两个方面,一个是屏体,一个是素材。屏体价格需要根据型号而定,素材看展示内容而定。l佳能R5微单与往日单反跨界不同之处佳能跨界专微与单反谁与争锋R5,R6佳能微单已在国内外市场销售了足够多的时间,虽说近期产能和销量已经趋于平缓,但在摄影市场还是属于比较热门的热销机型,那它有什么让人津津乐道,而又,75寸创维全景屏电视75H30即将入市值得期待在大屏电视阵营中,创维旗下多款大屏电视备受关注,特别是75寸以上大屏,更是成为了诸多高端用户的首选。而为了持续满足大家对大屏电视的需求,创维近期又将上市一款75寸大屏,它就是75H机器保姆将问世?马斯克造人形机器人,洗衣做饭比保姆还好使机器人是我们常说的一个名词,但极少能看到类似人的形状的机器人,而且常见的所谓机器人也通常都是只会机械重复某个动作,或者做某种计算的有一定智能程度的机器。不过真正的人工智能化的人形机魅族手机和华为手机哪个好?肯定魅族手机啊,魅族手机的优点很多,综合来说就是很人性化,用着很顺手,这是最大特点,我是从小米转向魅族的!华为手机的一个缺点是我所不能忍受的,就是虚拟的三个主键,占用了屏幕的一部分
比TTRS要贵,能下赛道又不耽误买菜的车奥迪RS5Coupe现实和理想总是不可兼得,买车也一样,如果你想拥有一台性能优异,能秒天秒地,下赛道跑圈,又可以兼顾日常出行使用,似乎有点难找。但今天我们找到它了,能实现你的理想,还能让你活在现实奥迪定义豪华驭梦起航深圳森那美富悦龙华沃尔沃盛大开业深圳车闻2020年10月15日,森那美汽车集团旗下深圳首家沃尔沃授权门店森那美富悦龙华沃尔沃盛大开业。沃尔沃汽车大中华区销售公司副总裁于柯鑫先生沃尔沃汽车大中华区销售公司南大区总监一场豪华级的电动战tron对比特斯拉ModelX传统车企在燃油车领域可以说稳稳的占领了市场,但在新能源领域,传统车企未必能发挥出优势,不少科技公司跨界生产电动车,出来的产品,无论是外观技术都有亮眼的表现。特斯拉是其中的代表之一,百万车主的共同选择,别克君越如何演绎中高级豪华世界有时候很大,每个人都是独立的世界有时候又很小,不相关的人也可能走到一起。比如,在千姿百态的汽车市场中,就有来自天南地北的百万车主选择了一款相同的车别克君越。君代表高品位高档次的吉利星瑞南区挑战赛,最快圈速的竟然是一位二十出头的妹子4月11日,以挑战全地形为主题,见证全能A家轿星瑞全面强大实力的吉利星瑞挑战赛在广东竞速国际赛车场上演最后精彩篇章,历经层层选拔成功晋级总决赛的四支星战队在华南地区50家媒体的现场自动洗碗机与手洗的比较优势通常,自动洗碗机含有自动除渣,自动清洁,自动喷淋漂洗,自动烘干等功能,清洁烘干后的餐具可直接使用。随着中国消费结构的升级,洗碗机已成为家电行业的增长率较快。自动洗碗机科学洗涤餐具,全自动洗碗机是否值得购买?随着时代的进步,人类发明了许多产品以满足人类的需求,洗碗机解决了人类的需求。在家庭中,洗碗机释放了女性的手,不用为了谁去洗碗而争吵。在酒店餐厅,洗碗机符合老板各种各样的需求,不需用自动洗碗机值得使用吗?随着时代的进步,人类发明了许多满足人类需求的产品,例如洗碗机解决了洗碗人的需求。在家庭中,洗碗机释放女性的手,无需为谁洗碗争吵。在酒店,餐厅,洗碗机符合老板的各种需求,无需使用许多餐具消毒流水线洗碗机流水线洗碗机可以将水加热至70C,使用高压水泵并通过高温水柱360度冲洗餐具表面,而油和残留物在快速洗涤剂和热水的双重效果下迅速分解脱落。洗碗机不像人工清洁餐具的餐具仍有有害细菌残商用自动洗碗机的特性商用洗碗机是指商业用途的洗碗机,适用于酒店,连锁餐厅,自助餐厅,学校食堂,餐具消毒公司等,火车等。它主要具有以下优点高效率。商用洗碗机可以清洁大量餐具,节省了大量的人工,低清洁成本使用商用自动洗碗机的好处自动洗碗机的优点是可以控制清洁效果,并且在清洁时间增加时清洁效果更佳。通过符合健康标准的机器,餐饮公司不需要在后厨添加人员,只要有人可以控制机器并根据机器提示操作即可,轻松完成8小