summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Peizhao Ou [Thu, 1 Feb 2018 23:01:52 +0000 (15:01 -0800)]
Adds cmake file for junction test case
Peizhao Ou [Thu, 1 Feb 2018 22:14:19 +0000 (14:14 -0800)]
Refactors test cases
Peizhao Ou [Thu, 1 Feb 2018 22:02:02 +0000 (14:02 -0800)]
Refactors test case
Peizhao Ou [Thu, 1 Feb 2018 21:29:55 +0000 (13:29 -0800)]
Leapfrog uses more frequent GC
Peizhao Ou [Thu, 1 Feb 2018 21:24:52 +0000 (13:24 -0800)]
Adds finer-grain GC
Peizhao Ou [Thu, 1 Feb 2018 20:05:15 +0000 (12:05 -0800)]
Includes all 4 types of junction map in test case
Peizhao Ou [Thu, 1 Feb 2018 19:30:48 +0000 (11:30 -0800)]
Refactors test case driver
Peizhao Ou [Thu, 1 Feb 2018 19:03:54 +0000 (11:03 -0800)]
Adds garbage collection to map test cases
Peizhao Ou [Thu, 1 Feb 2018 00:10:28 +0000 (16:10 -0800)]
Adds cross compile and test cases
Jeff Preshing [Sat, 30 Dec 2017 16:47:20 +0000 (11:47 -0500)]
Update "Rules and Behavior" to mention DefaultQSBR.update()
Jeff Preshing [Sat, 30 Dec 2017 16:33:49 +0000 (11:33 -0500)]
Fix #31: Entries can disappear when deleted key is reassigned during a migration
Bug was in the Mutator classes. In the Mutator constructor: If an existing
cell was found, and that cell's value was Redirect, Mutator::m_value was
assigned to Redirect. The constructor would then loop a second time.
On the second iteration of the loop, if no existing cell was found, a new
cell was inserted, but Mutator::m_value was left set to Redirect. This
left the Mutator in an inconsistent state, so that on the next exchangeValue(),
it thought there was a racing write to the same key (which there wasn't), and
neglected to write the new value.
Fix is to avoid ever setting Mutator::m_value to Redirect.
Jeff Preshing [Thu, 23 Nov 2017 00:57:45 +0000 (19:57 -0500)]
Update README with rules about valid keys & values
Jeff Preshing [Fri, 21 Jul 2017 05:42:33 +0000 (01:42 -0400)]
Merge pull request #28 from zuyu/readme-fix
[README] Updated path for generated Turf config file.
Zuyu Zhang [Thu, 20 Jul 2017 04:13:42 +0000 (23:13 -0500)]
Updated path for generated Turf config file.
Jeff Preshing [Fri, 21 Apr 2017 15:26:46 +0000 (11:26 -0400)]
Mention limitation on value types in the README
Jeff Preshing [Wed, 18 Jan 2017 03:23:35 +0000 (22:23 -0500)]
Fix minor typo in README.md
Jeff Preshing [Tue, 17 Jan 2017 13:19:14 +0000 (08:19 -0500)]
Merge pull request #23 from mdw55189/issue-19
Fixes #19. Add destructor to ConditionBank.
Matt Weiss [Mon, 16 Jan 2017 16:26:10 +0000 (10:26 -0600)]
Fixes #19. Add destructor to ConditionBank.
Added a destructor to the ConditionBank class to deallocate the m_pair array.
Valgrind was used to test the shutdown of samples/MallocTest was clean.
Additional changes were needed in MallocTest to register with and update QSBR
so the table migration would be cleaned up.
Jeff Preshing [Thu, 1 Dec 2016 16:34:18 +0000 (11:34 -0500)]
Update README to explicitly state that functions must be invertible (fix #16)
Jeff Preshing [Thu, 25 Aug 2016 16:47:40 +0000 (12:47 -0400)]
Replace insert with assign to fix issue #15
Jeff Preshing [Wed, 18 May 2016 18:19:40 +0000 (14:19 -0400)]
Fixes for C++98
Jeff Preshing [Mon, 14 Mar 2016 15:53:08 +0000 (11:53 -0400)]
Rename set() to assign()
Will avoid ambiguity when ConcurrentSets are added to Junction, and more
consistent with C++17's insert_or_assign.
Jeff Preshing [Mon, 29 Feb 2016 18:40:25 +0000 (13:40 -0500)]
Add SingleMap_Leapfrog
Jeff Preshing [Mon, 29 Feb 2016 13:59:57 +0000 (08:59 -0500)]
Rename LeapFrog to Leapfrog
Jeff Preshing [Sun, 21 Feb 2016 18:38:01 +0000 (13:38 -0500)]
Rename insert() to set() to avoid confusion with std::map::insert()
std::map::insert() will only store the value if the key doesn't already exist.
junction::ConcurrentMap_xxx::set() stores the value unconditionally.
Jeff Preshing [Thu, 18 Feb 2016 14:01:51 +0000 (09:01 -0500)]
Rename SimpleRelaxed to Crude
Jeff Preshing [Wed, 17 Feb 2016 22:18:33 +0000 (17:18 -0500)]
Add Rules and Behavior section to README
Jeff Preshing [Tue, 16 Feb 2016 21:19:41 +0000 (16:19 -0500)]
Fix compile error in SimpleRelaxed using C++11 atomics
Jeff Preshing [Tue, 16 Feb 2016 20:37:33 +0000 (15:37 -0500)]
MapLinearizabilityTest now uses SimpleRelaxed map by default
Also fix incorrect classification of an IRIW history as non-linearizable
Jeff Preshing [Tue, 16 Feb 2016 14:42:32 +0000 (09:42 -0500)]
Add ConcurrentMap_SimpleRelaxed
Nearly identical to http://preshing.com/
20130605/the-worlds-simplest-lock-free-hash-table/
Jeff Preshing [Tue, 16 Feb 2016 02:06:23 +0000 (21:06 -0500)]
Add MapLinearizabilityTest
Jeff Preshing [Tue, 16 Feb 2016 01:54:07 +0000 (20:54 -0500)]
Eliminate redundant load in insert constructors
Jeff Preshing [Mon, 15 Feb 2016 23:46:26 +0000 (18:46 -0500)]
Check that Redirect is not passed to exchange()
Jeff Preshing [Mon, 15 Feb 2016 20:23:00 +0000 (15:23 -0500)]
Revert unneeded changes to LeapFrog and Grampa
Fix was only needed for Linear.
Jeff Preshing [Thu, 11 Feb 2016 19:27:32 +0000 (14:27 -0500)]
Fix possible infinite loop
If the keys are badly distributed, beginTableMigration's estimatedInUse
may be too low. In extreme cases, exchangeValue could loop infinitely
migrating to the same size. Encountered once while testing
ConcurrentMap_Linear after previous commit.
Fix is to force a doubling on second loop iteration.
Jeff Preshing [Thu, 11 Feb 2016 17:27:24 +0000 (12:27 -0500)]
Improve ConcurrentMap_Linear scalability
Removed shared variable Table::valuesRemaining. Instead, detect and
handle overflows during migration, like ConcurrentMap_LeapFrog.
Added #defines to force migration overflows during testing:
JUNCTION_LINEAR_FORCE_MIGRATION_OVERFLOWS
6 cores runs ~57% faster on Win32.
Jeff Preshing [Wed, 10 Feb 2016 13:59:29 +0000 (08:59 -0500)]
Fix MSVC warnings with u64 keys
Jeff Preshing [Tue, 9 Feb 2016 19:21:01 +0000 (14:21 -0500)]
Fixes for clang without -std=c++11
Jeff Preshing [Tue, 9 Feb 2016 01:18:01 +0000 (20:18 -0500)]
Don't copy CMake scripts to install folder
Jeff Preshing [Tue, 9 Feb 2016 01:08:18 +0000 (20:08 -0500)]
Improve integration steps in README
Jeff Preshing [Tue, 9 Feb 2016 00:46:59 +0000 (19:46 -0500)]
Simplify CMake scripts
Delete FindTurf.cmake as it was more complicated than necessary.
Jeff Preshing [Tue, 9 Feb 2016 00:45:30 +0000 (19:45 -0500)]
Add project description to license
Jeff Preshing [Sat, 6 Feb 2016 17:55:15 +0000 (12:55 -0500)]
Run clang-format
Jeff Preshing [Sat, 6 Feb 2016 16:51:52 +0000 (11:51 -0500)]
Make Junction installable
Jeff Preshing [Sat, 6 Feb 2016 04:37:33 +0000 (23:37 -0500)]
Delete JunctionProjectDefs.cmake; simplify AddSample.cmake and move it to samples
Jeff Preshing [Tue, 2 Feb 2016 22:15:02 +0000 (17:15 -0500)]
Add libcuckoo to test suite
Jeff Preshing [Tue, 2 Feb 2016 21:24:53 +0000 (16:24 -0500)]
Delete unused junction/Averager.h
Jeff Preshing [Mon, 1 Feb 2016 15:33:35 +0000 (10:33 -0500)]
Merge pull request #1 from richardkogelnig/patch-1
Fix turf github link
Richard Kogelnig [Mon, 1 Feb 2016 13:59:15 +0000 (14:59 +0100)]
Fix turf github link
Jeff Preshing [Mon, 1 Feb 2016 13:13:15 +0000 (08:13 -0500)]
Fix image links in README.md
Jeff Preshing [Mon, 1 Feb 2016 13:09:52 +0000 (08:09 -0500)]
Initial commit