Yes, when you use it. The following example has quite some performance 
difference depending on the type chosen:
    
    
    var context: Context = ...
    [...]
    let nodes = context.nodes
    

But without context it's hard to give advice. My guess is that the performance 
difference doesn't matter, and when it does, you should do performance test. 
The best performance is by the way the type that has the fewest indirections:
    
    
    type
      Context*[T] = object
        nodes: seq[Node[T]]
    

but be aware that if you assign Context to another variable, you will create a 
deep copy. So when you want to have a reference stored in another variable, you 
should use the `addr` operator.

Reply via email to