Did I mention that in this case benchmarking goes over theory?
Have no time to dig into details, that's why in the meantime I trust others ...
see Shift, Pop, Unshift and Push with Impunity!¹
... who give me the impression, that Perl arrays have more optimizations than C-Arrays do.
> How do you think xav_alloc works?
I'm no C-Programmer ... but did I mention that I prefer benchmarking before digging into theory?
Cheers Rolf
( addicted to the Perl Programming Language)
updates
¹) excerpt:
In comparison, a stack implemented with a perl list will only require reallocations as the list grows larger. However, perl is smartly coded because the use of lists as queues was anticipated. Consequently, these queue-type reallocations have a negligible impact on performance. In benchmarked tests, queue access of a list (using repeated push/shift operations) is nearly as fast as stack access to a list (using repeated push/pop operations).
emphasize added! |