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
khizmax [Wed, 25 Mar 2015 12:59:05 +0000 (15:59 +0300)]
Splitted up map_insdelfind test to reduce compiling time and memory requirements
khizmax [Wed, 25 Mar 2015 12:16:47 +0000 (15:16 +0300)]
Splitted up map_insdel_string test to reduce compiling time and memory requirements
khizmax [Wed, 25 Mar 2015 11:55:46 +0000 (14:55 +0300)]
Splitted up map_insdel_int test to reduce compiling time and memory requirements
khizmax [Tue, 24 Mar 2015 20:24:42 +0000 (23:24 +0300)]
Splitted up map_find_string test to reduce compiling time and memory requirements
khizmax [Mon, 23 Mar 2015 20:10:57 +0000 (23:10 +0300)]
Splitted up map_find_int test to reduce compiling time and memory requirements
khizmax [Mon, 23 Mar 2015 19:24:27 +0000 (22:24 +0300)]
Splitted up map_insfind_int test to reduce compiling time and memory requirements
khizmax [Mon, 23 Mar 2015 18:09:30 +0000 (21:09 +0300)]
Removed redundant locking from lazy-list
khizmax [Mon, 23 Mar 2015 18:09:30 +0000 (21:09 +0300)]
Removed redundant locking from lazy-list
khizmax [Mon, 23 Mar 2015 18:01:59 +0000 (21:01 +0300)]
Merge branch 'integration' into dev
Max Khizhinsky [Mon, 23 Mar 2015 17:59:04 +0000 (20:59 +0300)]
Merge pull request #22 from krinkinmu/remove-unneeded-lock
Remote unneeded lock in nogc lazy list find_at_()
Mike Krinkin [Mon, 23 Mar 2015 14:08:44 +0000 (17:08 +0300)]
Remove unneeded lock in nogc lazy list find_at_.
Call to a comparator doesn't require the lock, so the lock in
find_at_ method is odd, so this patch removes that lock.
khizmax [Mon, 23 Mar 2015 14:01:11 +0000 (17:01 +0300)]
Issue #21: splitted map_delodd test
khizmax [Mon, 23 Mar 2015 06:07:48 +0000 (09:07 +0300)]
Removed research code from BronsonAVLTreeMap
khizmax [Sat, 21 Mar 2015 15:40:34 +0000 (18:40 +0300)]
BronsonAVLTreeMap: added acquire/release semantics for version field of the node
khizmax [Fri, 20 Mar 2015 20:31:53 +0000 (23:31 +0300)]
BronsonAVLTreeMap refactored
khizmax [Thu, 19 Mar 2015 21:30:01 +0000 (00:30 +0300)]
Improved checking of internal consistency for BronsonAVLTree
khizmax [Thu, 19 Mar 2015 21:10:49 +0000 (00:10 +0300)]
Added more node version checking to BronsonAVLTreeMap
khizmax [Wed, 18 Mar 2015 08:22:17 +0000 (11:22 +0300)]
Added more statistics to BronsonAVLTree