Clojure

Optimize /

Details

  • Type: Enhancement Enhancement
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Declined
  • Affects Version/s: None
  • Fix Version/s: Backlog
  • Component/s: None
  • Labels:
    None

Description

Optimization to / such that the & more version expands to equivalent of (/ x (reduce * y more)) rather than (reduce / (/ x y) more). There should be an inlined variant of & more as well.

This was originally part of CLJ-184, but was pulled out because it's big enough to be its own ticket. The rationale is that multiplies are significantly faster than divides on the JVM, and n-ary calls to / could be faster.

See "Java Multiplication (Much) Faster than Division" for background and Java benchmarks.

Activity

Hide
Alan Dipert added a comment -

We don't want to mess with the semantics of division at the bottom.

Show
Alan Dipert added a comment - We don't want to mess with the semantics of division at the bottom.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: