Bench - Of - Chan(boc)是一个用于评测语言中队列性能的小项目。从Go语言开始,如今现代的语言大多支持虚拟线程,而线程间的通信通常借助队列实现,所以用这类语言编写的系统有两个基本性能要素。就各语言而言。boc构建了这样一个场景:存在N个(生产者、消费者)组,每组的生产者和消费者分别运行在不同的虚拟线程里。生产者不断生产M个事件,并将这些事件投递到本组专属的队列中,再由消费者进行消费。事件类型包括int和string这两种,其中int通常意味着只需较少的内存分配,而string会有较多的内存分配,并且string还有强制克隆模式,以此来模拟必须进行内存分配的场景。这样的话,boc或许能够从运行时、队列性能、内存分配这三个方面对一种语言的性能进行评测。之前已完成对Go、Rust、Kotlin的评测。它们在不同场景中各有长处,大体处于同一水平。详细报告可参考bench - of - chan。近期,仓颉发布了测试版,我们一同来看看其在此场景中的表现。
测试结果显示,与这些语言相比,仓颉在该场景下性能欠佳,其性能大概仅为其他语言的5%。单就仓颉语言而言,主要具备以下几个特征。
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号