scheme 中 list 和 vector 的访问速度

来源:互联网 发布:空姐圈子乱 知乎 编辑:程序博客网 时间:2024/06/06 21:50


list 类似于 Cpp 中的链表,不支持随机访问,访问时间和 index 成正比

vector 支持


#lang scheme

( define size 10000000 )
( define vec ( make-vector size ) )
( define index ( - size 1 ) )

( time ( for ( [ _ size] )
          ( vector-ref vec 0 ) ) )
( time ( for ( [ _ size ] )
          ( vector-ref vec index ) ) )

cpu time: 609 real time: 606 gc time: 0
cpu time: 577 real time: 626 gc time: 0



( define size1 1000 ) 
( define lst ( make-list size1 0 ) )
( define index1 ( - size1 1 ) )

( time ( for ( [ _ size ] )
          ( list-ref lst 0 ) ) )
( time ( for ( [ _ size ] )
          ( list-ref lst index1 ) ) )

cpu time: 608 real time: 606 gc time: 0
cpu time: 14461 real time: 14518 gc time: 0


1 0
原创粉丝点击