Uploaded image for project: 'Clojure'
  1. CLJ-1000

Performance drop in PersistentHashMap.valAt(...) in v.1.4 -- Util.hasheq(...) ?

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Completed
    • Affects versions: Release 1.4
    • Fix versions: Release 1.5
    • Labels:
    • Environment:

      Java(TM) SE Runtime Environment (build 1.7.0_04-b21)
      Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode)

    • Approval:
      Ok
    • Patch:
      Code

      Description

      It seems there is a 30-40% performance degradation of PersistentHashMap.valAt(...) in Clojure 1.4.
      Possibly due to references to new CPU-hungry implementation of Util.hasheq(...).

      I have created a demo project with more details and some profiling information here:
      https://github.com/oshyshko/clj-perf

        Attachments

        1. caching-hasheq-v3.diff
          10 kB
        2. clj_13.png
          136 kB
        3. clj_14.png
          140 kB

          Activity

            People

            • Assignee:
              halgari Timothy Baldridge
              Reporter:
              alex+import import
            • Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: