Jim Paris
c890ea93cb
WIP switching away from PyTables
11 years ago
Jim Paris
84c68c6913
Better documentation, cache Tables
11 years ago
Jim Paris
6f1e6fe232
Isolate all PyTables stuff to a single file.
This will make migrating to my own data storage engine easier.
11 years ago
Jim Paris
b0d76312d1
Add must_close() decorator, use it in nilmdb
Warns at runtime if a class's close() method wasn't called before the
object was destroyed.
11 years ago
Jim Paris
19c846c71c
Remove outdated files
11 years ago
Jim Paris
f355c73209
Refactor utility classes into nilmdb.utils subdir/namespace
There's some bug with the testing harness where placing e.g.
from du import du
in nilmdb/utils/__init__.py doesn't quite work -- sometimes the
module "du" replaces the function "du". Not exactly sure why;
we work around that by just renaming files so they don't match
the imported names directly.
11 years ago
Jim Paris
173014ba19
Use nilmdb.lrucache for caching interval sets
11 years ago
Jim Paris
24d4752bc3
Add LRU cache memoizing decorator for functions
11 years ago
Jim Paris
a85b273e2e
Remove compression.
Messes up extraction, since we random access for the timestamp binary
search. In the future, maybe switching to multiple tables (one for
timestamp, one for compressed data) would be smart.
11 years ago
Jim Paris
7f73b4b304
Use compression in pytables
11 years ago
Jim Paris
f3eb6d1b79
Time it!
11 years ago
Jim Paris
9082cc9f44
Merging adjacent intervals is working now!
Adjust test expectations accordingly, since the number of intervals
they print out will now be smaller.
11 years ago
Jim Paris
bf64a40472
Some misc test additions, interval optimizations. Still need adjacency test
11 years ago
Jim Paris
32dbeebc09
More insertion checks. Need to get interval concatenation working.
11 years ago
Jim Paris
66ddc79b15
Inserting works again, with proper end/start for paired blocks.
timeit.sh script works too!
11 years ago
Jim Paris
7a8bd0bf41
Don't include layout on client side
11 years ago
Jim Paris
ee552de740
Start reworking/fixing insert timestamps
11 years ago
Jim Paris
6d1fb61573
Use 'repr' instead of 'str' in Interval string representation.
Otherwise timestamps get truncated to 2 decimal places.
11 years ago
Jim Paris
f094529e66
TODO update
11 years ago
Jim Paris
5fecec2a4c
Support deleting streams with new 'destroy' command
11 years ago
Jim Paris
85bb46f45c
Use pytable's createparents flag to avoid having to create group
structure manually.
11 years ago
Jim Paris
17c329fd6d
Start to be a little more strict about how intervals are half-open.
11 years ago
Jim Paris
437e1b425a
More speed tests, some whitespace cleanups
11 years ago
Jim Paris
c0f87db3c1
Converted rbtree, interval to Cython. Serious speedups!
11 years ago
Jim Paris
a9c5c19e30
Start converting interval.py to Cython.
11 years ago
Jim Paris
f39567b2bc
Speed updates
11 years ago
Jim Paris
99ec0f4946
Converted rbtree.py to Cython
About 3x faster
11 years ago
Jim Paris
f5c60f68dc
Speed tests.
test_interval_speed is about O(n * log n), which is good -- but the
constants are high and it hits swap on a 4G machine for the 2**21
test. Hopefully cython helps!
11 years ago
Jim Paris
bdef0986d6
rbtree and interval tests fully pass now.
On to benchmarking...
11 years ago
Jim Paris
c396c4dac8
rbtree tests complete
11 years ago
Jim Paris
0b443f510b
Filling out rbtree tests, search routines
11 years ago
Jim Paris
66fa6f3824
Add rendering test
11 years ago
Jim Paris
875fbe969f
Some documentation and other cleanups in rbtree.py
11 years ago
Jim Paris
e35e85886e
add .gitignore
11 years ago
Jim Paris
7211217f40
Working on getting the RBTree working. Intersections are busted.
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11380 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
d34b980516
RBTree seems generally OK now
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11379 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
6aee52d980
Deletion is still broken. F.
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11378 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
090c8d5315
More progress
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11377 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
1042ff9f4b
add RBtree C++ example that I based this on; update tests
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11376 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
bc687969c1
Work in progress switching to my own RBTree. Currently creates loops
somewhere, need to figure out what's going on.
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11375 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
de27bd3f41
Attempt at using a sentinel instead of class instances for the leaf node.. doesnt quite work for deletion
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11361 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
4dcf713d0e
Attempts at speeding up the RbTree implementation
with cython. Still quite a bit slower than the bxinterval
implementation, though.
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11360 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
f9dea53c24
Randomize order for the insertion test
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11358 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
6cedd7c327
fix
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11357 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
6278d32f7d
Passes tests, but is slow
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11356 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
991039903c
Partial implementation of Interval and IntervalSet with a red-black
tree.
This is currently hitting an issue where it's considering the
intersection of [0,1] and [1,2] to be [1,1]. It matches the
fully-closed definition of intervals, unlike before -- but might
cause issues. Need to consider whether test case is correct.
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11355 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
ea3e92be3f
Some prep work for merging adjacent insertions.
Doesn't actually merge them yet; need to change Interval
implementation to allow deletes.
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@11354 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
56c3306b38
Fix comments
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@10999 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
cb6561c151
Fix some comments and text
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@10998 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago
Jim Paris
407aedcd20
Can't represent 2112 on 32-bit systems
git-svn-id: https://bucket.mit.edu/svn/nilm/nilmdb@10997 ddd99763-3ecb-0310-9145-efcb8ce7c51f
11 years ago