Looks nice, although I still need to wrap my head arround it.

I don't believe in micro-benchmarks but I did one anyways cause I was 
curious how transduce would stack up against reduce (not reducers).

https://github.com/thheller/transduce-bench

transduce

Evaluation count : 2220 in 60 samples of 37 calls.
      Execution time sample mean : 27,461565 ms
             Execution time mean : 27,462916 ms
Execution time sample std-deviation : 132,937808 µs
    Execution time std-deviation : 136,285505 µs
   Execution time lower quantile : 27,263592 ms ( 2,5%)
   Execution time upper quantile : 27,792904 ms (97,5%)
                   Overhead used : 2,409871 ns

Found 2 outliers in 60 samples (3,3333 %)
    low-severe   2 (3,3333 %)
 Variance from outliers : 1,6389 % Variance is slightly inflated by outliers

reduce

Evaluation count : 1140 in 60 samples of 19 calls.
      Execution time sample mean : 53,925331 ms
             Execution time mean : 53,928024 ms
Execution time sample std-deviation : 293,048053 µs
    Execution time std-deviation : 295,900746 µs
   Execution time lower quantile : 53,477577 ms ( 2,5%)
   Execution time upper quantile : 54,526940 ms (97,5%)
                   Overhead used : 2,409871 ns

Found 1 outliers in 60 samples (1,6667 %)
    low-severe   1 (1,6667 %)
 Variance from outliers : 1,6389 % Variance is slightly inflated by outliers

Seems worth it even for this use-case but there are far more interesting 
things to do. Will keep playing with it for sure.

Cheers,
/thomas

On Wednesday, August 6, 2014 8:01:24 PM UTC+2, Rich Hickey wrote:
>
> I pushed today the initial work on transducers. I describe transducers 
> briefly in this blog post: 
>
> http://blog.cognitect.com/blog/2014/8/6/transducers-are-coming 
>
> This work builds on the work done for reducers, bringing 
> context-independent mapping, filtering etc to other areas, such as 
> core.async. 
>
> This is work in progress. We will be cutting alpha releases to help make 
> it easier to start using core's transducers together with core.async's new 
> support for them. 
>
> I am very excited about this powerful technique and how we all might use 
> it. 
>
> Please have a look. 
>
> Feedback welcome, 
>
> Rich 
>
>

-- 
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