Skip to content

Commit e1b717a

Browse files
committed
Bump version to 3.2.0
1 parent b775015 commit e1b717a

3 files changed

Lines changed: 38 additions & 63 deletions

File tree

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@2toad/profanity",
3-
"version": "3.1.1",
3+
"version": "3.2.0",
44
"description": "A multi-language profanity filter with full TypeScript support",
55
"homepage": "https://github.com/2Toad/Profanity",
66
"author": "2Toad",

src/tools/benchmark/results.md

Lines changed: 35 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -2,76 +2,51 @@
22

33
## Test Environment
44

5-
- **OS**: Windows 11 - WSL2 (Ubuntu 22.04.4 LTS)
6-
- **CPU**: AMD Ryzen 9 5900HX 3.30 GHz (Benchmark constrained to 1 CPU core)
7-
- **RAM**: 64 GB (Benchmark constrained to 512 MB)
5+
- **OS**: macOS Sequoia
6+
- **CPU**: Apple M4 Max (Benchmark constrained to 1 CPU core)
7+
- **RAM**: 36 GB (Benchmark constrained to 512 MB)
88

99
### Benchmarks
1010

11-
#### v3.1.1
11+
#### v3.2.0
1212
```
1313
benchmark-1 | Using test data: v1
14-
benchmark-1 | exists() - small clean text x 2,559,368 ops/sec ±2.95% (92 runs sampled)
15-
benchmark-1 | exists() - small profane text x 1,941,051 ops/sec ±5.64% (79 runs sampled)
16-
benchmark-1 | exists() - large clean text x 44,904 ops/sec ±5.60% (90 runs sampled)
17-
benchmark-1 | exists() - large profane text x 816,615 ops/sec ±0.74% (96 runs sampled)
18-
benchmark-1 | exists() - partial match, small profane text x 1,853,445 ops/sec ±28.20% (92 runs sampled)
19-
benchmark-1 | censor() - Word, small profane text x 1,559,873 ops/sec ±2.07% (94 runs sampled)
20-
benchmark-1 | censor() - FirstChar, small profane text x 1,548,998 ops/sec ±6.01% (96 runs sampled)
21-
benchmark-1 | censor() - FirstVowel, small profane text x 1,093,426 ops/sec ±5.54% (89 runs sampled)
22-
benchmark-1 | censor() - AllVowels, small profane text x 1,098,984 ops/sec ±0.64% (91 runs sampled)
23-
benchmark-1 | censor() - Word, large profane text x 1,633 ops/sec ±6.12% (91 runs sampled)
24-
benchmark-1 | censor() - partial match, Word, small profane text x 1,334,764 ops/sec ±5.43% (91 runs sampled)
14+
benchmark-1 | exists() - small profane text x 4,919,588 ops/sec ±1.31% (97 runs sampled)
15+
benchmark-1 | exists() - small profane text (unicode on) x 1,741,222 ops/sec ±1.06% (97 runs sampled)
16+
benchmark-1 | exists() - large clean text x 76,568 ops/sec ±1.25% (93 runs sampled)
17+
benchmark-1 | exists() - large clean text (unicode on) x 14,514 ops/sec ±2.70% (93 runs sampled)
18+
benchmark-1 | censor() - Word, small profane text x 3,076,329 ops/sec ±0.47% (95 runs sampled)
19+
benchmark-1 | censor() - Word, small profane text (unicode on) x 1,244,954 ops/sec ±2.64% (95 runs sampled)
20+
benchmark-1 | censor() - Word, large profane text x 2,359 ops/sec ±3.09% (98 runs sampled)
21+
benchmark-1 | censor() - Word, large profane text (unicode on) x 2,208 ops/sec ±0.60% (98 runs sampled)
22+
benchmark-1 | exists() - small clean text x 5,237,609 ops/sec ±0.56% (98 runs sampled)
23+
benchmark-1 | exists() - large clean text x 66,847 ops/sec ±2.55% (87 runs sampled)
24+
benchmark-1 | exists() - large profane text x 1,306,546 ops/sec ±2.49% (96 runs sampled)
25+
benchmark-1 | exists() - partial match, small profane text x 4,337,740 ops/sec ±1.95% (97 runs sampled)
26+
benchmark-1 | censor() - Word, small profane text x 2,941,414 ops/sec ±1.23% (98 runs sampled)
27+
benchmark-1 | censor() - FirstChar, small profane text x 2,926,360 ops/sec ±2.21% (96 runs sampled)
28+
benchmark-1 | censor() - FirstVowel, small profane text x 2,275,768 ops/sec ±2.97% (94 runs sampled)
29+
benchmark-1 | censor() - AllVowels, small profane text x 2,176,117 ops/sec ±2.73% (90 runs sampled)
30+
benchmark-1 | censor() - Word, large profane text x 2,345 ops/sec ±1.02% (97 runs sampled)
31+
benchmark-1 | censor() - partial match, Word, small profane text x 2,630,832 ops/sec ±2.23% (95 runs sampled)
2532
benchmark-1 | Fastest: exists() - small clean text
2633
```
2734

28-
#### v3.0.1
35+
#### v3.1.1
2936
```
3037
benchmark-1 | Using test data: v1
31-
benchmark-1 | exists() - small clean text x 2,357,978 ops/sec ±3.50% (86 runs sampled)
32-
benchmark-1 | exists() - small profane text x 1,705,114 ops/sec ±6.80% (77 runs sampled)
33-
benchmark-1 | exists() - large clean text x 47,741 ops/sec ±1.74% (94 runs sampled)
34-
benchmark-1 | exists() - large profane text x 817,113 ops/sec ±0.64% (94 runs sampled)
35-
benchmark-1 | exists() - partial match, small profane text x 2,144,550 ops/sec ±5.92% (94 runs sampled)
36-
benchmark-1 | censor() - Word, small profane text x 1,506,507 ops/sec ±6.02% (91 runs sampled)
37-
benchmark-1 | censor() - FirstChar, small profane text x 1,507,623 ops/sec ±5.90% (92 runs sampled)
38-
benchmark-1 | censor() - FirstVowel, small profane text x 1,105,023 ops/sec ±0.79% (88 runs sampled)
39-
benchmark-1 | censor() - AllVowels, small profane text x 1,054,991 ops/sec ±5.46% (89 runs sampled)
40-
benchmark-1 | censor() - Word, large profane text x 1,659 ops/sec ±5.81% (89 runs sampled)
41-
benchmark-1 | censor() - partial match, Word, small profane text x 1,503,000 ops/sec ±0.55% (94 runs sampled)
38+
benchmark-1 | exists() - small clean text x 5,260,719 ops/sec ±0.49% (94 runs sampled)
39+
benchmark-1 | exists() - small profane text x 4,794,042 ops/sec ±0.64% (97 runs sampled)
40+
benchmark-1 | exists() - large clean text x 70,614 ops/sec ±0.22% (98 runs sampled)
41+
benchmark-1 | exists() - large profane text x 1,272,295 ops/sec ±3.32% (93 runs sampled)
42+
benchmark-1 | exists() - partial match, small profane text x 4,408,923 ops/sec ±2.96% (99 runs sampled)
43+
benchmark-1 | censor() - Word, small profane text x 2,911,216 ops/sec ±3.69% (97 runs sampled)
44+
benchmark-1 | censor() - FirstChar, small profane text x 3,024,875 ops/sec ±0.30% (94 runs sampled)
45+
benchmark-1 | censor() - FirstVowel, small profane text x 2,235,900 ops/sec ±2.53% (97 runs sampled)
46+
benchmark-1 | censor() - AllVowels, small profane text x 2,205,688 ops/sec ±2.80% (95 runs sampled)
47+
benchmark-1 | censor() - Word, large profane text x 2,458 ops/sec ±0.37% (99 runs sampled)
48+
benchmark-1 | censor() - partial match, Word, small profane text x 2,716,684 ops/sec ±2.88% (97 runs sampled)
4249
benchmark-1 | Fastest: exists() - small clean text
4350
```
4451

45-
#### v3.0.0
46-
```
47-
Using test data: v1
48-
exists() - small clean text x 2,263,763 ops/sec ±3.96% (83 runs sampled)
49-
exists() - small profane text x 1,831,670 ops/sec ±3.09% (86 runs sampled)
50-
exists() - large clean text x 38,185 ops/sec ±2.82% (84 runs sampled)
51-
exists() - large profane text x 686,951 ops/sec ±2.11% (87 runs sampled)
52-
exists() - partial match, small profane text x 1,624,503 ops/sec ±8.02% (78 runs sampled)
53-
censor() - Word, small profane text x 915,620 ops/sec ±6.16% (83 runs sampled)
54-
censor() - FirstChar, small profane text x 1,275,945 ops/sec ±2.68% (77 runs sampled)
55-
censor() - FirstVowel, small profane text x 902,065 ops/sec ±3.43% (81 runs sampled)
56-
censor() - AllVowels, small profane text x 942,445 ops/sec ±2.94% (84 runs sampled)
57-
censor() - Word, large profane text x 5,578 ops/sec ±2.17% (86 runs sampled)
58-
censor() - partial match, Word, small profane text x 869,941 ops/sec ±7.91% (82 runs sampled)
59-
Fastest: exists() - small clean text
60-
```
61-
62-
#### v2.4.0
63-
```
64-
Using test data: v1
65-
exists() - small clean text x 3,838,466 ops/sec ±3.34% (81 runs sampled)
66-
exists() - small profane text x 2,557,317 ops/sec ±7.47% (74 runs sampled)
67-
exists() - large clean text x 41,031 ops/sec ±2.82% (83 runs sampled)
68-
exists() - large profane text x 799,283 ops/sec ±2.16% (83 runs sampled)
69-
exists() - partial match, small profane text x 3,013,455 ops/sec ±5.68% (88 runs sampled)
70-
censor() - Word, small profane text x 1,328,481 ops/sec ±2.17% (86 runs sampled)
71-
censor() - FirstChar, small profane text x 2,197,796 ops/sec ±5.86% (84 runs sampled)
72-
censor() - FirstVowel, small profane text x 1,184,065 ops/sec ±4.31% (75 runs sampled)
73-
censor() - AllVowels, small profane text x 1,105,599 ops/sec ±7.69% (77 runs sampled)
74-
censor() - Word, large profane text x 5,594 ops/sec ±6.02% (85 runs sampled)
75-
censor() - partial match, Word, small profane text x 1,031,901 ops/sec ±2.86% (81 runs sampled)
76-
Fastest: exists() - small clean text
77-
```
52+
> NOTE: previous benchmarks performed in deprecated Test Environments can be viewed in Git history

0 commit comments

Comments
 (0)