HTML Preparation code:
AخA
 
1
<script src="https://rawgit.com/ramda/ramda/master/dist/ramda.js"></script>
Script Preparation code:
 
var ids = Array.from({ length: 10000 }, (_, index) => index + 1)
var isPositive = i => i % 2 === 0
Tests:
  • Array(map + filter)

     
    ids.map(R.identity).filter(isPositive).map(R.inc)
  • ramda(map + filter)

     
    R.pipe(
      R.map(R.identity),
      R.filter(isPositive),
      R.map(R.inc)
    )(ids)
  • ramda-transducer(map + filter)

    x
     
    const transform = R.pipe(
      R.map(R.identity),
      R.filter(isPositive),
      R.map(R.inc)
    )
    R.transduce(
      transform,
      (acc, item) => { acc.push(item); return acc; },
      [],
      ids,
    );
  • Array(combined map reduce)

     
    ids.reduce((acc, item) => {
      const identity = R.identity(item)
      if (!isPositive(identity)) return acc
      acc.push(R.inc(identity))
      return acc
    }, [])
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Array(map + filter)
    ramda(map + filter)
    ramda-transducer(map + filter)
    Array(combined map reduce)

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 4 years ago)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36
Chrome 87 on Linux
View result in a separate tab
Test name Executions per second
Array(map + filter) 1456.9 Ops/sec
ramda(map + filter) 3168.5 Ops/sec
ramda-transducer(map + filter) 1741.2 Ops/sec
Array(combined map reduce) 201.4 Ops/sec