]> mj.ucw.cz Git - libucw.git/log
libucw.git
16 years agoSimplify temporary file deletion in the tester.
Martin Mares [Mon, 19 Nov 2007 08:17:03 +0000 (09:17 +0100)]
Simplify temporary file deletion in the tester.

The advantage of doing a wildcard rm instead of deleting the files
individually is that you can use $n for temporary files, which are
not mentioned as explicit inputs or outputs in the test case.

16 years agoLet the tester create its tmp directory if it doesn't exist.
Martin Mares [Sun, 18 Nov 2007 19:00:34 +0000 (20:00 +0100)]
Let the tester create its tmp directory if it doesn't exist.

16 years agoName test cases in the longest suites.
Martin Mares [Sun, 18 Nov 2007 18:35:09 +0000 (19:35 +0100)]
Name test cases in the longest suites.

16 years agoA new unit test module.
Martin Mares [Sun, 18 Nov 2007 18:33:08 +0000 (19:33 +0100)]
A new unit test module.

Explicit input and output files can be defined now, the expected
exit code of the process can be set and, last but not least, test
cases can be named to simplify orientation in long test suites.

The `run' directory is no longer hard-wired, the tester now accepts
--verbose and --rundir switches.

The makefiles now pass --rundir=run and also $TESTERFLAGS, allowing
to turn on the verbose mode at request.

16 years agoBackuped experiments with image duplicates.
Pavel Charvat [Wed, 14 Nov 2007 12:16:55 +0000 (13:16 +0100)]
Backuped experiments with image duplicates.

16 years agoimages: Fixed trailing spaces and invalid indentation.
Pavel Charvat [Wed, 7 Nov 2007 15:12:22 +0000 (16:12 +0100)]
images: Fixed trailing spaces and invalid indentation.

16 years agoMerge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Tue, 6 Nov 2007 09:02:05 +0000 (10:02 +0100)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git

16 years agoMainline has set forth towards v3.13.
Martin Mares [Mon, 29 Oct 2007 22:29:03 +0000 (23:29 +0100)]
Mainline has set forth towards v3.13.

16 years agoSet TESTING_DEPS in the example customization, so that `make tests' works.
Martin Mares [Mon, 29 Oct 2007 22:24:39 +0000 (23:24 +0100)]
Set TESTING_DEPS in the example customization, so that `make tests' works.

16 years agoPerform threaded imagelib tests only with CONFIG_UCW_THREADS.
Pavel Charvat [Mon, 29 Oct 2007 14:03:27 +0000 (15:03 +0100)]
Perform threaded imagelib tests only with CONFIG_UCW_THREADS.

16 years agoAllow direct I/O parametrized fastbufs only with CONFIG_UCW_THREADS
Pavel Charvat [Mon, 29 Oct 2007 12:13:10 +0000 (13:13 +0100)]
Allow direct I/O parametrized fastbufs only with CONFIG_UCW_THREADS
enabled, otherwise die with an error.

16 years agofixed the compilation of parametrized fastbufs with disabled CONFIG_UCW_THREADS
Pavel Charvat [Mon, 29 Oct 2007 12:03:38 +0000 (13:03 +0100)]
fixed the compilation of parametrized fastbufs with disabled CONFIG_UCW_THREADS

16 years agoMerge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#v3.11
Pavel Charvat [Sun, 28 Oct 2007 20:32:12 +0000 (21:32 +0100)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#v3.11

16 years agoNo need to report negative sorter speeds.
Martin Mares [Thu, 18 Oct 2007 12:57:39 +0000 (14:57 +0200)]
No need to report negative sorter speeds.

16 years agoPatrik needs lib/binsearch.h in the library package.
Daniel Fiala [Tue, 16 Oct 2007 08:31:50 +0000 (10:31 +0200)]
Patrik needs lib/binsearch.h in the library package.

16 years agoget rid of the 'register' keyword
Pavel Charvat [Sun, 14 Oct 2007 14:50:05 +0000 (16:50 +0200)]
get rid of the 'register' keyword

16 years agoucwlib: default.cfg should return success
Pavel Charvat [Thu, 27 Sep 2007 08:47:21 +0000 (10:47 +0200)]
ucwlib: default.cfg should return success

16 years agoucwlib: unset DEFAULT_CONFIG and ENV_VAR_CONFIG by default
Pavel Charvat [Thu, 27 Sep 2007 07:48:16 +0000 (09:48 +0200)]
ucwlib: unset DEFAULT_CONFIG and ENV_VAR_CONFIG by default

16 years agoMerge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Thu, 27 Sep 2007 04:54:16 +0000 (06:54 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git

16 years agosorter: fixed the previous bugfix... all tests now pass
Pavel Charvat [Thu, 27 Sep 2007 04:53:50 +0000 (06:53 +0200)]
sorter: fixed the previous bugfix... all tests now pass

16 years agoMerge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Thu, 27 Sep 2007 04:43:44 +0000 (06:43 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git

16 years agosorter: fixed buffer allocation in s-internal, the workspace was too small
Pavel Charvat [Thu, 27 Sep 2007 04:43:33 +0000 (06:43 +0200)]
sorter: fixed buffer allocation in s-internal, the workspace was too small

16 years agoMerge with git+ssh://cvs.ucw.cz/projects/sherlock/GIT/sherlock.git
Martin Mares [Wed, 26 Sep 2007 09:26:57 +0000 (11:26 +0200)]
Merge with git+ssh://cvs.ucw.cz/projects/sherlock/GIT/sherlock.git

16 years agofixed bug in bugfix :-)
Pavel Charvat [Wed, 26 Sep 2007 07:06:09 +0000 (09:06 +0200)]
fixed bug in bugfix :-)

16 years agoFixed buggy switching of buffers in the internal sorter.
Pavel Charvat [Wed, 26 Sep 2007 07:04:22 +0000 (09:04 +0200)]
Fixed buggy switching of buffers in the internal sorter.

16 years agoFixed a bug in fixint sorter.
Pavel Charvat [Wed, 26 Sep 2007 06:53:43 +0000 (08:53 +0200)]
Fixed a bug in fixint sorter.

16 years agoMerge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Fri, 21 Sep 2007 14:13:25 +0000 (16:13 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git

16 years agoFixed a typo.
Martin Mares [Fri, 21 Sep 2007 10:10:30 +0000 (12:10 +0200)]
Fixed a typo.

16 years agoThe graph tests are able to generate empty input now.
Martin Mares [Fri, 21 Sep 2007 09:15:56 +0000 (11:15 +0200)]
The graph tests are able to generate empty input now.

16 years agoMerge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Fri, 21 Sep 2007 09:15:46 +0000 (11:15 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git

16 years agoDo not die on ASSERT when sorting an empty input with custom presorter.
Martin Mares [Fri, 21 Sep 2007 09:14:55 +0000 (11:14 +0200)]
Do not die on ASSERT when sorting an empty input with custom presorter.

We have test that not only the join bucket is available, but that the join
has actually happened, because custom presorters do not implement automatic
joining.

16 years agoMerge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git
Pavel Charvat [Fri, 21 Sep 2007 07:43:46 +0000 (09:43 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git

16 years agoAdded a very brief introduction to ASIO.
Martin Mares [Thu, 20 Sep 2007 17:48:30 +0000 (19:48 +0200)]
Added a very brief introduction to ASIO.

16 years agoAdded copyright messages.
Martin Mares [Thu, 20 Sep 2007 17:32:21 +0000 (19:32 +0200)]
Added copyright messages.

16 years agoDocumented the changes in dev-sorter.
Martin Mares [Thu, 20 Sep 2007 17:01:37 +0000 (19:01 +0200)]
Documented the changes in dev-sorter.

16 years agoPolished the introductory comments in sorter.h.
Martin Mares [Thu, 20 Sep 2007 16:14:54 +0000 (18:14 +0200)]
Polished the introductory comments in sorter.h.

16 years agoFix the swapping bug, this time correctly.
Martin Mares [Wed, 19 Sep 2007 21:41:07 +0000 (23:41 +0200)]
Fix the swapping bug, this time correctly.

16 years agoMerge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter
Martin Mares [Wed, 19 Sep 2007 21:18:27 +0000 (23:18 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter

16 years agoFixed a bug in s-internal, which caused it to write bogus records
Martin Mares [Wed, 19 Sep 2007 21:18:10 +0000 (23:18 +0200)]
Fixed a bug in s-internal, which caused it to write bogus records
when the array sorter decided to swap buffers.

16 years agoHonor SORT_DEBUG_KEEP_BUCKETS when swapping in a bucket.
Martin Mares [Mon, 17 Sep 2007 20:06:05 +0000 (22:06 +0200)]
Honor SORT_DEBUG_KEEP_BUCKETS when swapping in a bucket.

16 years agoPrint item counts as %u's.
Martin Mares [Mon, 17 Sep 2007 20:04:17 +0000 (22:04 +0200)]
Print item counts as %u's.

16 years agoArray sorter thresholds are now configured as 64-bit numbers of bytes,
Martin Mares [Mon, 17 Sep 2007 19:39:02 +0000 (21:39 +0200)]
Array sorter thresholds are now configured as 64-bit numbers of bytes,
but they are recalculated to the number of elements internally with
proper clamping to ~0U.

16 years agoRemoved a reference to the old sorter.
Martin Mares [Mon, 17 Sep 2007 19:28:31 +0000 (21:28 +0200)]
Removed a reference to the old sorter.

16 years agoAdded another note.
Martin Mares [Sun, 16 Sep 2007 20:30:52 +0000 (22:30 +0200)]
Added another note.

16 years agoMerge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter
Martin Mares [Sun, 16 Sep 2007 20:16:34 +0000 (22:16 +0200)]
Merge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter

16 years agoFixed a silly bug in the parallel radix-sorter.
Martin Mares [Sun, 16 Sep 2007 20:16:21 +0000 (22:16 +0200)]
Fixed a silly bug in the parallel radix-sorter.

16 years agofixed a memory leak
Pavel Charvat [Fri, 14 Sep 2007 07:21:01 +0000 (09:21 +0200)]
fixed a memory leak

16 years agoremoved a traling whitespace
Pavel Charvat [Fri, 14 Sep 2007 07:16:42 +0000 (09:16 +0200)]
removed a traling whitespace

16 years agoFixed a nasty bug in the threaded radix-sorter.
Martin Mares [Tue, 11 Sep 2007 17:00:43 +0000 (19:00 +0200)]
Fixed a nasty bug in the threaded radix-sorter.

16 years agoUse large thread stack.
Martin Mares [Tue, 11 Sep 2007 16:59:42 +0000 (18:59 +0200)]
Use large thread stack.

16 years agoAdjust thread stack size according to radix sorter parameters.
Martin Mares [Tue, 11 Sep 2007 16:59:29 +0000 (18:59 +0200)]
Adjust thread stack size according to radix sorter parameters.

16 years agoCleaned up tracing levels. Array sorter now has its own control knob.
Martin Mares [Tue, 11 Sep 2007 16:26:03 +0000 (18:26 +0200)]
Cleaned up tracing levels. Array sorter now has its own control knob.

16 years agoUse a different file access method for small inputs.
Martin Mares [Tue, 11 Sep 2007 16:01:48 +0000 (18:01 +0200)]
Use a different file access method for small inputs.

16 years agoMade terminology of the parallel radix-sort consistent with the sequential one.
Martin Mares [Tue, 11 Sep 2007 15:49:19 +0000 (17:49 +0200)]
Made terminology of the parallel radix-sort consistent with the sequential one.

16 years agoIntelligent switching of radix-sort buffers.
Martin Mares [Tue, 11 Sep 2007 14:04:04 +0000 (16:04 +0200)]
Intelligent switching of radix-sort buffers.

16 years agoDo not make retros by default, since it does not compile on all CPU's
Martin Mares [Tue, 11 Sep 2007 13:38:24 +0000 (15:38 +0200)]
Do not make retros by default, since it does not compile on all CPU's
(it uses SSE intrinsics).

16 years agoAuto-tune radix-sort width according to CPU type.
Martin Mares [Tue, 11 Sep 2007 13:26:48 +0000 (15:26 +0200)]
Auto-tune radix-sort width according to CPU type.

16 years agoSweeping over TODO.
Martin Mares [Tue, 11 Sep 2007 13:17:38 +0000 (15:17 +0200)]
Sweeping over TODO.

16 years agoAnother minor optimization: Added AddRadixBits.
Martin Mares [Tue, 11 Sep 2007 12:49:31 +0000 (14:49 +0200)]
Another minor optimization: Added AddRadixBits.

16 years agoYet another sorter tuning utility.
Martin Mares [Tue, 11 Sep 2007 12:07:42 +0000 (14:07 +0200)]
Yet another sorter tuning utility.

16 years agoOops, some typos have crept in.
Martin Mares [Mon, 10 Sep 2007 19:00:35 +0000 (21:00 +0200)]
Oops, some typos have crept in.

16 years agoRedefined RadixThreshold to bound the array size instead of the number
Martin Mares [Mon, 10 Sep 2007 18:55:23 +0000 (20:55 +0200)]
Redefined RadixThreshold to bound the array size instead of the number
of elements -- the switching point seems to be related more to cache
effects than decision performance.

16 years agoRewritten handling of small chunks in the parallel radix-sorter.
Martin Mares [Mon, 10 Sep 2007 18:05:10 +0000 (20:05 +0200)]
Rewritten handling of small chunks in the parallel radix-sorter.

They are now immediately submitted to the worker thread instead of keeping
them in a list of delayed chunks for the whole course of the algorithm.
This avoids memory usage explosions caused by queueing lots of smallish
chunks. We prefer to wait for the small chunks to complete before starting
the next large chunk.

16 years agoLet eltpools maintain the number of allocated items. The overhead
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.

16 years agoImplemented ThreadChunk limit.
Martin Mares [Mon, 10 Sep 2007 17:47:03 +0000 (19:47 +0200)]
Implemented ThreadChunk limit.

16 years agoMade radix-sorting threshold configurable and let radix-tune-bits
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.

16 years agoFixed several bugs in swapping of buffers in the threaded radix-sorter,
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.

16 years agoAdded a simple utility for tuning the radix-sorter width.
Martin Mares [Mon, 10 Sep 2007 15:18:02 +0000 (17:18 +0200)]
Added a simple utility for tuning the radix-sorter width.

16 years agoA subset of tests can be requested now. Also, the radix sort 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"'.

16 years agoRadix sort bit width is now controlled by the configure script.
Martin Mares [Mon, 10 Sep 2007 15:16:39 +0000 (17:16 +0200)]
Radix sort bit width is now controlled by the configure script.

16 years agoFixed a typo in usage text.
Martin Mares [Mon, 10 Sep 2007 15:14:50 +0000 (17:14 +0200)]
Fixed a typo in usage text.

16 years agoAdded CEXTRA and LEXTRA, which can be used to add new compilation/linking
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.

16 years agoWe want to keep the results of retros benchmarking, but the rest of BENCH
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.

16 years agoSlightly improved user interface of {asio,file}-test and renamed them
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-*.

16 years agoRemoved sorter_presort_bufsize, it was no longer used.
Martin Mares [Sat, 8 Sep 2007 20:53:46 +0000 (22:53 +0200)]
Removed sorter_presort_bufsize, it was no longer used.

16 years agoClean up #undef's.
Martin Mares [Sat, 8 Sep 2007 20:49:54 +0000 (22:49 +0200)]
Clean up #undef's.

16 years agoExplain why we don't need the join hack for custom presorting.
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.

16 years agoConvert the most important users of arraysort.h to sorter/array.h.
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.

16 years agoChanged the interface of the array sorter: the buffer and hash_bits parameters
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.

16 years agoMoved the last few relevant NOTES to TODO.
Martin Mares [Sat, 8 Sep 2007 14:35:50 +0000 (16:35 +0200)]
Moved the last few relevant NOTES to TODO.

16 years agoInstall API of the new sorter.
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.

16 years agoThe old sorter is gone.
Martin Mares [Sat, 8 Sep 2007 14:20:16 +0000 (16:20 +0200)]
The old sorter is gone.

16 years agoCleanup FIXME's.
Martin Mares [Sat, 8 Sep 2007 14:07:59 +0000 (16:07 +0200)]
Cleanup FIXME's.

16 years agoShaved off a couple of items from the TODO.
Martin Mares [Fri, 7 Sep 2007 17:15:36 +0000 (19:15 +0200)]
Shaved off a couple of items from the TODO.

16 years agoBoth quicksort and radix-sort can be parallelized to multiple threads now.
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.

16 years agoImproved heuristics for internal sorter capacity estimation.
Martin Mares [Fri, 7 Sep 2007 14:45:50 +0000 (16:45 +0200)]
Improved heuristics for internal sorter capacity estimation.

16 years agoA few improvements of sort-test.
Martin Mares [Fri, 7 Sep 2007 13:55:47 +0000 (15:55 +0200)]
A few improvements of sort-test.

16 years agoSave cache misses by keeping a copy of the hash value next to the pointer.
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).

16 years agoMerge with git+ssh://cvs.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter
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

16 years agoAdded basic threading parameters.
Martin Mares [Fri, 7 Sep 2007 12:33:45 +0000 (14:33 +0200)]
Added basic threading parameters.

16 years agoMerge with git+ssh://git.ucw.cz/projects/sherlock/GIT/sherlock.git#dev-sorter
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

16 years agoAdded a debugging hack.
Martin Mares [Fri, 7 Sep 2007 12:31:37 +0000 (14:31 +0200)]
Added a debugging hack.

16 years agoIntroduced ARRAY_LONG_HASH and unrolled radix-sorting primitives.
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.

16 years agoAdded numbering of tests.
Martin Mares [Fri, 7 Sep 2007 12:27:29 +0000 (14:27 +0200)]
Added numbering of tests.

16 years agoCleanup of array sorter interface and added quicksplit.
Martin Mares [Fri, 7 Sep 2007 10:30:18 +0000 (12:30 +0200)]
Cleanup of array sorter interface and added quicksplit.

16 years agoA few bits of commentary.
Martin Mares [Thu, 6 Sep 2007 20:00:10 +0000 (22:00 +0200)]
A few bits of commentary.

16 years agoMore bits of the array sorter: radix-sort implemented.
Martin Mares [Thu, 6 Sep 2007 19:27:31 +0000 (21:27 +0200)]
More bits of the array sorter: radix-sort implemented.

16 years agoFixed multi-way sorting with custom presorting.
Martin Mares [Thu, 6 Sep 2007 19:26:49 +0000 (21:26 +0200)]
Fixed multi-way sorting with custom presorting.

16 years agoAdded a sketch of a new array sorter implementation.
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.

16 years agoAdded a simple allocator for fixed-size objects.
Martin Mares [Thu, 6 Sep 2007 14:17:42 +0000 (16:17 +0200)]
Added a simple allocator for fixed-size objects.