]>
mj.ucw.cz Git - libucw.git/log
Martin Mares [Mon, 10 Sep 2007 18:03:27 +0000 (20:03 +0200)]
Let eltpools maintain the number of allocated items. The overhead
is minimal and it helps debugging.
Martin Mares [Mon, 10 Sep 2007 17:47:03 +0000 (19:47 +0200)]
Implemented ThreadChunk limit.
Martin Mares [Mon, 10 Sep 2007 17:31:00 +0000 (19:31 +0200)]
Made radix-sorting threshold configurable and let radix-tune-bits
help find the optimum.
Martin Mares [Mon, 10 Sep 2007 15:18:52 +0000 (17:18 +0200)]
Fixed several bugs in swapping of buffers in the threaded radix-sorter,
which caused it to malfunction with some bit widths.
Martin Mares [Mon, 10 Sep 2007 15:18:02 +0000 (17:18 +0200)]
Added a simple utility for tuning the radix-sorter width.
Martin Mares [Mon, 10 Sep 2007 15:17:38 +0000 (17:17 +0200)]
A subset of tests can be requested now. Also, the radix sort width
can be overridden by making with `CEXTRA="-DFORCE_RADIX_BITS=n"'.
Martin Mares [Mon, 10 Sep 2007 15:16:39 +0000 (17:16 +0200)]
Radix sort bit width is now controlled by the configure script.
Martin Mares [Mon, 10 Sep 2007 15:14:50 +0000 (17:14 +0200)]
Fixed a typo in usage text.
Martin Mares [Mon, 10 Sep 2007 15:14:24 +0000 (17:14 +0200)]
Added CEXTRA and LEXTRA, which can be used to add new compilation/linking
flags without removing the original ones.
Martin Mares [Mon, 10 Sep 2007 11:40:44 +0000 (13:40 +0200)]
We want to keep the results of retros benchmarking, but the rest of BENCH
is obsolete.
Martin Mares [Mon, 10 Sep 2007 11:38:43 +0000 (13:38 +0200)]
Slightly improved user interface of {asio,file}-test and renamed them
to radix-*.
Martin Mares [Sat, 8 Sep 2007 20:53:46 +0000 (22:53 +0200)]
Removed sorter_presort_bufsize, it was no longer used.
Martin Mares [Sat, 8 Sep 2007 20:49:54 +0000 (22:49 +0200)]
Clean up #undef's.
Martin Mares [Sat, 8 Sep 2007 20:40:29 +0000 (22:40 +0200)]
Explain why we don't need the join hack for custom presorting.
Martin Mares [Sat, 8 Sep 2007 18:25:00 +0000 (20:25 +0200)]
Convert the most important users of arraysort.h to sorter/array.h.
So far, I didn't have used radix-sorting, because I want to save memory,
but if any of these sorters will turn up on the profiles, I will convert it
later.
Martin Mares [Sat, 8 Sep 2007 17:51:30 +0000 (19:51 +0200)]
Changed the interface of the array sorter: the buffer and hash_bits parameters
are passed only if hashing is enabled.
Martin Mares [Sat, 8 Sep 2007 14:35:50 +0000 (16:35 +0200)]
Moved the last few relevant NOTES to TODO.
Martin Mares [Sat, 8 Sep 2007 14:28:23 +0000 (16:28 +0200)]
Install API of the new sorter.
I had to get rid of the $(?F) construct, because did not work with includes
in subdirectories (like sorter has). I have replaced it by a direct reference
to the include list macro, which also allows to add the missing dependency
on autoconf.h.
Martin Mares [Sat, 8 Sep 2007 14:20:16 +0000 (16:20 +0200)]
The old sorter is gone.
Martin Mares [Sat, 8 Sep 2007 14:07:59 +0000 (16:07 +0200)]
Cleanup FIXME's.
Martin Mares [Fri, 7 Sep 2007 17:15:36 +0000 (19:15 +0200)]
Shaved off a couple of items from the TODO.
Martin Mares [Fri, 7 Sep 2007 17:03:04 +0000 (19:03 +0200)]
Both quicksort and radix-sort can be parallelized to multiple threads now.
Martin Mares [Fri, 7 Sep 2007 14:45:50 +0000 (16:45 +0200)]
Improved heuristics for internal sorter capacity estimation.
Martin Mares [Fri, 7 Sep 2007 13:55:47 +0000 (15:55 +0200)]
A few improvements of sort-test.
Martin Mares [Fri, 7 Sep 2007 13:34:05 +0000 (15:34 +0200)]
Save cache misses by keeping a copy of the hash value next to the pointer.
This trades cache efficiency for extra memory, but it seems to be very well
worth it (e.g., graph sorting in sort-test is 8 times faster now).
Martin Mares [Fri, 7 Sep 2007 12:33:55 +0000 (14:33 +0200)]
Merge with git+ssh://cvs.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter
Martin Mares [Fri, 7 Sep 2007 12:33:45 +0000 (14:33 +0200)]
Added basic threading parameters.
Martin Mares [Fri, 7 Sep 2007 12:33:26 +0000 (14:33 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter
Martin Mares [Fri, 7 Sep 2007 12:31:37 +0000 (14:31 +0200)]
Added a debugging hack.
Martin Mares [Fri, 7 Sep 2007 12:29:34 +0000 (14:29 +0200)]
Introduced ARRAY_LONG_HASH and unrolled radix-sorting primitives.
Also tuned ASORT_RADIX_BITS for P4 Xeon (Sherlock3) -- the L1 cache is
so small there that it is better to tune radix-sort for L2 cache size.
Martin Mares [Fri, 7 Sep 2007 12:27:29 +0000 (14:27 +0200)]
Added numbering of tests.
Martin Mares [Fri, 7 Sep 2007 10:30:18 +0000 (12:30 +0200)]
Cleanup of array sorter interface and added quicksplit.
Martin Mares [Thu, 6 Sep 2007 20:00:10 +0000 (22:00 +0200)]
A few bits of commentary.
Martin Mares [Thu, 6 Sep 2007 19:27:31 +0000 (21:27 +0200)]
More bits of the array sorter: radix-sort implemented.
Martin Mares [Thu, 6 Sep 2007 19:26:49 +0000 (21:26 +0200)]
Fixed multi-way sorting with custom presorting.
Martin Mares [Thu, 6 Sep 2007 15:16:10 +0000 (17:16 +0200)]
Added a sketch of a new array sorter implementation.
The interface is already hopefully fixed, I am going to add the missing bits
of implementation soon.
Martin Mares [Thu, 6 Sep 2007 14:17:42 +0000 (16:17 +0200)]
Added a simple allocator for fixed-size objects.
Pavel Charvat [Thu, 6 Sep 2007 07:19:33 +0000 (09:19 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Martin Mares [Wed, 5 Sep 2007 18:14:08 +0000 (20:14 +0200)]
Unified top-level Makefile with main-line.
Martin Mares [Wed, 5 Sep 2007 18:10:16 +0000 (20:10 +0200)]
We don't need this as 2-way merging is used rarely.
Pavel Charvat [Tue, 4 Sep 2007 16:42:04 +0000 (18:42 +0200)]
bugfix in the installer
Martin Mares [Fri, 31 Aug 2007 19:07:15 +0000 (21:07 +0200)]
New TODO notes.
Martin Mares [Fri, 31 Aug 2007 14:08:26 +0000 (16:08 +0200)]
A couple of things done.
Martin Mares [Fri, 31 Aug 2007 13:45:28 +0000 (15:45 +0200)]
Join in the rare case that presorting creates a single run, which is
not known in advance to be final.
Martin Mares [Fri, 31 Aug 2007 13:37:02 +0000 (15:37 +0200)]
Cleaned up joining logic and implemented joins in multi-way merges.
Martin Mares [Fri, 31 Aug 2007 12:57:49 +0000 (14:57 +0200)]
Added decision logic which switches between 2-way merges, n-way merges
and radix splits.
Martin Mares [Fri, 31 Aug 2007 11:42:50 +0000 (13:42 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter
Martin Mares [Fri, 31 Aug 2007 11:42:43 +0000 (13:42 +0200)]
The GCC bug (I hope I have ruled out all possibilities of a bug at my side)
turned out to bite even in GCC 4.2.1, so I have reported it and enabled
the workaround for all compiler versions.
Pavel Charvat [Fri, 31 Aug 2007 11:09:11 +0000 (13:09 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Martin Mares [Fri, 31 Aug 2007 09:47:12 +0000 (11:47 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter
Martin Mares [Fri, 31 Aug 2007 09:46:44 +0000 (11:46 +0200)]
Better (and correct) handling of joins and empty buckets.
Martin Mares [Thu, 30 Aug 2007 09:58:00 +0000 (11:58 +0200)]
Cleanup and commentary.
Martin Mares [Thu, 30 Aug 2007 09:48:57 +0000 (11:48 +0200)]
Added a work-around for nasty GCC bug.
Martin Mares [Thu, 30 Aug 2007 09:37:14 +0000 (11:37 +0200)]
Yet another swap-out.
Martin Mares [Thu, 30 Aug 2007 08:00:35 +0000 (10:00 +0200)]
Fixed the yesterday's mysterious bug.
Martin Mares [Thu, 30 Aug 2007 08:00:20 +0000 (10:00 +0200)]
Presorting for multi-way merge should swap out the buckets.
Martin Mares [Wed, 29 Aug 2007 21:10:30 +0000 (23:10 +0200)]
So far buggy support for multi-way unification.
Martin Mares [Wed, 29 Aug 2007 21:10:13 +0000 (23:10 +0200)]
Fixed bug in error message.
Martin Mares [Wed, 29 Aug 2007 21:09:52 +0000 (23:09 +0200)]
Merge with git+ssh://cvs.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter
Martin Mares [Wed, 29 Aug 2007 21:09:48 +0000 (23:09 +0200)]
Fixed a bug.
Martin Mares [Wed, 29 Aug 2007 20:47:37 +0000 (22:47 +0200)]
Added options for gcc 4.2.x.
Pavel Charvat [Wed, 29 Aug 2007 18:20:56 +0000 (20:20 +0200)]
Bugfix in keywords module -- fb-dir does not support appending to an
unaligned file.
Martin Mares [Wed, 29 Aug 2007 14:04:14 +0000 (16:04 +0200)]
format_size() no longer exists.
Martin Mares [Wed, 29 Aug 2007 13:25:36 +0000 (15:25 +0200)]
Multi-way merges work fine in simple cases.
I am going to give them a try on large data to see if they are viable.
Martin Mares [Sat, 25 Aug 2007 18:49:17 +0000 (20:49 +0200)]
Setting of LIBS is no longer necessary.
Martin Mares [Sat, 25 Aug 2007 18:41:01 +0000 (20:41 +0200)]
Updated TODO.
Martin Mares [Sat, 25 Aug 2007 14:27:39 +0000 (16:27 +0200)]
Dependencies of test programs are no longer hard-wired in the rules.
Martin Mares [Sat, 25 Aug 2007 14:19:16 +0000 (16:19 +0200)]
Cosmetics.
Martin Mares [Sat, 25 Aug 2007 14:19:01 +0000 (16:19 +0200)]
Shared file handles now use is_temp_file == 2 instead of -1
to avoid collisions with negative return values of bconfig()
meaning "not supported".
Martin Mares [Sat, 25 Aug 2007 14:15:08 +0000 (16:15 +0200)]
Cleanup of file fastbufs.
o Common parts of close code moved to bclose_file_helper().
o Compatibility wrappers moved to fb-param.c.
o Everything related to temp files moved to fb-temp.c.
o Several byte -> char conversions.
o Better comments.
o Testing code compiles again.
Martin Mares [Sat, 25 Aug 2007 11:56:18 +0000 (13:56 +0200)]
bopen_tmp_file(NULL) works.
Martin Mares [Sat, 25 Aug 2007 11:38:23 +0000 (13:38 +0200)]
Use bfix_tmp_file() whereever possible.
Martin Mares [Sat, 25 Aug 2007 11:36:22 +0000 (13:36 +0200)]
Implemented bfix_tmp_file(), which turns a temporary file fastbuf
to a permanent one.
Martin Mares [Sat, 25 Aug 2007 11:14:15 +0000 (13:14 +0200)]
Let bconfig() return the original value.
Martin Mares [Sat, 25 Aug 2007 10:57:02 +0000 (12:57 +0200)]
Removed obsolete comment.
Martin Mares [Sat, 25 Aug 2007 10:43:56 +0000 (12:43 +0200)]
Fixed a typo.
Martin Mares [Sat, 25 Aug 2007 10:19:50 +0000 (12:19 +0200)]
LIBUCW needs to be declared early, because it is used by sub-Makefiles.
Martin Mares [Sat, 25 Aug 2007 10:08:53 +0000 (12:08 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Hand-merged:
debug/Makefile
lib/Makefile
gather/shepherd/shep-select.c
Martin Mares [Fri, 24 Aug 2007 12:32:16 +0000 (14:32 +0200)]
Merge with git+ssh://cvs.ucw.cz/projects/sherlock/GIT/sherlock.git
Martin Mares [Thu, 26 Jul 2007 10:11:30 +0000 (12:11 +0200)]
Shell utilities should link with libucw, not libsh.
Martin Mares [Thu, 26 Jul 2007 09:50:57 +0000 (11:50 +0200)]
Commented more libucw configuration switches.
Martin Mares [Thu, 26 Jul 2007 09:50:44 +0000 (11:50 +0200)]
Use lib/default.cfg and get the version string from there.
Avoid sherlock/autoconf.cfg.
Martin Mares [Thu, 26 Jul 2007 09:46:54 +0000 (11:46 +0200)]
Moved default settings of the UCW library to a separate config file.
This config file also contains the master version number.
Martin Mares [Thu, 26 Jul 2007 09:39:22 +0000 (11:39 +0200)]
Renamed both instances of `defconfig' to `default.cfg' to keep the names
in line with the rest of the configuration files.
Martin Mares [Thu, 26 Jul 2007 09:35:02 +0000 (11:35 +0200)]
Mention doc/configure.
Martin Mares [Thu, 26 Jul 2007 09:24:58 +0000 (11:24 +0200)]
Updated documentation on using libraries.
Martin Mares [Thu, 26 Jul 2007 09:18:24 +0000 (11:18 +0200)]
Moved the tests of linking with Sherlock libraries to free/libs/examples/.
Martin Mares [Thu, 26 Jul 2007 09:05:33 +0000 (11:05 +0200)]
The separate library distribution now compiles.
Martin Mares [Thu, 26 Jul 2007 09:04:54 +0000 (11:04 +0200)]
Moved the rule for cf/library to lib/Makefile and the default empty
rule for extras to build/Maketop.
Martin Mares [Wed, 25 Jul 2007 21:37:45 +0000 (23:37 +0200)]
An unfinished experiment in making a separate release of all libraries.
Martin Mares [Wed, 25 Jul 2007 21:05:53 +0000 (23:05 +0200)]
Comments must not be indented, otherwise they are passed to the shell.
Pavel Charvat [Wed, 25 Jul 2007 11:06:58 +0000 (13:06 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Martin Mares [Fri, 20 Jul 2007 15:24:15 +0000 (17:24 +0200)]
Comment on optionality of UCW::CGI::error_hook.
Martin Mares [Fri, 20 Jul 2007 15:10:24 +0000 (17:10 +0200)]
Got rid of some more hidden references to Sherlock namespace in our modules.
(This was obscured by the configure system bug which caused the modules
not to be built at all.)
Martin Mares [Fri, 20 Jul 2007 15:01:04 +0000 (17:01 +0200)]
Last bits of the CGI.pm move.
Martin Mares [Fri, 20 Jul 2007 14:36:48 +0000 (16:36 +0200)]
CGI: Added error handling and strictness.
Martin Mares [Fri, 20 Jul 2007 14:35:45 +0000 (16:35 +0200)]
CGI: Added parsing of multi-part POSTed forms (file uploads etc.)
In addition to that, we accept parameters listed in URL not only for
GET requests, but also for POSTs.
Martin Mares [Fri, 20 Jul 2007 14:33:26 +0000 (16:33 +0200)]
CGI: Added "multiline" flag, which allows newline in parameter values.
Martin Mares [Fri, 20 Jul 2007 14:32:17 +0000 (16:32 +0200)]
CGI: Added url_param_escape() which writes spaces as "+".
Use this function when genering self-ref URLs to save URL space.
Martin Mares [Fri, 20 Jul 2007 14:30:10 +0000 (16:30 +0200)]
CGI: make_out_args() handles undefs correctly.