]>
mj.ucw.cz Git - libucw.git/log
Pavel Charvat [Fri, 18 May 2007 14:37:51 +0000 (16:37 +0200)]
Merged main branch to dev-sorter.
Pavel Charvat [Fri, 18 May 2007 14:05:11 +0000 (16:05 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#v3.11
Pavel Charvat [Fri, 18 May 2007 12:41:33 +0000 (14:41 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#v3.10
Pavel Charvat [Fri, 18 May 2007 11:45:03 +0000 (13:45 +0200)]
bugfix in image scaling (select the correct strategy)
Pavel Charvat [Thu, 17 May 2007 20:06:27 +0000 (22:06 +0200)]
install sorter-globals.h header
Martin Mares [Wed, 16 May 2007 12:30:50 +0000 (14:30 +0200)]
TAGS were specified twice.
Robert Spalek [Sat, 28 Apr 2007 20:40:06 +0000 (13:40 -0700)]
lib: added missing include on Darwin
Pavel Charvat [Mon, 23 Apr 2007 18:00:55 +0000 (20:00 +0200)]
fixed off-by-one error in workqueue
Pavel Charvat [Mon, 23 Apr 2007 14:19:58 +0000 (16:19 +0200)]
fixed another bug with mixed HASH_GIVE_ALLOC and HASH_TABLE_ALLOC
Pavel Charvat [Mon, 23 Apr 2007 12:17:31 +0000 (14:17 +0200)]
fixed bug in big_free
Pavel Charvat [Mon, 23 Apr 2007 12:07:19 +0000 (14:07 +0200)]
hashtables: fixed combination of HASH_GIVE_ALLOC and HASH_TABLE_ALLOC
Pavel Charvat [Mon, 23 Apr 2007 08:12:51 +0000 (10:12 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#v3.10.1
Daniel Fiala [Wed, 18 Apr 2007 12:40:41 +0000 (14:40 +0200)]
Added kmp.h and kmp-search.h between includes that are installed by make
install.
Added new release to centrum/cz/pkg/debian/changelog .
Pavel Charvat [Fri, 13 Apr 2007 08:36:27 +0000 (10:36 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Fri, 13 Apr 2007 07:48:30 +0000 (09:48 +0200)]
commented stolen getopt
Pavel Charvat [Fri, 13 Apr 2007 07:29:06 +0000 (09:29 +0200)]
forgotten commit from yesterday
Pavel Charvat [Thu, 12 Apr 2007 10:03:30 +0000 (12:03 +0200)]
trying to steal GNU libc's getopt... maybe it would be better
to simply strip the code only (not long) instead of copying entire files :-/
Pavel Charvat [Wed, 11 Apr 2007 08:09:36 +0000 (10:09 +0200)]
fixed a typo in bfilesize
Pavel Charvat [Tue, 10 Apr 2007 16:38:48 +0000 (18:38 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Tue, 10 Apr 2007 14:15:09 +0000 (16:15 +0200)]
removed MAX_ATTR_SIZE from images/*
Pavel Charvat [Tue, 10 Apr 2007 13:37:49 +0000 (15:37 +0200)]
added stk_vprintf
Pavel Charvat [Tue, 10 Apr 2007 07:20:15 +0000 (09:20 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Tue, 10 Apr 2007 07:18:42 +0000 (09:18 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Martin Mares [Thu, 29 Mar 2007 08:48:06 +0000 (10:48 +0200)]
Added a new mempool primitive mp_spread().
Gradual construction of strings via the growing mempool interface was still
too complicated, so I have introduced a new primitive for this case and also
modified mp_end() to return a pointer to the beginning of the just closed
block (which gets optimized out if unused). This allows to write:
byte *p = mp_start(pool, 1);
for (...) {
p = mp_spread(pool, p, 2);
*p++ = ...;
}
*p++ = 0;
return mp_end(pool);
Pavel, if you agree, I will merge this into mainline.
Martin Mares [Thu, 29 Mar 2007 08:48:06 +0000 (10:48 +0200)]
Added a new mempool primitive mp_spread().
Gradual construction of strings via the growing mempool interface was still
too complicated, so I have introduced a new primitive for this case and also
modified mp_end() to return a pointer to the beginning of the just closed
block (which gets optimized out if unused). This allows to write:
byte *p = mp_start(pool, 1);
for (...) {
p = mp_spread(pool, p, 2);
*p++ = ...;
}
*p++ = 0;
return mp_end(pool);
Pavel, if you agree, I will merge this into mainline.
Pavel Charvat [Thu, 29 Mar 2007 08:14:45 +0000 (10:14 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Thu, 29 Mar 2007 07:22:45 +0000 (09:22 +0200)]
Merged extended mempool from the dev-playground branch.
New features:
- reallocating of the last block (similar to a growing buffer)
- saving and restoring states (similar to a stack)
Pavel Charvat [Tue, 20 Mar 2007 09:56:40 +0000 (10:56 +0100)]
removed useless code from Ulimit & Filelock perl modules
Pavel Charvat [Tue, 20 Mar 2007 09:49:57 +0000 (10:49 +0100)]
simplified usage of Log & Die
Pavel Charvat [Tue, 20 Mar 2007 09:44:06 +0000 (10:44 +0100)]
perl: Log and Die funtions are now exportable
Pavel Charvat [Fri, 16 Mar 2007 09:40:53 +0000 (10:40 +0100)]
common switch for perl modules
Pavel Charvat [Fri, 16 Mar 2007 08:26:59 +0000 (09:26 +0100)]
Added Log perl module.
Pavel Charvat [Thu, 15 Mar 2007 20:56:46 +0000 (21:56 +0100)]
libucw: added UTF-8 correctness checker
Pavel Charvat [Mon, 12 Mar 2007 14:16:56 +0000 (15:16 +0100)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Mon, 12 Mar 2007 14:02:08 +0000 (15:02 +0100)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#v3.10.1
Pavel Charvat [Sun, 11 Mar 2007 09:23:08 +0000 (10:23 +0100)]
better ifdefs in images/config.c
Martin Mares [Sat, 10 Mar 2007 21:10:49 +0000 (22:10 +0100)]
Rewritten ff-binary.
It now supports reading/writing in a specified endianity as well as the
native format.
Martin Mares [Sat, 10 Mar 2007 20:21:23 +0000 (21:21 +0100)]
Unaligned access functions (formerly macros) work in native, big and little endian.
Martin Mares [Sat, 10 Mar 2007 20:00:09 +0000 (21:00 +0100)]
Binary fastbuf functions moved to lib/ff-binary.h.
Martin Mares [Sat, 10 Mar 2007 19:45:38 +0000 (20:45 +0100)]
Removed an unnecessary optimization.
In fact, this could never trigger in recent versions of libucw
as it's already tested in bseek() and bsetpos().
Martin Mares [Sat, 10 Mar 2007 19:44:43 +0000 (20:44 +0100)]
lib/fastbuf.h no longer includes <stdio.h>.
Added zillions of missing includes and fixed handling of EOF.
Mentioned in doc/changes.
Martin Mares [Sat, 10 Mar 2007 19:15:06 +0000 (20:15 +0100)]
Fastbufs now work better on unseekable files.
The seek callback returns success, bseek() and bsetpos() dies if seek
fails, bfilesize() returns -1 if the file is unseekable.
Pavel Charvat [Sat, 10 Mar 2007 12:53:25 +0000 (13:53 +0100)]
use the new mkdist feature in cf/images
Pavel Charvat [Fri, 9 Mar 2007 15:54:07 +0000 (16:54 +0100)]
perl: Added Sherlock::Config::Usage string.
Pavel Charvat [Thu, 8 Mar 2007 12:09:43 +0000 (13:09 +0100)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Thu, 8 Mar 2007 12:05:29 +0000 (13:05 +0100)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#v3.10.1
Pavel Charvat [Wed, 7 Mar 2007 15:24:22 +0000 (16:24 +0100)]
ASSERT if now an expression
Pavel Charvat [Wed, 7 Mar 2007 14:24:11 +0000 (15:24 +0100)]
removed EASSERT
Pavel Charvat [Wed, 7 Mar 2007 13:10:12 +0000 (14:10 +0100)]
added always evaluated EASSERT(x)
Pavel Charvat [Wed, 7 Mar 2007 12:08:18 +0000 (13:08 +0100)]
Added 32bit random number generator.
Pavel Charvat [Mon, 5 Mar 2007 20:08:09 +0000 (21:08 +0100)]
small fixes in perl modules
Pavel Charvat [Sat, 3 Mar 2007 13:12:11 +0000 (14:12 +0100)]
partially updated free/mkdist
Pavel Charvat [Thu, 1 Mar 2007 13:31:31 +0000 (14:31 +0100)]
stkstring.h depends on <stdio.h> (sprintf)
Pavel Charvat [Sun, 25 Feb 2007 22:59:33 +0000 (23:59 +0100)]
fixed fcnt_lock interface description
Pavel Charvat [Sun, 25 Feb 2007 22:39:11 +0000 (23:39 +0100)]
added a perl module for fcntl locking
Martin Mares [Sat, 17 Feb 2007 22:06:55 +0000 (23:06 +0100)]
More bug fixes^W^Wimprovements to the timing statistics.
Martin Mares [Sat, 17 Feb 2007 21:18:46 +0000 (22:18 +0100)]
Cleaned up sorter timings and added a final timing statistic.
Martin Mares [Sat, 17 Feb 2007 21:03:32 +0000 (22:03 +0100)]
Updated all users of the timer interface to pass an explicit timer context.
Martin Mares [Sat, 17 Feb 2007 21:02:21 +0000 (22:02 +0100)]
Replaced the old timing functions by something more useful.
get_timer() using global state was making it unusable in many cases,
especially in library routines. I decided to make the callers specify
an explicit context (a timer) instead and re-used the idea of millisecond
timestamps from mainloop.c.
I've moved timestamp_t to config.h, introduced global get_timestamp()
and replaced the timer functions by ones with an explicit timestamp_t *
argument.
Pavel Charvat [Fri, 16 Feb 2007 12:37:11 +0000 (13:37 +0100)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Tue, 13 Feb 2007 11:08:54 +0000 (12:08 +0100)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#v3.10.1
Pavel Charvat [Tue, 13 Feb 2007 11:08:13 +0000 (12:08 +0100)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#v3.10
Martin Mares [Sat, 10 Feb 2007 21:16:56 +0000 (22:16 +0100)]
Fix calculation of internal sorting buffer and add unification to s-fixint.
Martin Mares [Sat, 10 Feb 2007 21:16:38 +0000 (22:16 +0100)]
Really deallocate the big_buf when radix-splitting.
Martin Mares [Sat, 10 Feb 2007 20:39:58 +0000 (21:39 +0100)]
Created a local TODO list.
Martin Mares [Sat, 10 Feb 2007 20:21:43 +0000 (21:21 +0100)]
Added a magical constant estimating non-uniformity of hash functions.
Martin Mares [Sat, 10 Feb 2007 20:15:36 +0000 (21:15 +0100)]
Fix an off-by-1 error.
Martin Mares [Sat, 10 Feb 2007 19:45:59 +0000 (20:45 +0100)]
Fix bucket estimator.
Martin Mares [Sat, 10 Feb 2007 18:14:31 +0000 (19:14 +0100)]
Radix-sorting is not compatible with custom presort.
Martin Mares [Sat, 10 Feb 2007 18:05:13 +0000 (19:05 +0100)]
Much better decisions on radix sorter parameters.
Martin Mares [Sat, 10 Feb 2007 17:23:58 +0000 (18:23 +0100)]
Added a couple of tests with the old sorter to have reference for speed benchmarks.
(Yes, it horribly duplicates code of sort-test, but I hope it will go away
with the old sorter before merging with mainline.)
Martin Mares [Sat, 10 Feb 2007 13:14:50 +0000 (14:14 +0100)]
Added s-fixint module (internal sorter for small fixed-size records).
Martin Mares [Sat, 10 Feb 2007 11:38:58 +0000 (12:38 +0100)]
Fixed a silly bug.
Martin Mares [Sat, 10 Feb 2007 11:35:33 +0000 (12:35 +0100)]
Moved formatting of sizes to libucw.
Martin Mares [Sat, 10 Feb 2007 11:20:09 +0000 (12:20 +0100)]
Minor improvements of debug messages.
Martin Mares [Fri, 9 Feb 2007 22:58:55 +0000 (23:58 +0100)]
Fixed bug in printing of bucket sizes.
Martin Mares [Fri, 9 Feb 2007 22:41:58 +0000 (23:41 +0100)]
Added a trivial implementation of radix sorting.
Martin Mares [Fri, 9 Feb 2007 21:36:47 +0000 (22:36 +0100)]
Show timings and allow direct I/O.
Martin Mares [Fri, 9 Feb 2007 21:10:36 +0000 (22:10 +0100)]
Remember size of the input file.
Martin Mares [Fri, 9 Feb 2007 21:02:15 +0000 (22:02 +0100)]
All numbers printed by sort-test should be unsigned.
Martin Mares [Fri, 9 Feb 2007 20:37:10 +0000 (21:37 +0100)]
Killed a bug in the tester.
Martin Mares [Fri, 9 Feb 2007 20:26:31 +0000 (21:26 +0100)]
Cannot swap out the source file, because we don't know how to reopen it.
Martin Mares [Fri, 9 Feb 2007 20:21:51 +0000 (21:21 +0100)]
Added a graph-like test case which tests custom presorter and THIS_FB mode.
And as usually fixed some bugs it has uncovered.
Martin Mares [Fri, 9 Feb 2007 18:51:51 +0000 (19:51 +0100)]
Allow empty test cases.
Martin Mares [Fri, 9 Feb 2007 18:48:52 +0000 (19:48 +0100)]
Better messages and sort-test controls.
Martin Mares [Fri, 9 Feb 2007 17:46:47 +0000 (18:46 +0100)]
Added "keep buckets" debug option and fixed some bugs.
Martin Mares [Fri, 9 Feb 2007 17:46:28 +0000 (18:46 +0100)]
A new test.
Martin Mares [Fri, 9 Feb 2007 10:17:00 +0000 (11:17 +0100)]
Merged genconf improvements from mainline.
Martin Mares [Thu, 8 Feb 2007 22:04:56 +0000 (23:04 +0100)]
More elegant evaluation of #if expressions.
Martin Mares [Thu, 8 Feb 2007 22:00:26 +0000 (23:00 +0100)]
Implemented substition of configuration variables.
Martin Mares [Sat, 3 Feb 2007 23:02:10 +0000 (00:02 +0100)]
Added several tests.
These don't include variable-length keys or data yet.
Martin Mares [Sat, 3 Feb 2007 23:01:42 +0000 (00:01 +0100)]
Remember to undefine SORT_PREFIX.
Martin Mares [Sat, 3 Feb 2007 23:01:15 +0000 (00:01 +0100)]
Squash a couple of warnings.
The one about comparison being always the same because of data type
ranges is especially annoying, but I don't know how to shut it up.
Martin Mares [Sat, 3 Feb 2007 12:59:17 +0000 (13:59 +0100)]
Moved low-level operations to a separate file.
Martin Mares [Fri, 2 Feb 2007 22:27:02 +0000 (23:27 +0100)]
Implemented SORT_UNIFY, SORT_UNIQUE and debugged SORT_VAR_DATA.
Now the new sorter is equivalent to the old sorter (i.e., the same algorithms),
but with new interface and standing on new foundations. I will write
a simple test suite and then start filling the gaps with something
interesting.
Martin Mares [Fri, 2 Feb 2007 21:45:07 +0000 (22:45 +0100)]
Empty final bucket should be turned into a file as well.
Martin Mares [Fri, 2 Feb 2007 21:42:00 +0000 (22:42 +0100)]
Cleaned up joining of buckets.
The new bucket semantics really helps.
Martin Mares [Fri, 2 Feb 2007 21:28:43 +0000 (22:28 +0100)]
Implemented swapping in/out buckets.
In some sorting methods, we want to use lots of buckets, but avoid
keeping all the files open and their buffers allocated. The bucket
machinery is now able to swap out a bucket (close its fastbuf) and
then transparently swap it in as needed.
Martin Mares [Fri, 2 Feb 2007 19:41:33 +0000 (20:41 +0100)]
Cleanup of bucket handling.
The bucket operations have much nicer semantics now.
Also added a couple of debug switches.
Martin Mares [Fri, 2 Feb 2007 18:09:59 +0000 (19:09 +0100)]
More bits of the sorter.
In-memory presorting (the general case, but without unification) seems to
work. However, I am not happy with the bucket mechanics yet, it's too
complicated.