scheme 中 list 和 vector 的访问速度
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
原文:http://blog.csdn.net/pandora_madara/article/details/44650413