1. 27 Sep, 2011 3 commits
  2. 26 Sep, 2011 5 commits
    • Rusty Russell's avatar
      htable, strset: benchmarking tools. · 5c559e7d
      Rusty Russell authored
      This lets us compare hash table vs. strset vs. the example
      implementation of critbit trees.
      
      cbspeed 100 runs, min-max(avg):
      #01: Initial insert:   236-245(237)
      #02: Initial lookup (match):   180-186(180)
      #03: Initial lookup (miss):   171-185(172)
      #04: Initial lookup (random):   441-457(444)
      #05: Initial delete all:   127-132(128)
      #06: Initial re-inserting:   219-225(220)
      #07: Deleting first half:   101-104(102)
      #08: Adding (a different) half:   158-162(159)
      #09: Lookup after half-change (match):   202-207(203)
      #10: Lookup after half-change (miss):   217-222(218)
      #11: Churn 1:   297-302(299)
      #12: Churn 2:   297-305(300)
      #13: Churn 3:   301-308(303)
      #14: Post-Churn lookup (match):   189-195(190)
      #15: Post-Churn lookup (miss):   189-193(190)
      #16: Post-Churn lookup (random):   499-513(503)
      
      speed 100 runs, min-max(avg):
      #01: Initial insert:   211-218(212)
      #02: Initial lookup (match):   161-166(162)
      #03: Initial lookup (miss):   157-162(158)
      #04: Initial lookup (random):   452-460(454)
      #05: Initial delete all:   126-135(127)
      #06: Initial re-inserting:   193-201(194)
      #07: Deleting first half:   99-107(99)
      #08: Adding (a different) half:   143-190(144)
      #09: Lookup after half-change (match):   183-195(184)
      #10: Lookup after half-change (miss):   197-203(198)
      #11: Churn 1:   271-278(274)
      #12: Churn 2:   280-287(282)
      #13: Churn 3:   277-285(279)
      #14: Post-Churn lookup (match):   171-175(171)
      #15: Post-Churn lookup (miss):   174-178(175)
      #16: Post-Churn lookup (random):   525-552(528)
      
      stringspeed 100 runs, min-max(avg):
      #01: Initial insert:   300-343(308)
      #02: Initial lookup (match):   98-136(99)
      #03: Initial lookup (miss):   73-102(75)
      #04: Initial lookup (random):   230-282(233)
      #05: Initial delete all:   66-102(69)
      #06: Initial re-inserting:   62-99(64)
      #07: Deleting first half:   43-52(43)
      #08: Adding (a different) half:   101-156(106)
      #09: Lookup after half-change (match):   114-156(120)
      #10: Lookup after half-change (miss):   94-103(95)
      #11: Churn 1:   98-105(99)
      #12: Churn 2:   96-104(98)
      #13: Churn 3:   174-184(176)
      #14: Post-Churn lookup (match):   93-112(94)
      #15: Post-Churn lookup (miss):   77-107(79)
      #16: Post-Churn lookup (random):   229-265(232)
      5c559e7d
    • Rusty Russell's avatar
      strset: new module using critbit trees. · ab83de95
      Rusty Russell authored
      Not as fast as using htable, but simple and provides order and prefix
      ops.
      ab83de95
    • Rusty Russell's avatar
      str: fix warnings. · 0845e796
      Rusty Russell authored
      Firstly, -Wwrite-strings makes string literals const, secondly, we mustn't
      define str_strstr etc in terms of themselves!
      0845e796
    • Rusty Russell's avatar
      str: relicense to public domain. · 942f2788
      Rusty Russell authored
      LGPL is overkill for trivial wrappers like this.
      942f2788
    • Rusty Russell's avatar
      ccanlint: more tweaks to example mangling. · 98d77987
      Rusty Russell authored
      Note where previous analysis said the code was outside a function, and
      fix double new-line.  Also, treat end of comment as end of statement.
      98d77987
  3. 24 Sep, 2011 1 commit
  4. 23 Sep, 2011 3 commits
  5. 22 Sep, 2011 2 commits
  6. 20 Sep, 2011 1 commit
  7. 12 Sep, 2011 7 commits
  8. 09 Sep, 2011 1 commit
  9. 05 Sep, 2011 6 commits
  10. 02 Sep, 2011 4 commits
  11. 31 Aug, 2011 7 commits
    • Rusty Russell's avatar
      tdb2: enhance tdb1 porting document. · 9cbae0f9
      Rusty Russell authored
      9cbae0f9
    • Rusty Russell's avatar
      tdb2: delete old tdb1 tests. · e42097b7
      Rusty Russell authored
      These two tdb1-specific tests have been superceded by the TDB_VERSION1
      flags used in the main tests.
      e42097b7
    • Rusty Russell's avatar
      tdb2: test: Speed up run-01-new_database. · b3ae8999
      Rusty Russell authored
      Don't run tdb_check with failtest on, since it is very slow.  Do the
      tdb_check w/ failtest in a new test, but skip MMAP suppression which
      doesn't add much and slows down valgrind a lot.
      
      Before this change run-01-new_database took 40 seconds (under
      valgrind), after it takes 8 seconds, and run-12-check takes 3
      seconds).
      b3ae8999
    • Rusty Russell's avatar
      tdb2: speed up testing. · a99c2ccf
      Rusty Russell authored
      The time to run tests under valgrind has become excessive; particularly
      the failure tests which fork().   Thus we cut down testing:
      
      1) api-94-repack: reduce from 234 seconds to 2 seconds by cutting
         iterations, despite adding TDB_VERSION1 tests.
      
      2) api-missing-entries: reduce from 17 seconds to under 1 second by
         not checking db inside loop, but at end.
      
      This reduces the total ccanlint time from 729 to 489 seconds.
      a99c2ccf
    • Rusty Russell's avatar
      tdb2: test: convert (non-invasive) run tests to api tests. · c4ca9f54
      Rusty Russell authored
      This reduces compilation time, since these are merely linked with the
      pre-built module, rather than recompiling it into the test (which
      allows for fancy things like failtest).
      
      This reduces the test compile time down from about 62 seconds to 45
      seconds.  Since ccanlint compiles tests three times (once normally,
      once with coverage, and once with reduced config.h) this makes a
      difference: we go from 780 seconds to 729 seconds.
      c4ca9f54
    • Rusty Russell's avatar
      tdb2: test: fix run-57-die-during-transaction.c to be more efficient. · d9cbd7d4
      Rusty Russell authored
      We track malloc and free, but we didn't catch the free() inside
      external_agent, which means that our list of allocations keeps
      growing.  Particularly under valgrind, which re-uses memory less than
      the glibc allocator.
      d9cbd7d4
    • Rusty Russell's avatar
      tdb2: don't continue if tdb1_find fails. · 1be090a2
      Rusty Russell authored
      The TDB1 code's tdb1_find() returns 0 on error; the callers should
      not assume that the error means that the entry wasn't found, but use
      last_error to determine it.
      
      This was found by looking at how long the failure path testing for
      test/run-10-simple-store.c was taking under valgrind, ie:
      
      	valgrind -q ./run-10-simple-store --show-slowest
      
      This change dropped the time for that test from 53 seconds to 19
      seconds.
      1be090a2