Clojure

Incremental hashcode calculation for collections

Details

  • Type: Enhancement Enhancement
  • Status: Open Open
  • Priority: Minor Minor
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
  • Patch:
    Code

Description

Reported by richhickey, Dec 17, 2008
So hachCode can be final, more efficient to calc as you go.
Formerly Google Code Issue 11

Activity

Hide
Assembla Importer added a comment -
Show
Assembla Importer added a comment - Converted from http://www.assembla.com/spaces/clojure/tickets/15
Hide
Christophe Grand added a comment -

Wouldn't the naive approach incur realizing lazy sequences when adding them to a list or a vector or as values in a map?

Show
Christophe Grand added a comment - Wouldn't the naive approach incur realizing lazy sequences when adding them to a list or a vector or as values in a map?
Hide
Christophe Grand added a comment -

The lazy-incremental-hashes.diff introduces lazy incremental hashes based on structural sharing.

Show
Christophe Grand added a comment - The lazy-incremental-hashes.diff introduces lazy incremental hashes based on structural sharing.
Hide
Christophe Grand added a comment -

Why is this identified as Blocker?

Show
Christophe Grand added a comment - Why is this identified as Blocker?
Hide
Christophe Grand added a comment -

setting priority to minor

Show
Christophe Grand added a comment - setting priority to minor
Hide
Andy Fingerhut added a comment -

I've seen this "edit a ticket, it changes to Priority=Blocker" behavior before. I believe some of the older tickets have no Priority field at all, and when you edit any of their properties, it creates the priority field with a default value of Blocker.

Show
Andy Fingerhut added a comment - I've seen this "edit a ticket, it changes to Priority=Blocker" behavior before. I believe some of the older tickets have no Priority field at all, and when you edit any of their properties, it creates the priority field with a default value of Blocker.
Hide
Alex Miller added a comment -

Yes, concur with Andy's explanation on priority change. I just bulk-edited all open CLJ tickets with null priority and set their priority.

Show
Alex Miller added a comment - Yes, concur with Andy's explanation on priority change. I just bulk-edited all open CLJ tickets with null priority and set their priority.
Hide
Andy Fingerhut added a comment -

Patch lazy-incremental-hashes.diff still applies cleanly as of Jan 30 2014 latest Clojure master, but now fails tests due to recent commits involving hash changes. I have not checked how difficult or easy it might be to update the patch to pass tests again.

Show
Andy Fingerhut added a comment - Patch lazy-incremental-hashes.diff still applies cleanly as of Jan 30 2014 latest Clojure master, but now fails tests due to recent commits involving hash changes. I have not checked how difficult or easy it might be to update the patch to pass tests again.
Hide
Andy Fingerhut added a comment -

Patch lazy-incremental-hashes.diff dated Aug 26 2013 no longer applied cleanly to latest master after some commits were made to Clojure on Aug 29, 2014. It did apply cleanly before that day.

I have not checked how easy or difficult it might be to update this patch.

Show
Andy Fingerhut added a comment - Patch lazy-incremental-hashes.diff dated Aug 26 2013 no longer applied cleanly to latest master after some commits were made to Clojure on Aug 29, 2014. It did apply cleanly before that day. I have not checked how easy or difficult it might be to update this patch.

People

Vote (1)
Watch (2)

Dates

  • Created:
    Updated: