+ use std::deque instead of std::vector and avoid
  expenssive re-alloc's
+ use std::deque for caching features.