]>
git.ozlabs.org Git - ccan/log 
Rusty Russell  [Mon, 8 Nov 2010 09:54:47 +0000  (20:24 +1030)] 
iscsi: ccanize a little more, add silly simple test case.
Rusty Russell  [Mon, 8 Nov 2010 09:19:41 +0000  (19:49 +1030)] 
iscsi: new module from Ronnie.
Rusty Russell  [Mon, 8 Nov 2010 03:02:51 +0000  (13:32 +1030)] 
htable: push capacity limit from 66 to 75%
With the extra bits, long runs don't hurt our cache very much on search,
so we can pack quite a few in.  Here are the runs at maximal density before
and after:
Before:
$ ./speed 
3145000 
Initial insert:  248 ns
Details: hash size 
4194304 , mask bits 9, perfect 63%
Initial lookup (match):  122 ns
Initial lookup (miss):  142 ns
Initial lookup (random):  170 ns
Initial delete all:  134 ns
Details: rehashes 
3145000 
Initial re-inserting:  149 ns
Deleting first half:  73 ns
Details: rehashes 
1572500 , delete markers 
1572500 
Adding (a different) half:  128 ns
Details: delete markers 0, perfect 62%
Lookup after half-change (match):  129 ns
Lookup after half-change (miss):  145 ns
Details: initial churn
Churning second time:  703 ns
Churning third time:  725 ns
Churning fourth time:  717 ns
Churning fifth time:  710 ns
Details: reinserting with spread
Details: delete markers 149261, perfect 57%
Details: worst run 254 (2 deleted)
Lookup after churn & spread (match):  132 ns
Lookup after churn & spread (miss):  159 ns
Lookup after churn & spread (random):  184 ns
Deleting half after churn & spread:  71 ns
Adding (a different) half after churn & spread:  129 ns
Details: delete markers 0, perfect 62%
After:
$ ./speed 
3145727 
Initial insert:  232 ns
Details: hash size 
4194304 , mask bits 9, perfect 63%
Initial lookup (match):  122 ns
Initial lookup (miss):  141 ns
Initial lookup (random):  234 ns
Initial delete all:  129 ns
Details: rehashes 
3145727 
Initial re-inserting:  153 ns
Deleting first half:  80 ns
Details: rehashes 
1572864 , delete markers 
1572864 
Adding (a different) half:  137 ns
Details: delete markers 0, perfect 62%
Lookup after half-change (match):  125 ns
Lookup after half-change (miss):  145 ns
Details: initial churn
Churning second time:  702 ns
Churning third time:  719 ns
Churning fourth time:  712 ns
Churning fifth time:  709 ns
Details: reinserting with spread
Details: delete markers 169474, perfect 56%
Details: worst run 248 (12 deleted)
Lookup after churn & spread (match):  129 ns
Lookup after churn & spread (miss):  159 ns
Lookup after churn & spread (random):  242 ns
Deleting half after churn & spread:  70 ns
Adding (a different) half after churn & spread:  133 ns
Details: delete markers 0, perfect 62%
Rusty Russell  [Mon, 8 Nov 2010 05:54:31 +0000  (16:24 +1030)] 
htable: restore perfect bit when resizing.
Rusty Russell  [Mon, 8 Nov 2010 05:54:06 +0000  (16:24 +1030)] 
htable: use "perfect" bit to reduce rehashes.
Steal one bit to indicate an entry is in its perfect position.  This
means we don't have to rehash it when we are rehashing the entire
table to get rid of deleted records, and we can still use it for
comparison during lookup.
Before: $ ./speed 
50000000 
Initial insert:  462 ns
Details: hash size 
134217728 , mask bits 5, perfect 81%
Initial lookup (match):  161 ns
Initial lookup (miss):  168 ns
Initial lookup (random):  326 ns
Initial delete all:  164 ns
Details: rehashes 
50000000 
Initial re-inserting:  167 ns
Deleting first half:  86 ns
Details: rehashes 
25000000 , delete markers 
25000000 
Adding (a different) half:  217 ns
Details: delete markers 0, perfect 81%
Lookup after half-change (match):  169 ns
Lookup after half-change (miss):  180 ns
Details: initial churn
Churning second time:  593 ns
Churning third time:  611 ns
Churning fourth time:  619 ns
Churning fifth time:  622 ns
Details: reinserting with spread
Details: delete markers 
13800468 , perfect 73%
Details: worst run 48 (4 deleted)
Lookup after churn & spread (match):  192 ns
Lookup after churn & spread (miss):  211 ns
Lookup after churn & spread (random):  373 ns
Deleting half after churn & spread:  103 ns
Adding (a different) half after churn & spread:  102 ns
Details: delete markers 
29539689 , perfect 72%
After:
Initial insert:  467 ns
Details: hash size 
134217728 , mask bits 5, perfect 81%
Initial lookup (match):  163 ns
Initial lookup (miss):  171 ns
Initial lookup (random):  326 ns
Initial delete all:  170 ns
Details: rehashes 
50000000 
Initial re-inserting:  169 ns
Deleting first half:  88 ns
Details: rehashes 
25000000 , delete markers 
25000000 
Adding (a different) half:  141 ns
Details: delete markers 0, perfect 81%
Lookup after half-change (match):  166 ns
Lookup after half-change (miss):  171 ns
Details: initial churn
Churning second time:  441 ns
Churning third time:  469 ns
Churning fourth time:  466 ns
Churning fifth time:  490 ns
Details: reinserting with spread
Details: delete markers 
13800468 , perfect 73%
Details: worst run 48 (4 deleted)
Lookup after churn & spread (match):  197 ns
Lookup after churn & spread (miss):  209 ns
Lookup after churn & spread (random):  369 ns
Deleting half after churn & spread:  98 ns
Adding (a different) half after churn & spread:  100 ns
Details: delete markers 
29539689 , perfect 72%
Rusty Russell  [Mon, 8 Nov 2010 05:53:17 +0000  (16:23 +1030)] 
htable: rehash to clear delete markers
Delete markers build up over time, even if we try to clean as we go.
So just garbage collect them when there are too many.
Before:
rusty@vivaldi:~/devel/cvs/ccan/ccan/htable/tools (htable)$ ./speed 
50000000 
Initial insert:  467 ns
Details: hash size 
134217728 , mask bits 5, perfect 81%
Initial lookup (match):  160 ns
Initial lookup (miss):  169 ns
Initial lookup (random):  328 ns
Initial delete all:  165 ns
Details: rehashes 
50000000 
Initial re-inserting:  317 ns
Deleting first half:  86 ns
Details: rehashes 
25000000 , delete markers 
25000000 
Adding (a different) half:  89 ns
Details: delete markers 
18894324 , perfect 76%
Lookup after half-change (match):  174 ns
Lookup after half-change (miss):  203 ns
Details: initial churn
Churning second time:  816 ns
Churning third time:  615 ns
Churning fourth time:  621 ns
Churning fifth time:  846 ns
Details: reinserting with spread
Details: delete markers 
11078719 , perfect 74%
Details: worst run 48 (4 deleted)
Lookup after churn & spread (match):  191 ns
Lookup after churn & spread (miss):  208 ns
Lookup after churn & spread (random):  374 ns
Deleting half after churn & spread:  102 ns
Adding (a different) half after churn & spread:  103 ns
Details: delete markers 
27442234 , perfect 73%
After:
Initial insert:  462 ns
Details: hash size 
134217728 , mask bits 5, perfect 81%
Initial lookup (match):  161 ns
Initial lookup (miss):  168 ns
Initial lookup (random):  326 ns
Initial delete all:  164 ns
Details: rehashes 
50000000 
Initial re-inserting:  167 ns
Deleting first half:  86 ns
Details: rehashes 
25000000 , delete markers 
25000000 
Adding (a different) half:  217 ns
Details: delete markers 0, perfect 81%
Lookup after half-change (match):  169 ns
Lookup after half-change (miss):  180 ns
Details: initial churn
Churning second time:  593 ns
Churning third time:  611 ns
Churning fourth time:  619 ns
Churning fifth time:  622 ns
Details: reinserting with spread
Details: delete markers 
13800468 , perfect 73%
Details: worst run 48 (4 deleted)
Lookup after churn & spread (match):  192 ns
Lookup after churn & spread (miss):  211 ns
Lookup after churn & spread (random):  373 ns
Deleting half after churn & spread:  103 ns
Adding (a different) half after churn & spread:  102 ns
Details: delete markers 
29539689 , perfect 72%
Rusty Russell  [Mon, 8 Nov 2010 05:51:20 +0000  (16:21 +1030)] 
htable: speed benchmark
Rusty Russell  [Mon, 8 Nov 2010 05:52:19 +0000  (16:22 +1030)] 
htable: first implementation
Rusty Russell  [Mon, 8 Nov 2010 05:51:06 +0000  (16:21 +1030)] 
jmap: a speed benchmark
Rusty Russell  [Mon, 8 Nov 2010 05:51:58 +0000  (16:21 +1030)] 
jmap: fix incorrect prototype in header documentation.
Rusty Russell  [Sun, 7 Nov 2010 01:45:10 +0000  (12:15 +1030)] 
jmap: just use unsigned long, not size_t
Rusty Russell  [Sun, 7 Nov 2010 01:44:55 +0000  (12:14 +1030)] 
jbitset: just use unsigned long, not size_t
Rusty Russell  [Sun, 7 Nov 2010 01:42:31 +0000  (12:12 +1030)] 
ccanlint: fix compilation of chained examples.
Broken in 
5378c864f9c37f39d906f599285da25a7db0c9fe : we were trying to
recompile the previous failed version.  And the message we printed out
was unclear.
Rusty Russell  [Thu, 4 Nov 2010 10:22:42 +0000  (20:52 +1030)] 
antithread, foreach, grab_file, hashtable, str_talloc: fix _info depends.
Rusty Russell  [Thu, 4 Nov 2010 10:14:00 +0000  (20:44 +1030)] 
ccanlint: add --target
Rusty Russell  [Thu, 4 Nov 2010 10:13:17 +0000  (20:43 +1030)] 
ccanlint: add test to look for modules we use but don't list in _info.
Rusty Russell  [Thu, 4 Nov 2010 10:11:44 +0000  (20:41 +1030)] 
ccanlint: fix wrong initialization in example compilation.
Rusty Russell  [Thu, 4 Nov 2010 10:10:52 +0000  (20:40 +1030)] 
Makefile: make non-optimized variant comment a bit clearer.
Rusty Russell  [Thu, 4 Nov 2010 04:32:13 +0000  (15:02 +1030)] 
alignof, array_size, crc: provide comments to allow testing examples.
Rusty Russell  [Thu, 4 Nov 2010 03:25:15 +0000  (13:55 +1030)] 
ccanlint: try running example code.
Rusty Russell  [Thu, 4 Nov 2010 02:11:13 +0000  (12:41 +1030)] 
opt: fix junk after string in opt_show_charp.
Rusty Russell  [Wed, 3 Nov 2010 22:34:58 +0000  (09:04 +1030)] 
cleanup: get rid of unwanted tap/ toplevel which crept in.
Rusty Russell  [Wed, 3 Nov 2010 13:14:48 +0000  (23:44 +1030)] 
web: point to the configurator to generate config.h
Rusty Russell  [Wed, 3 Nov 2010 13:07:33 +0000  (23:37 +1030)] 
.gitignore: ignore configurator
Rusty Russell  [Wed, 3 Nov 2010 12:48:10 +0000  (23:18 +1030)] 
makefiles: add "scores" target.
Rusty Russell  [Wed, 3 Nov 2010 12:48:10 +0000  (23:18 +1030)] 
alloc: fix missing header in compilation of example.
Rusty Russell  [Wed, 3 Nov 2010 12:55:57 +0000  (23:25 +1030)] 
ccanlint: make tests non-compulsory, always print score.
Rusty Russell  [Wed, 3 Nov 2010 12:51:18 +0000  (23:21 +1030)] 
ccanlint: with -vv, give details on attempts to compile examples.
Rusty Russell  [Wed, 3 Nov 2010 00:21:07 +0000  (10:51 +1030)] 
tools: new "configurator" tool.
Rusty Russell  [Wed, 3 Nov 2010 00:20:03 +0000  (10:50 +1030)] 
tdb2: fix gcc -O3 warnings on test/layout.c
Rusty Russell  [Wed, 3 Nov 2010 00:17:39 +0000  (10:47 +1030)] 
tdb: fix warnings with gcc -O3, and one test crash.
Rusty Russell  [Wed, 3 Nov 2010 00:16:42 +0000  (10:46 +1030)] 
talloc: fix gcc -O3 aliasing warnings
Rusty Russell  [Wed, 3 Nov 2010 00:16:02 +0000  (10:46 +1030)] 
opt: fix gcc -O3 warnings.
Rusty Russell  [Wed, 3 Nov 2010 00:11:07 +0000  (10:41 +1030)] 
jmap: fix aliasing issues, one real testcase bug
Rusty Russell  [Tue, 2 Nov 2010 01:25:33 +0000  (11:55 +1030)] 
foreach: new module
Rusty Russell  [Sat, 30 Oct 2010 10:15:59 +0000  (20:45 +1030)] 
Merge branch 'judy'
Rusty Russell  [Sat, 30 Oct 2010 10:15:36 +0000  (20:45 +1030)] 
jmap: new module
Rusty Russell  [Sat, 30 Oct 2010 10:14:42 +0000  (20:44 +1030)] 
jbitset: new module.
Rusty Russell  [Fri, 29 Oct 2010 09:16:33 +0000  (19:46 +1030)] 
web: don't try to link to old bzr repository, use git.
Rusty Russell  [Wed, 27 Oct 2010 11:49:44 +0000  (22:19 +1030)] 
tap: restore buffering to stdout
Rusty Russell  [Tue, 26 Oct 2010 07:37:22 +0000  (18:07 +1030)] 
gitify the tree, especially the web makefile.
Rusty Russell  [Tue, 26 Oct 2010 09:00:27 +0000  (19:30 +1030)] 
web: clean up directory
Rusty Russell  [Tue, 26 Oct 2010 03:59:36 +0000  (14:29 +1030)] 
ilog: rework to reduce interface.
Rusty Russell  [Mon, 25 Oct 2010 03:28:50 +0000  (13:58 +1030)] 
opt: wean off getopt_long, beef up tests.
Rusty Russell  [Mon, 25 Oct 2010 00:08:55 +0000  (10:38 +1030)] 
tdb2: extend test/layout to be able to place in file.
Rusty Russell  [Sun, 24 Oct 2010 22:51:51 +0000  (09:21 +1030)] 
tdb2: fix intermittent test fail.
Rusty Russell  [Fri, 22 Oct 2010 01:25:43 +0000  (11:55 +1030)] 
opt: change / separator to |
Joey Adams  [Thu, 21 Oct 2010 07:55:46 +0000  (18:25 +1030)] 
avl: I attached a patch changing the AVL module to the MIT license.
Rusty Russell  [Thu, 21 Oct 2010 07:54:19 +0000  (18:24 +1030)] 
license: more changing of licence -> license.
Rusty Russell  [Thu, 21 Oct 2010 07:51:27 +0000  (18:21 +1030)] 
webpages: make sure target of licence links is included in tarballs.
Rusty Russell  [Wed, 20 Oct 2010 05:40:16 +0000  (16:10 +1030)] 
avl: new module
Rusty Russell  [Wed, 20 Oct 2010 03:49:11 +0000  (14:19 +1030)] 
tdb2: 64 bit fixes.
Rusty Russell  [Wed, 20 Oct 2010 02:28:49 +0000  (12:58 +1030)] 
typesafe_cb: 64 bit fixes.
Rusty Russell  [Wed, 20 Oct 2010 02:28:20 +0000  (12:58 +1030)] 
tdb: 64-bit fixes.
Rusty Russell  [Wed, 20 Oct 2010 02:21:50 +0000  (12:51 +1030)] 
tally: fixes for 64 bit machines.
Rusty Russell  [Wed, 20 Oct 2010 02:20:18 +0000  (12:50 +1030)] 
read_write_all: don't rely on write to pipe blocking in tests.
Rusty Russell  [Wed, 20 Oct 2010 02:10:00 +0000  (12:40 +1030)] 
opt: 64-bit compile fixes
Rusty Russell  [Wed, 20 Oct 2010 02:09:21 +0000  (12:39 +1030)] 
ccan_tokenizer: 64-bit compile fixes.
Rusty Russell  [Wed, 20 Oct 2010 02:08:39 +0000  (12:38 +1030)] 
alloc: fix 64-bit
Rusty Russell  [Wed, 20 Oct 2010 02:07:45 +0000  (12:37 +1030)] 
tools: fixes for 64-bit.
Rusty Russell  [Mon, 18 Oct 2010 02:54:20 +0000  (13:24 +1030)] 
tdb2: fix infinite loop in tdb_check
Rusty Russell  [Mon, 18 Oct 2010 02:47:42 +0000  (13:17 +1030)] 
tdb2: add tdb_attribute_seed for setting hash seed.
Rusty Russell  [Sun, 17 Oct 2010 05:33:02 +0000  (16:03 +1030)] 
licence->license: US English is the standard for code.
Rusty Russell  [Sun, 17 Oct 2010 04:10:21 +0000  (14:40 +1030)] 
tdb2: clarify locking heirarchy; hashes, freelist, then expand lock.
Rusty Russell  [Fri, 15 Oct 2010 10:38:03 +0000  (21:08 +1030)] 
tdb2: fix run-summary test
Rusty Russell  [Thu, 14 Oct 2010 12:30:00 +0000  (23:00 +1030)] 
opt: list ccan/typesafe_cb as a dependency.
Rusty Russell  [Fri, 8 Oct 2010 00:56:17 +0000  (11:26 +1030)] 
ccanlint: use opt package.
Rusty Russell  [Thu, 7 Oct 2010 23:41:11 +0000  (10:11 +1030)] 
opt: add opt_log_stderr_exit helper, and opt_usage NULL option.
Rusty Russell  [Thu, 7 Oct 2010 04:12:20 +0000  (14:42 +1030)] 
opt: fix example to compile.
Rusty Russell  [Thu, 7 Oct 2010 03:35:20 +0000  (14:05 +1030)] 
opt: remove gratuitous { } in initializers.
Rusty Russell  [Thu, 7 Oct 2010 03:29:42 +0000  (13:59 +1030)] 
compiler, list, noerr, sparse_bsearch, str, str_talloc, stringmap, talloc_link, tdb, tdb2, typesafe_cb: fix examples
Rusty Russell  [Thu, 7 Oct 2010 03:26:11 +0000  (13:56 +1030)] 
ccanlint: yet more modifications to example extraction and compile.
Rusty Russell  [Thu, 7 Oct 2010 02:43:26 +0000  (13:13 +1030)] 
ccanlint: rename files on collision even with keep=true.
Rusty Russell  [Thu, 7 Oct 2010 02:42:57 +0000  (13:12 +1030)] 
tools: fix bug in doc-extract, handle spaces in summary line
Rusty Russell  [Thu, 7 Oct 2010 02:41:02 +0000  (13:11 +1030)] 
compiler, talloc: warn if return from realloc-like functions isn't used.
Rusty Russell  [Wed, 6 Oct 2010 17:11:20 +0000  (03:41  +1030)] 
tdb: fixed unitialized vars.
Rusty Russell  [Wed, 6 Oct 2010 17:10:03 +0000  (03:40  +1030)] 
tdb2: fix uninitialized var.
Rusty Russell  [Wed, 6 Oct 2010 17:01:55 +0000  (03:31  +1030)] 
modules: update documentation examples so they compile under ccanlint.
Rusty Russell  [Wed, 6 Oct 2010 16:59:30 +0000  (03:29  +1030)] 
ccanlint: yet more heuristics for compiling examples.
Rusty Russell  [Wed, 6 Oct 2010 14:33:39 +0000  (01:03  +1030)] 
array: fix example compile.
Rusty Russell  [Wed, 6 Oct 2010 14:30:51 +0000  (01:00  +1030)] 
hash: fix examples so they compile.
Rusty Russell  [Wed, 6 Oct 2010 14:30:25 +0000  (01:00  +1030)] 
talloc: fix examples so they compile.
Rusty Russell  [Wed, 6 Oct 2010 14:29:55 +0000  (00:59  +1030)] 
opt: fix examples so they compile.
Rusty Russell  [Wed, 6 Oct 2010 14:29:09 +0000  (00:59  +1030)] 
alloc: fix examples so they compile.
Rusty Russell  [Wed, 6 Oct 2010 14:27:28 +0000  (00:57  +1030)] 
tap: make examples compilable by ccanlint.
Rusty Russell  [Wed, 6 Oct 2010 14:25:49 +0000  (00:55  +1030)] 
ccanlint: more heuristics for compiling examples.
Rusty Russell  [Wed, 6 Oct 2010 14:25:14 +0000  (00:55  +1030)] 
tools: "See Also:" can be a section in documentation, so allow it.
Rusty Russell  [Wed, 6 Oct 2010 03:31:24 +0000  (14:01 +1030)] 
ccanlint: more heuristics for compiling examples.
Rusty Russell  [Wed, 6 Oct 2010 03:29:08 +0000  (13:59 +1030)] 
ccanlint: really fix failing test logic.
Rusty Russell  [Wed, 6 Oct 2010 03:28:30 +0000  (13:58 +1030)] 
ccanlint: link api tests against compiled objects
Rusty Russell  [Wed, 6 Oct 2010 02:25:38 +0000  (12:55 +1030)] 
ccanlint: add somefunc() to help examples compile.
Rusty Russell  [Wed, 6 Oct 2010 01:47:47 +0000  (12:17 +1030)] 
ccanlint: actually try to compile examples.
Rusty Russell  [Wed, 6 Oct 2010 01:45:31 +0000  (12:15 +1030)] 
ccanlint: load file contents on demand, fix names for extracted examples.
Rusty Russell  [Wed, 6 Oct 2010 01:44:35 +0000  (12:14 +1030)] 
ccanlint: make sure we stop on failure of compulsory test.
Rusty Russell  [Tue, 5 Oct 2010 23:11:11 +0000  (09:41 +1030)] 
ccanlint: fix -k has_examples
Rusty Russell  [Tue, 5 Oct 2010 12:10:18 +0000  (22:40 +1030)] 
opt: fix warnings with gcc and -O.
Rusty Russell  [Tue, 5 Oct 2010 12:03:56 +0000  (22:33 +1030)] 
opt: minor API tweaks.
Rusty Russell  [Tue, 5 Oct 2010 07:01:36 +0000  (17:31 +1030)] 
opt: allow parameter names in arguments.
Rusty Russell  [Tue, 5 Oct 2010 07:00:30 +0000  (17:30 +1030)] 
opt: remove unused debug function and code, test a few more corner cases.
Rusty Russell  [Tue, 5 Oct 2010 06:06:09 +0000  (16:36 +1030)] 
opt: clarify option iteration a little.