forked from tzaeschke/phtree
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCHANGELOG
More file actions
130 lines (100 loc) · 3.93 KB
/
CHANGELOG
File metadata and controls
130 lines (100 loc) · 3.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
2019-02-26
==========
Pre-Release 2.1.0
- (TZ for Improbable) Some cleanup and javadoc updates
- (TZ for Improbable) Improvements for running multiple PH-Trees concurrently:
- removed AtomicInt entry counter
- Changed Object/array pools to be unsynchronized and local (to the tree) instead of global and synchronmized.
2018-12-04
==========
Release 2.0.2
- (TZ) Fixed NullPointerException in getStats()
2018-05-30
==========
Release 2.0.1
This release contains some minor fixes and documentation updates.
2018-05-29
==========
Release 2.0.0
There are three new versions of the PH-tree:
- v13 has a new much better kNN query then previous versions, but has otherwise only small improvements over
the previous v11. v13 is the best version for less than 8 dimensions.
- v16 and v16HD are reimplementations of the PH-Tree. The basic concept is still the same, except that the internal
structure of nodes is now a B+Tree instead of the previous AHC/LHC nodes. Advantages:
* Much simpler code.
* Insertion/removal performance scales much better with dimensionality.
* The v16HD version supports theoretically up to 2^31 dimensions.
* Downside: memory requirements have increased, they are now on par with R*Trees or kD-trees.
* Internal B+Tree structure (with configurable page sizes) makes it more suitable for disk based storage.
* **API Contract Change**: The PH-Tree now stores keys (long[]/double[]) internally. Modifying them
after storing them in the tree will make the tree invalid.
- The `PhTree` factory class will automatically choose one of v13, v16 and v16HD, depending on the number of dimensions.
2017-09-17
==========
- (TZ) Fixed bug PhTreeF kNN: distance was not returned.
2017-01-08
==========
- (TZ) Fixed bug in CritBit (used by old PH-Tree), see
https://github.com/tzaeschke/zoodb-indexes/issues/7
2016-10-26
==========
- (TZ) Update: PhTreeRevisited.pdf v1.2
2016-09-17
==========
- (TZ) Updated API classes to improve extensibility
- (TZ) Fixed bug in kNN for rectangles with 0 distance
2016-09-09
==========
- (TZ) Added kNN queries support for rectangle data
2016-08-23
==========
- (TZ) Added v11, lots of API changes
2015-10-28
==========
- (TZ) Added kNN-queries
- (TZ) Added (spherical) range queries
- (TZ) Numerous fixes, improvements, clean-up
- (TZ) Some API changes getDIM() -> getDim(), ...
- (TZ) Added PhTreeRevisited.pdf
2015-10-11
==========
- (TZ) Fixed possible NPE (in Critbit64COW) when using trees with k>6
- (TZ) Fixed memory waste in NodeEntries
2015-08-31
==========
- (TZ) Proper NoGC iterator for avoiding any object creation (+bug fix)
- (TZ) Changed iterator recursion to loops
- (TZ) Removed some old iterators and NV usage
2015-08-03
==========
- (TZ) PhQuery interface added. This allows resetting & reusing of query iterators.
2015-07-30
==========
- (TZ) Smaller NodeEntries + Avoid NodeEntry creation in some situations
- (TZ) Added experimental iterator that does not create new long[]...
2015-07-29
==========
- Added clear() method
- Fixed bug that prevented internal iterators from being reused (-> performance)
- Fixed another bug that caused queryAll to skip some matching keys.
See TestIndexQueries.testBug64Neg_2()
- Fixed bug that caused queryAll to skip some matching keys.
2015-06-01
==========
- (TZ) Fixed bug that prevented internal iterators from being reused
2015-05-25
==========
- (TZ) Fixed another bug that caused queryAll to skip some matching keys.
See TestIndexQueries.testBug64Neg_2()
2015-05-24
==========
- (TZ) Fixed bug that caused queryAll to skip some matching keys.
2015-05-03
==========
- API change! Refactored the API for simplification and removal of old non-value API.
2015-03-03
==========
- Significantly reduced object creation during insert/update/delete/query. This should reduce
GC problems.
- New queryAll() function that returns a list of results instead of an iterator. This should
be faster especially for small expected result sets.