junction.git
8 years agoAdd ConcurrentMap_SimpleRelaxed
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/

8 years agoAdd MapLinearizabilityTest
Jeff Preshing [Tue, 16 Feb 2016 02:06:23 +0000 (21:06 -0500)]
Add MapLinearizabilityTest

8 years agoEliminate redundant load in insert constructors
Jeff Preshing [Tue, 16 Feb 2016 01:54:07 +0000 (20:54 -0500)]
Eliminate redundant load in insert constructors

8 years agoCheck that Redirect is not passed to exchange()
Jeff Preshing [Mon, 15 Feb 2016 23:46:26 +0000 (18:46 -0500)]
Check that Redirect is not passed to exchange()

8 years agoRevert unneeded changes to LeapFrog and Grampa
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.

8 years agoFix possible infinite loop
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.

8 years agoImprove ConcurrentMap_Linear scalability
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.

8 years agoFix MSVC warnings with u64 keys
Jeff Preshing [Wed, 10 Feb 2016 13:59:29 +0000 (08:59 -0500)]
Fix MSVC warnings with u64 keys

8 years agoFixes for clang without -std=c++11
Jeff Preshing [Tue, 9 Feb 2016 19:21:01 +0000 (14:21 -0500)]
Fixes for clang without -std=c++11

8 years agoDon't copy CMake scripts to install folder
Jeff Preshing [Tue, 9 Feb 2016 01:18:01 +0000 (20:18 -0500)]
Don't copy CMake scripts to install folder

8 years agoImprove integration steps in README
Jeff Preshing [Tue, 9 Feb 2016 01:08:18 +0000 (20:08 -0500)]
Improve integration steps in README

8 years agoSimplify CMake scripts
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.

8 years agoAdd project description to license
Jeff Preshing [Tue, 9 Feb 2016 00:45:30 +0000 (19:45 -0500)]
Add project description to license

8 years agoRun clang-format
Jeff Preshing [Sat, 6 Feb 2016 17:55:15 +0000 (12:55 -0500)]
Run clang-format

8 years agoMake Junction installable
Jeff Preshing [Sat, 6 Feb 2016 16:51:52 +0000 (11:51 -0500)]
Make Junction installable

8 years agoDelete JunctionProjectDefs.cmake; simplify AddSample.cmake and move it to samples
Jeff Preshing [Sat, 6 Feb 2016 04:37:33 +0000 (23:37 -0500)]
Delete JunctionProjectDefs.cmake; simplify AddSample.cmake and move it to samples

8 years agoAdd libcuckoo to test suite
Jeff Preshing [Tue, 2 Feb 2016 22:15:02 +0000 (17:15 -0500)]
Add libcuckoo to test suite

8 years agoDelete unused junction/Averager.h
Jeff Preshing [Tue, 2 Feb 2016 21:24:53 +0000 (16:24 -0500)]
Delete unused junction/Averager.h

8 years agoMerge pull request #1 from richardkogelnig/patch-1
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

8 years agoFix turf github link
Richard Kogelnig [Mon, 1 Feb 2016 13:59:15 +0000 (14:59 +0100)]
Fix turf github link

8 years agoFix image links in README.md
Jeff Preshing [Mon, 1 Feb 2016 13:13:15 +0000 (08:13 -0500)]
Fix image links in README.md

8 years agoInitial commit
Jeff Preshing [Mon, 1 Feb 2016 13:09:52 +0000 (08:09 -0500)]
Initial commit