On 3/2/12 10:24 AM, Kevin Cox wrote:
Although if slices are still built-in but act as if they are part of an
interface will that slow them down?  And, if so where is the slowdown?
Is it in the interfaces?

Yes, a traditional interface (in the sense I gather you use it) uses indirection by definition, meaning the user has access to a reference, which points to a table of primitive functions that in turn are implemented by various concrete implementers. The scheme requires dynamic allocation not only of the data, but of the concrete objects managing it as well.

In contrast, a slice is simply a pair: a pointer to the data and the extent of the data. Accessing a slice is as direct as indexing the pointer after a bounds check.


Andrei

Reply via email to