khizmax [Thu, 30 Apr 2015 18:23:12 +0000 (21:23 +0300)]
TSan exam: fixed intrusive stack test
khizmax [Wed, 29 Apr 2015 20:30:19 +0000 (23:30 +0300)]
TSan exam: fixed flat combining data race; eliminated false positive warnings
khizmax [Wed, 29 Apr 2015 19:07:04 +0000 (22:07 +0300)]
TSan exam: fixed data race and the incorrect use of back-off strategy
khizmax [Tue, 28 Apr 2015 21:12:17 +0000 (00:12 +0300)]
Fixed TSan warnings in SplitList
khizmax [Mon, 27 Apr 2015 20:32:36 +0000 (23:32 +0300)]
Merge branch 'integration' into dev
khizmax [Mon, 27 Apr 2015 20:23:32 +0000 (23:23 +0300)]
Merge branch 'integration' into dev
Conflicts:
cds/intrusive/split_list.h
cds/intrusive/split_list_nogc.h
cds/intrusive/split_list_rcu.h
khizmax [Mon, 27 Apr 2015 20:17:52 +0000 (23:17 +0300)]
Fixed split-list inc_item_count()
Max Khizhinsky [Mon, 27 Apr 2015 20:13:37 +0000 (23:13 +0300)]
Merge pull request #30 from krinkinmu/fix-typo
Fix typos, no functional changes
Max Khizhinsky [Mon, 27 Apr 2015 20:12:46 +0000 (23:12 +0300)]
Merge pull request #29 from krinkinmu/rational-resizing-policy
Rational resizing policy
Mike Krinkin [Sun, 26 Apr 2015 17:31:36 +0000 (20:31 +0300)]
Fix typos, no functional changes
Mike Krinkin [Sun, 26 Apr 2015 07:27:25 +0000 (10:27 +0300)]
Add tests for rational load factor resizing policy
This patch adds tests for striped and refinable sets with rational
load factor resizing policy. Set adapters expect denominator of
rational load factor, so test output (LoadFactor=i) can be a bit
misleading, for all tests with the 'rational' in the name it means
LoadFactor=1/i.
Mike Krinkin [Sun, 26 Apr 2015 07:27:01 +0000 (10:27 +0300)]
Add rational load factor resizing policy
Add separate rational load factor resizing policy so that users
don't need to pay for additional multiplication if they don't need
it. The rational load factor resizing allows to exchange memory for
a bit of performance (about 5-10 %).
khizmax [Fri, 24 Apr 2015 19:57:13 +0000 (22:57 +0300)]
Fixed max bucket count error in SplitList
Conflicts:
cds/intrusive/split_list.h
khizmax [Fri, 24 Apr 2015 19:24:06 +0000 (22:24 +0300)]
Fixed min/max macro problem in MS VC++
khizmax [Fri, 24 Apr 2015 19:57:13 +0000 (22:57 +0300)]
Fixed max bucket count error in SplitList
khizmax [Fri, 24 Apr 2015 19:24:06 +0000 (22:24 +0300)]
Fixed min/max macro problem in MS VC++
khizmax [Fri, 24 Apr 2015 08:36:04 +0000 (11:36 +0300)]
changelog
khizmax [Thu, 23 Apr 2015 19:31:58 +0000 (22:31 +0300)]
GCC 5 compatibility: std::list::size() O(1) complexity
khizmax [Wed, 22 Apr 2015 20:12:06 +0000 (23:12 +0300)]
Fixed data races found by tsan
khizmax [Sun, 19 Apr 2015 17:48:04 +0000 (20:48 +0300)]
Added CMakeList patching for distributive script
khizmax [Sun, 19 Apr 2015 17:35:42 +0000 (20:35 +0300)]
Merge branch 'integration' into dev
khizmax [Sun, 19 Apr 2015 17:32:56 +0000 (20:32 +0300)]
Fixed memor orderding (tsan)
Max Khizhinsky [Sun, 19 Apr 2015 17:26:48 +0000 (20:26 +0300)]
Merge pull request #28 from Rapotkinnik/upstream
CMake bulid system
Max Khizhinsky [Sun, 19 Apr 2015 17:24:13 +0000 (20:24 +0300)]
Merge pull request #27 from krinkinmu/fastpath-opt
Optimize SplitList inc_item_count method fastpath
Eugeny Kalishenko [Sun, 19 Apr 2015 10:28:12 +0000 (13:28 +0300)]
CMake build system introduced (issue #9)
Eugeny Kalishenko [Sat, 4 Apr 2015 23:03:40 +0000 (02:03 +0300)]
Building only library with cmake
Mike Krinkin [Thu, 16 Apr 2015 21:52:41 +0000 (00:52 +0300)]
Relax memory order constraints.
Mike Krinkin [Thu, 16 Apr 2015 21:44:07 +0000 (00:44 +0300)]
Optimize fast path in inc_item_count.
Mike Krinkin [Thu, 16 Apr 2015 14:22:48 +0000 (17:22 +0300)]
Cast constant to size_t before left shift
Mike Krinkin [Thu, 16 Apr 2015 14:20:49 +0000 (17:20 +0300)]
Fix spelling and spaces.
khizmax [Fri, 17 Apr 2015 06:44:02 +0000 (09:44 +0300)]
Fixed memory ordering (BronsonAVLTreeMap, tsan)
khizmax [Thu, 16 Apr 2015 18:37:08 +0000 (21:37 +0300)]
Added missing header
khizmax [Wed, 15 Apr 2015 20:35:21 +0000 (23:35 +0300)]
Relaxed memory order in SplitList
khizmax [Tue, 14 Apr 2015 18:47:53 +0000 (21:47 +0300)]
BronsonAVLTree: removed unused code
khizmax [Tue, 14 Apr 2015 15:04:27 +0000 (18:04 +0300)]
On integration: Added more stats to Bronson's tree
khizmax [Tue, 14 Apr 2015 15:04:26 +0000 (18:04 +0300)]
index on integration:
f6e850d Merge branch 'integration' into dev
khizmax [Sun, 12 Apr 2015 19:53:16 +0000 (22:53 +0300)]
Merge branch 'integration' into dev
Max Khizhinsky [Sun, 12 Apr 2015 19:30:11 +0000 (22:30 +0300)]
Merge pull request #26 from krinkinmu/build-script-wip
Fix bug in build script and support -D option.
khizmax [Sat, 11 Apr 2015 18:28:20 +0000 (21:28 +0300)]
Fixed do typo
khizmax [Sat, 11 Apr 2015 18:27:55 +0000 (21:27 +0300)]
Issue #23: replaced std::random_shuffle with std::random
Mike Krinkin [Fri, 10 Apr 2015 20:22:13 +0000 (23:22 +0300)]
Implement -D option.
The buildscript help says that it has support of the -D option,
while it actually hasn't. This patch add support of the -D option.
Mike Krinkin [Fri, 10 Apr 2015 20:19:24 +0000 (23:19 +0300)]
Change single quotes to double quotes.
Bash doesn't expand variables inside single quotes, so double
quotes are required here actually.
khizmax [Thu, 9 Apr 2015 20:18:24 +0000 (23:18 +0300)]
Issue #23: removed std::random_shuffle from tests
khizmax [Thu, 9 Apr 2015 19:19:35 +0000 (22:19 +0300)]
Issue #23: removed std::random_shuffle from tests
khizmax [Thu, 9 Apr 2015 17:47:04 +0000 (20:47 +0300)]
Issue #23: Added std::random_device to TestCase class
khizmax [Tue, 7 Apr 2015 15:04:09 +0000 (18:04 +0300)]
Changed map_delodd test
khizmax [Tue, 7 Apr 2015 13:57:49 +0000 (16:57 +0300)]
aligned allocator is raised std::bad_alloc when no memory
khizmax [Tue, 7 Apr 2015 12:58:12 +0000 (15:58 +0300)]
Reorganized map2 unit test to reduce compiling time and memory
khizmax [Mon, 6 Apr 2015 16:56:19 +0000 (19:56 +0300)]
set2 unit test: fixed GCC incompatibility
khizmax [Mon, 6 Apr 2015 16:18:09 +0000 (19:18 +0300)]
Fixed missing memory order
khizmax [Mon, 6 Apr 2015 15:29:49 +0000 (18:29 +0300)]
Split up set2 unit test to reduce compiling time and memory
khizmax [Mon, 6 Apr 2015 09:49:44 +0000 (12:49 +0300)]
Win projects: disabled some noise warnings
khizmax [Sun, 5 Apr 2015 20:24:18 +0000 (23:24 +0300)]
Win projects: disabled some noise warnings
khizmax [Sun, 5 Apr 2015 10:18:39 +0000 (13:18 +0300)]
Win projects: disabled some noise warnings
khizmax [Sun, 5 Apr 2015 09:49:51 +0000 (12:49 +0300)]
Improved map unit test
khizmax [Sun, 5 Apr 2015 09:49:18 +0000 (12:49 +0300)]
BronsonAVLTreeMap: removed recursion
khizmax [Sun, 5 Apr 2015 08:25:52 +0000 (11:25 +0300)]
Win projects: disabled some noise warnings
khizmax [Sat, 4 Apr 2015 20:10:47 +0000 (23:10 +0300)]
Win projects: disabled some noise warnings
khizmax [Sat, 4 Apr 2015 14:44:59 +0000 (17:44 +0300)]
Split Win unit-test projects to reduce compiling time
khizmax [Sat, 4 Apr 2015 13:46:47 +0000 (16:46 +0300)]
BronsonAVLTreeMap: fixed update() bug
khizmax [Sat, 4 Apr 2015 10:17:20 +0000 (13:17 +0300)]
BronsonAVLTreeMap: fixed remove algorithm
khizmax [Sat, 4 Apr 2015 10:03:00 +0000 (13:03 +0300)]
BronsonAVLTreeMap: fixed memory ordering
khizmax [Fri, 3 Apr 2015 15:52:01 +0000 (18:52 +0300)]
Fixed BronsonAVLTree insert/update bug (incomplete)
khizmax [Fri, 3 Apr 2015 13:04:34 +0000 (16:04 +0300)]
Merge branch 'integration' into dev
Max Khizhinsky [Fri, 3 Apr 2015 06:46:57 +0000 (09:46 +0300)]
Merge pull request #25 from krinkinmu/header-deps-wip
Add header file dependencies to build script.
Mike Krinkin [Thu, 2 Apr 2015 21:22:46 +0000 (00:22 +0300)]
Add header file dependencies to build script.
After changing header files there are two options to rebuild
library:
- rebuild library from scratch (using --clean flag)
- manually delete affected object files and rebuild them.
This patch adds dependencies on header files to Makefile, for this
puporse option -MMD is used. The patch is tested with gcc and clang
compilers.
khizmax [Thu, 2 Apr 2015 19:56:54 +0000 (22:56 +0300)]
Removed trailing spaces
khizmax [Thu, 2 Apr 2015 19:52:05 +0000 (22:52 +0300)]
Fixed docs
khizmax [Thu, 2 Apr 2015 19:22:52 +0000 (22:22 +0300)]
BronsonAVLTreeMap: minor changes
khizmax [Tue, 31 Mar 2015 10:29:23 +0000 (13:29 +0300)]
Fixed error in BronsonAVLTreeMap::find()
Loops refactored
khizmax [Mon, 30 Mar 2015 19:01:45 +0000 (22:01 +0300)]
Added MichaelMap based on unordered LazyList<nogc> to map unit tests
khizmax [Mon, 30 Mar 2015 15:48:17 +0000 (18:48 +0300)]
Removed test-hdr/unordered_list dir
Fixed build script
khizmax [Mon, 30 Mar 2015 15:38:06 +0000 (18:38 +0300)]
Renamed test-hdr/ordered_list dir to test-hdr/list, added unordered LazyList<nogc> tests
khizmax [Mon, 30 Mar 2015 13:30:28 +0000 (16:30 +0300)]
Refactored LazyList<nogc> with ordering option
khizmax [Mon, 30 Mar 2015 11:38:59 +0000 (14:38 +0300)]
Merge branch 'integration' into dev
Max Khizhinsky [Mon, 30 Mar 2015 11:34:35 +0000 (14:34 +0300)]
Merge pull request #24 from krinkinmu/unordered-list-wip
Unordered nogc lazy list implementation.
khizmax [Sun, 29 Mar 2015 14:00:42 +0000 (17:00 +0300)]
Removed unused parameter
khizmax [Sun, 29 Mar 2015 07:50:05 +0000 (10:50 +0300)]
Added more statistics, improved memory ordering
Mike Krinkin [Sat, 28 Mar 2015 13:14:51 +0000 (16:14 +0300)]
Add michael set test with unordered lazy list.
Mike Krinkin [Sat, 28 Mar 2015 13:14:16 +0000 (16:14 +0300)]
Add michael map test with unordered lazy list.
Mike Krinkin [Sat, 28 Mar 2015 12:07:20 +0000 (15:07 +0300)]
Add find_with tests for nonintrusive and k/v lists.
It is just a fixed version of tests for ordered nonintrusive and
key/value lists.
Mike Krinkin [Sat, 28 Mar 2015 12:03:04 +0000 (15:03 +0300)]
Implement find_with in nonintrusive and k/v lists.
Implementation is pretty straightforward.
Mike Krinkin [Sat, 28 Mar 2015 11:43:12 +0000 (14:43 +0300)]
Add find_with calls to intrusive lazy list test.
Similar to ordered intrusive lazy list tests.
Mike Krinkin [Sat, 28 Mar 2015 11:38:07 +0000 (14:38 +0300)]
Add find_with to unordered intrusive list.
Ordered intrusive lazy list has find_with method, that allows to
lookup items using custom less-like functor, find_with for
unordered is similar, but it uses equal_to-like functor.
Mike Krinkin [Sat, 28 Mar 2015 10:04:02 +0000 (13:04 +0300)]
Add tests for unordered nonintrusive and kv lists.
These tests just rewritten version of similar test for ordered
nonintrusive and key-value lists.
Mike Krinkin [Sat, 28 Mar 2015 10:02:13 +0000 (13:02 +0300)]
Support sort option in nonintrusive and kv lists.
Nonintrusive lazy list and key-value list use intrusive lazy list
as backend, so implementation is pretty simple.
Mike Krinkin [Sat, 28 Mar 2015 09:59:09 +0000 (12:59 +0300)]
Add header tests for unordered intrusive list.
This tests just a fixed version of header tests for ordered lazy
list.
Mike Krinkin [Sat, 28 Mar 2015 09:53:52 +0000 (12:53 +0300)]
Implement unordered intrusive lazy list.
Add implementation of unordered policy for intrusive lazy list.
Implementation uses tratis::sort bool flag and std::enable_if
to choose appropriate ordered/unordered implementation of search
and equal functions.
Also this fix disables find_with function for unordered list for
simplicity. find_with is a part of public interface, so providing
alternative implementation with same name and different semantic
is arguable.
Mike Krinkin [Sat, 28 Mar 2015 06:58:27 +0000 (09:58 +0300)]
Derive equal_to from compare/less functors.
For unordered lists it is possible to derive equal_to from compare
or less functors. This patch fixes make_equal_to so that it
returns equal_to if it is specified, else if compare is specified
it derives equal_to from compare functor, otherwise it derives
equal_to from less functor.
Mike Krinkin [Sat, 28 Mar 2015 06:43:31 +0000 (09:43 +0300)]
Add equal_to/sort options to nonintrusive trait.
Nonintrusive list uses intrusive list as backend, so it is
required to not break the build.
Mike Krinkin [Sat, 28 Mar 2015 06:36:41 +0000 (09:36 +0300)]
Add sort policy to intrusive lazy list trait.
Boolean sort flag indicates whether list is ordered or unordered.
Default value is false, so, by default, intrusive lazy list is
unordered.
Mike Krinkin [Sat, 28 Mar 2015 06:28:33 +0000 (09:28 +0300)]
Add equal_to option to intrusive lazy list trait.
Equal functor will be used for unordered lazy list. As comment says,
it would be possible to derive equal_to from comparator or less
functors.
khizmax [Fri, 27 Mar 2015 14:14:50 +0000 (17:14 +0300)]
Merge branch 'dev'
khizmax [Fri, 27 Mar 2015 14:11:39 +0000 (17:11 +0300)]
Fixed build script
khizmax [Fri, 27 Mar 2015 13:13:00 +0000 (16:13 +0300)]
Fixed build script
khizmax [Fri, 27 Mar 2015 12:40:02 +0000 (15:40 +0300)]
Splitted up set_insdelfind test
khizmax [Fri, 27 Mar 2015 12:23:51 +0000 (15:23 +0300)]
Splitted up set_insdel_string test
khizmax [Fri, 27 Mar 2015 09:29:58 +0000 (12:29 +0300)]
Splitted up set_delodd test
Renamed set_insdel_func files
khizmax [Fri, 27 Mar 2015 08:45:48 +0000 (11:45 +0300)]
Splitted up map_insdel_item_string test
khizmax [Fri, 27 Mar 2015 08:32:42 +0000 (11:32 +0300)]
Splitted up map_insdel_item_int test