Skip to content

Commit be21615

Browse files
Update README.md
1 parent e7476f4 commit be21615

1 file changed

Lines changed: 16 additions & 9 deletions

File tree

README.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,37 @@ DistillNET was designed to be fast, considering every other factor last. An exam
1010

1111
will create two entries in its database. One for `one.com` and another for `two.com`. This way, either domain would trigger the re-creation of this rule. Disk space is wasted as a trade off to avoid a complex (AKA slow) database indexing structure that would otherwise preserve space.
1212

13-
Sample output of the test application (which presently only tests speed) on an `i7-6700 @ 3.4GHZ`:
13+
As of version 1.4.6, DistillNET uses an internal memory cache for database lookups that is configurable at construction time with an optional argument. The default value will cache looksups for 10 minutes. This has improved lookup performance several hundred fold. See benchmark output below.
1414

15-
```bash
15+
Benchmark output on an `i7-6700 @ 3.4GHZ`:
1616

17+
```bash
1718
Testing Parser Speed
1819
About To Parse 61081 Filters From Easylist
19-
Parsed 61081 Easylist filters in 105 msec, averaging 0.00171902883056924 msec per filter.
20+
Parsed 61081 Easylist filters in 108 msec, averaging 0.00176814394001408 msec per filter.
2021

2122
Testing Parser Speed
2223
About To Parse 1454513 Filters From Adult Domains
23-
Parsed 1454513 Adult Domains filters in 1590 msec, averaging 0.00109314939089578 msec per filter.
24+
Parsed 1454513 Adult Domains filters in 2102 msec, averaging 0.00144515724507103 msec per filter.
2425

2526
Testing Parse And Store To DB Speed
26-
Parsed And Stored 1484236 filters in 8349 msec, averaging 0.00562511622140953 msec per filter.
27+
Parsed And Stored 1484236 filters in 11400 msec, averaging 0.00768071923871945 msec per filter.
2728

2829
Testing Rule Lookup By Domain From DB
29-
Looked up and reconstructed 7778000 filters from DB in 9801 msec, averaging 9.801 msec per lookup and
30-
0.00126009256878375 msec per filter lookup and reconstruction.
30+
Looked up and reconstructed 7778000 filters from DB in 28 msec, averaging 0.028 msec per lookup and 3.59989714579583E-06 msec per filter lookup and reconstruction.
3131

3232
Roughly Benchmarking Filter Matching Speed
33-
Filter matching loosely benchmarked at 0.7029 microseconds per check.
33+
Filter matching loosely benchmarked at 0.7133 microseconds per check.
3434
Press any key to exit...
35-
3635
```
36+
#### Before Version 1.4.6
37+
```bash
38+
Testing Rule Lookup By Domain From DB
39+
Looked up and reconstructed 7778000 filters from DB in 9801 msec, averaging 9.801 msec per lookup and
40+
0.00126009256878375 msec per filter lookup and reconstruction.
41+
```
42+
43+
The addition of configurable memory caching in 1.4.6 has improved lookup performance by ~426x.
3744

3845
Note that the filter matching benchmark needs to be upgraded to act more "in the wild", doing things such as handling random data.
3946

0 commit comments

Comments
 (0)