1. 28 11月, 2021 1 次提交
    • Y
      Hash table cleanup [12/n] · b79ccafa
      Yifan Hao 提交于
      Remove unnecessary allocation for EXT_SIZE (1024 bytes) in
      taosHashGetCloneExt. By reading the code, this doesn't seem like
      needed.
      
      * Testing
      ./taosdemo
      
      Spent 87.4217 seconds to insert rows: 100000000, affected rows: 100000000 with 8 thread(s) into test.meters. 1143880.49 records/second
      
      insert delay, avg:      69.22ms, max:     240.04ms, min:      26.19ms
      b79ccafa
  2. 25 11月, 2021 7 次提交
    • Y
      Hash table cleanup [11/n] · 8d3851fc
      Yifan Hao 提交于
      Add wrapper for per entry lock / unlock.
      
      +taosHashEntryWLock
      +taosHashEntryWUnlock
      +taosHashEntryRLock
      +taosHashEntryRUnlock
      
      * Testing
      ./taosdemo
      Spent 83.9216 seconds to insert rows: 100000000, affected rows: 100000000 with 8 thread(s) into test.meters. 1191588.48 records/second
      
      insert delay, avg:      66.40ms, max:     254.78ms, min:      24.61ms
      8d3851fc
    • Y
      Hash table cleanup [10/n] · 785b75e6
      Yifan Hao 提交于
      Unify hash table lock function namespace and does not have
      functional change.
      
      __rd_lock -> taosHashRLock
      __rd_unlock -> taosHashRUnlock
      __wr_lock -> taosHashWLock
      __wr_unlock -> taosHashWUnlock
      
      * Testing
      ./taosdemo
      Spent 87.8813 seconds to insert rows: 100000000, affected rows: 100000000 with 8 thread(s) into test.meters. 1137898.27 records/second
      
      insert delay, avg:      69.68ms, max:     275.15ms, min:      26.63ms
      785b75e6
    • Y
      Hash table cleanup [9/n] · a1170e80
      Yifan Hao 提交于
      Remove unused "freeFp".
      a1170e80
    • Y
      Fix ARM compilation issue · 444ac549
      Yifan Hao 提交于
      Use the right format specifier (%zu) to print size_t type.
      444ac549
    • Y
      Hash table cleanup [8/n] · bdda9415
      Yifan Hao 提交于
      Simplify implementation of taosHashTableResize. Remove unnecessary
      while loop.
      
      * Testing
      sample mysql run
      taos> create database db;
      Query OK, 0 of 0 row(s) in database (0.002273s)
      
      taos> use db;
      Query OK, 0 of 0 row(s) in database (0.000214s)
      
      taos> create table t (ts timestamp, a int);
      Query OK, 0 of 0 row(s) in database (0.003265s)
      
      taos> insert into t values ('2019-07-15 00:00:00', 1);
      Query OK, 1 of 1 row(s) in database (0.001309s)
      
      taos> insert into t values ('2019-07-15 01:00:00', 2);
      Query OK, 1 of 1 row(s) in database (0.000238s)
      
      taos> select * from t;
                 ts            |      a      |
      ========================================
       2019-07-15 00:00:00.000 |           1 |
       2019-07-15 01:00:00.000 |           2 |
      Query OK, 2 row(s) in set (0.000751s)
      
      taos> drop database db;
      Query OK, 0 of 0 row(s) in database (0.002543s)
      bdda9415
    • Y
      Hash table cleanup [7/n] · 8ed7d45a
      Yifan Hao 提交于
      1. Add missing lock / unlock in profiling code. Without
         synchronization, the profiling code could access freed memory.
      2. Remove unnecessary assert.
      3. Remove unncessary if check in taosHashRemoveWithData.
      
      * Testing
      sample mysql:
      taos> create database db;
      Query OK, 0 of 0 row(s) in database (0.002291s)
      
      taos> use db;
      Query OK, 0 of 0 row(s) in database (0.000197s)
      
      taos> create table t (ts timestamp, a int);
      Query OK, 0 of 0 row(s) in database (0.003851s)
      
      taos> insert into t values ('2019-07-15 00:00:00', 1);
      Query OK, 1 of 1 row(s) in database (0.001128s)
      
      taos> insert into t values ('2019-07-15 01:00:00', 2);
      Query OK, 1 of 1 row(s) in database (0.000249s)
      
      taos> select * from t;
                 ts            |      a      |
      ========================================
       2019-07-15 00:00:00.000 |           1 |
       2019-07-15 01:00:00.000 |           2 |
      Query OK, 2 row(s) in set (0.000772s)
      
      taos> drop database db;
      Query OK, 0 of 0 row(s) in database (0.002308s)
      8ed7d45a
    • Y
      Hash table cleanup [6/n] · 699451e6
      Yifan Hao 提交于
      Fix a memory leak bug introduced in [5/n].
      699451e6
  3. 24 11月, 2021 2 次提交
    • Y
      Hash table cleanup [5/n] · 6a71b8ea
      Yifan Hao 提交于
      1. Simplify implementation of taosHashCondTraverse
      2. Complete function header comments for a few more functions
      
      * Testing
      
      Run through the sample mysql:
      taos> create database db;
      Query OK, 0 of 0 row(s) in database (0.002475s)
      
      taos> use db;
      Query OK, 0 of 0 row(s) in database (0.000252s)
      
      taos> create table t (ts timestamp, a int);
      Query OK, 0 of 0 row(s) in database (0.003588s)
      
      taos> insert into t values ('2019-07-15 00:00:00', 1);
      Query OK, 1 of 1 row(s) in database (0.001268s)
      
      taos> insert into t values ('2019-07-15 01:00:00', 2);
      Query OK, 1 of 1 row(s) in database (0.000265s)
      
      taos> select * from t;
                 ts            |      a      |
      ========================================
       2019-07-15 00:00:00.000 |           1 |
       2019-07-15 01:00:00.000 |           2 |
      Query OK, 2 row(s) in set (0.000822s)
      
      taos> drop database db;
      Query OK, 0 of 0 row(s) in database (0.001711s)
      6a71b8ea
    • Y
      Hash table cleanup [4/n] · c76b3d0e
      Yifan Hao 提交于
      1. Minor refactoring of taosHashInit
      2. Complete error handling path of taosHashInit
      
      * Testing
      compile tdengine
      cmake .. && cmake --build .
      c76b3d0e
  4. 22 11月, 2021 3 次提交
    • Y
      Hash table cleanup [3/n] · 89afece7
      Yifan Hao 提交于
      A few cleanups:
      1. Move implementation details (macro definition, SHashEntry and SHashObj
         definition) to hash.c. Only leave relevant APIs in hash.h.
      2. Complete function header comments.
      3. Correct variable naming from "newSize" to "newCapacity".
      89afece7
    • Y
      Hash table cleanup [2/n] · 376e30ae
      Yifan Hao 提交于
      A few cleanups:
      1. Rename hash node "count" to "refCount" for ease of reading
      2. Trailing white space removal of hash.h
      376e30ae
    • Y
      Hash table cleanup [1/n] · 5af1acaa
      Yifan Hao 提交于
      A few cleanups for the hashtable implementation:
      1. Correct function header comments
      2. Complete argument checking for a few functions
      3. Remove trailing space
      5af1acaa
  5. 19 11月, 2021 1 次提交
  6. 18 11月, 2021 4 次提交
  7. 17 11月, 2021 5 次提交
  8. 16 11月, 2021 14 次提交
  9. 15 11月, 2021 3 次提交