Skip to content

Commit 0eea8cd

Browse files
Update README.md
1 parent 79d8951 commit 0eea8cd

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

Diff for: README.md

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
# [FriendlyCSharp.Databases](https://github.com/FriendlyCSharp/Databases)
1+
# FriendlyCSharp.Databases
22

33
A library of cross platform C# data structures. Generic [**B-tree**](https://en.wikipedia.org/wiki/B-tree) written in C#, which can be replaced with NoSQL database stored in the memory of discharge requirements in real-time (*Firebase, Redis Cache, SAP HANA, Exadata, OLTP, etc.*). Basic information B-tree can be found in the book N. Wirth, Algorithms + data structures = programs and on Wikipedia, namely:
44
>"*In computer science, a B-tree is a self-balancing tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions in logarithmic time. The B-tree is a generalization of a binary search tree in that a node can have more than two children (Comer 1979, p. 123). Unlike self-balancing binary search trees, the B-tree is optimized for systems that read and write large blocks of data. B-trees are a good example of a data structure for external memory. It is commonly used in databases and filesystems. (...) Rudolf Bayer and Ed McCreight invented the B-tree while working at Boeing Research Labs in 1971 (Bayer & McCreight 1972), but they did not explain what, if anything, the B stands for.*" - [Wikipedia](https://en.wikipedia.org/wiki/B-tree).
55
66
 
77
## B-Tree generic class
8-
#### [FcsBTreeN<TKey, TValue>](FcsBTreeN.cs)
8+
#### [FcsBTreeN<TKey, TValue>](https://github.com/inmem/FriendlyCSharp.Databases)
99
+ `Methods:` BtnCompares, BtnUpdates, BtnAdd, BtnDeleteAll, BtnFind, BtnFirst, BtnLast, BtnNext, BtnPrev, BtnSearch, BtnSearchPrev, BtnUpdate and BtnUsedKeys.
10-
#### [FcsFastBTreeN<TKey, TValue>](FcsFastBTreeN.cs)
10+
#### [FcsFastBTreeN<TKey, TValue>](https://github.com/inmem/FriendlyCSharp.Databases)
1111
+ `Methods:` BtnCompares, BtnUpdates, BtnAdd, BtnDeleteAll, BtnFind, BtnFirst, BtnLast, BtnNext, BtnPrev, BtnSearch, BtnSearchPrev, BtnUpdate and BtnUsedKeys.
1212
+ `Methods:` BtnFastFind, BtnFastFirst, BtnFastLast, BtnFastNext, BtnFastPrev, BtnFastSearch, BtnFastSearchPrev.
13-
#### [FcsLockBTreeN<TKey, TValue>](FcsLockBTreeN.cs)
13+
#### [FcsLockBTreeN<TKey, TValue>](https://github.com/inmem/FriendlyCSharp.Databases)
1414
+ `Methods:` BtnCompares, BtnUpdates, BtnAdd, BtnDeleteAll, BtnFind, BtnFirst, BtnLast, BtnNext, BtnPrev, BtnSearch, BtnSearchPrev, BtnUpdate and BtnUsedKeys.
15-
#### [FcsFastLockBTreeN<TKey, TValue>](FcsFastLockBTreeN.cs)
15+
#### [FcsFastLockBTreeN<TKey, TValue>](https://github.com/inmem/FriendlyCSharp.Databases)
1616
+ `Methods:` BtnCompares, BtnUpdates, BtnAdd, BtnDeleteAll, BtnFind, BtnFirst, BtnLast, BtnNext, BtnPrev, BtnSearch, BtnSearchPrev, BtnUpdate and BtnUsedKeys.
1717
+ `Methods:` BtnFastFind, BtnFastFirst, BtnFastLast, BtnFastNext, BtnFastPrev, BtnFastSearch, BtnFastSearchPrev.
1818

1919
### Source code
20-
See the [Github](https://github.com/FriendlyCSharp/Databases).
20+
See the [Github](https://github.com/inmem/FriendlyCSharp.Databases).
2121

2222
### Performance
2323
A [**B-tree**](https://en.wikipedia.org/wiki/B-tree) of order m is a tree which satisfies the following properties:
@@ -41,15 +41,15 @@ A [**B-tree**](https://en.wikipedia.org/wiki/B-tree) of order m is a tree which
4141
### Benchmark
4242
The benchmark was configured as follows:
4343
* CPU: Intel Xeon E3-1245 @ 3.3 GHz;
44-
* Windows 10, 64bit, .NET Standard 1.2
44+
* Windows 10, 64bit, .NET Standard 1.1
4545
* 4x4GB DDR3 Kingston @ 1333 MHz
4646

4747
>**Adding in a single thread:**
4848
4949
| <int, uint> | sorted by key | iteration | total (ms) | one time (ns) | speed | RAM (MB) | occupied |
5050
| --- | :---: | ---: | ---: | ---: | :---: | :---: | :---: |
5151
| [**FcsFastBTreeN<...>**](#fcsfastbtreentkey-tvalue) | **Yes** | 10,000,000 | **6,185** | **619** | **100%** | **128** | **100%** |
52-
| SortedSet<...> | **Yes** | 10,000,000 | ~~ 19,443 ~~ | ~~ 1,944 ~~ | ~~ 32% ~~ | ~~ 458 ~~ | ~~ 358% ~~ |
52+
| SortedSet<...> | **Yes** | 10,000,000 | ~~ 19,443 ~~ | ~~ 1,944 ~~ | ~~ 32% ~~ | ~~ 458 ~~ |  358%  |
5353
| HashSet<...> | No | 10,000,000 | 2,017 | 202 | 307% | 229 | 179% |
5454
| Dictionary<...> | No | 10,000,000 | 1,378 | 138 | 449% | 229 | 179% |
5555

@@ -65,20 +65,20 @@ The benchmark was configured as follows:
6565

6666
 
6767
### MemoryStream generic class
68-
#### [FcsInmemStream<T>](FcsInmemStream.cs) \[where T : struct\]
68+
#### [FcsInmemStream<T>](https://github.com/inmem/FriendlyCSharp.Databases) \[where T : struct\]
6969
+ `Methods:` Append, Close, Length, Open, Position, Read, Seek, Write.
7070

7171
### Source code
72-
See the [Github](https://github.com/FriendlyCSharp/Databases).
72+
See the [Github](https://github.com/inmem/FriendlyCSharp.Databases).
7373

7474
### Benchmark
7575
The benchmark was configured as follows:
7676
* CPU: Intel Xeon E3-1245 @ 3.3 GHz;
77-
* Windows 10, 64bit, .NET Standard 1.2
77+
* Windows 10, 64bit, .NET Standard 1.1
7878
* 4x4 GB DDR3 Kingston @ 1333 MHz
7979
* Append, Read, Write (*cache 1,000 T*) and foreach (*cache 128 T*)
8080

81-
| [FcsInmemStream<T>](FcsInmemStream.cs) | Append | Read | Write | foreach |
81+
| [FcsInmemStream<T>](https://github.com/inmem/FriendlyCSharp.Databases) | Append | Read | Write | foreach |
8282
| --- | ---: | ---: | ---: | ---: |
8383
| IOPS \[T = 8 Byte\] | **160**,000,000 | **800**,000,000 | **800**,000,000 | 80,000,000 |
8484
| IOPS \[T = 16 Byte\] | **140**,000,000 | **500**,000,000 | **400**,000,000 | 80,000,000 |

0 commit comments

Comments
 (0)