| I didn't fully grasp the difference between self-reducible collections v.s. 
other ones (in this context, and in general). Can you please delineate?
I think this means that collections which implement CollReduce have an 
implementation of reduce which is faster than just calling first and next on 
them. Transducers will use this implementation when available. This is one of 
the biggest speedup of transducers over seq, which always use first and next to 
iterate. That said, if the collection does not offer a faster CollReduce 
implementation, it will fallback to using first and next, and thus won't be 
faster than sequences.

 | Roughly how much performance lag do we  get when not working a transduction 
from a (self) reducible collection, and moreso why exactly?

I covered why above, but I do not know how much performance lag there is. It 
would depend on the concrete collection and how faster its CollReduce 
implementation is over using first and next. 

 | Should we typically choose a different vehicle for stream processing from 
large files, over using transducers? My current use case is stream-processing 
from large files.

I think as a stream, you won't benefit from CollReduce, but I'm not sure. I 
don't think you can really reduce over the stream faster than first and next. 
That said, you might benefit from loop fusion if your operations can be fused.

Disclaimer: I only vaguely know what I'm talking about, you probably want a 
more expert opinion.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to