Uploaded image for project: 'core.cache'
  1. CCACHE-24

Numerous Reflective Calls in core.cache

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Completed
    • Labels:
      None
    • Environment:

      core.cache 0.6.1, Clojure 1.3

      Description

      When I run lein check on my code, core.cache is a source of many reflective calls. Fortunately they don't seem to account for much time in my own profiling. But given that the purpose of a cache is to provide access to time-critical things, and the library can't easily anticipate the usage patterns of its users, it would be nice if we could remove these reflective calls, particularly where there does not appear to be any restriction to the use of the cache by doing so (that is, most of these appear to be from Java interop calls that are entirely inside the implementation of the caches).

      Here's the output from lein check listing the reflective call sites:

      Reflection warning, clojure/core/cache.clj:87 - reference to field iterator can't be resolved.
      Reflection warning, clojure/core/cache.clj:87 - call to equiv can't be resolved.
      Reflection warning, clojure/core/cache.clj:107 - reference to field iterator can't be resolved.
      Reflection warning, clojure/core/cache.clj:107 - call to equiv can't be resolved.
      Reflection warning, clojure/core/cache.clj:149 - reference to field iterator can't be resolved.
      Reflection warning, clojure/core/cache.clj:149 - call to equiv can't be resolved.
      Reflection warning, clojure/core/cache.clj:187 - reference to field iterator can't be resolved.
      Reflection warning, clojure/core/cache.clj:187 - call to equiv can't be resolved.
      Reflection warning, clojure/core/cache.clj:241 - reference to field iterator can't be resolved.
      Reflection warning, clojure/core/cache.clj:241 - call to equiv can't be resolved.
      Reflection warning, clojure/core/cache.clj:273 - reference to field iterator can't be resolved.
      Reflection warning, clojure/core/cache.clj:273 - call to equiv can't be resolved.
      Reflection warning, clojure/core/cache.clj:398 - reference to field iterator can't be resolved.
      Reflection warning, clojure/core/cache.clj:398 - call to equiv can't be resolved.
      Reflection warning, clojure/core/cache.clj:471 - reference to field poll can't be resolved.
      Reflection warning, clojure/core/cache.clj:473 - call to remove can't be resolved.
      Reflection warning, clojure/core/cache.clj:474 - call to remove can't be resolved.
      Reflection warning, clojure/core/cache.clj:475 - reference to field poll can't be resolved.
      Reflection warning, clojure/core/cache.clj:482 - reference to field iterator can't be resolved.
      Reflection warning, clojure/core/cache.clj:482 - call to equiv can't be resolved.
      Reflection warning, clojure/core/cache.clj:486 - reference to field get can't be resolved.
      Reflection warning, clojure/core/cache.clj:488 - reference to field get can't be resolved.
      Reflection warning, clojure/core/cache.clj:491 - reference to field get can't be resolved.
      Reflection warning, clojure/core/cache.clj:500 - reference to field get can't be resolved.
      Reflection warning, clojure/core/cache.clj:507 - call to put can't be resolved.
      Reflection warning, clojure/core/cache.clj:508 - call to put can't be resolved.
      Reflection warning, clojure/core/cache.clj:515 - call to remove can't be resolved.
      Reflection warning, clojure/core/cache.clj:516 - call to remove can't be resolved.
      Reflection warning, clojure/core/cache.clj:528 - reference to field get can't be resolved.
      Reflection warning, clojure/core/cache.clj:528 - reference to field get can't be resolved.
      Reflection warning, clojure/core/cache.clj:562 - reference to field q can't be resolved.

        Attachments

          Activity

            People

            • Assignee:
              fogus Fogus
              Reporter:
              santiago David Santiago
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: