Comparing version 3.0.5 to 3.0.6
@@ -0,3 +1,4 @@ | ||
import type { IComparable } from "../utils/helpers.js"; | ||
import { type EqualityComparator } from "./EqualityComparator.js"; | ||
export declare class HashMap<K, V> { | ||
export declare class HashMap<K extends IComparable, V> { | ||
private backingStore; | ||
@@ -4,0 +5,0 @@ constructor(keyComparer: EqualityComparator<K>); |
@@ -17,2 +17,10 @@ import { EqualityComparator } from "./EqualityComparator.js"; | ||
get(o: T): T | undefined; | ||
/** | ||
* Removes the specified element from this set if it is present. | ||
* | ||
* @param o object to be removed from this set, if present. | ||
* | ||
* @returns `true` if the set contained the specified element. | ||
*/ | ||
remove(o: T): boolean; | ||
hashCode(): number; | ||
@@ -19,0 +27,0 @@ equals(o: unknown): boolean; |
@@ -0,1 +1,2 @@ | ||
import type { IComparable } from "../utils/helpers.js"; | ||
import type { EqualityComparator } from "./EqualityComparator.js"; | ||
@@ -6,7 +7,7 @@ /** | ||
*/ | ||
export interface Bucket<K, V> { | ||
export interface Bucket<K extends IComparable, V> { | ||
key: K; | ||
value?: V; | ||
} | ||
export declare class MapKeyEqualityComparator<K, V> implements EqualityComparator<Bucket<K, V>> { | ||
export declare class MapKeyEqualityComparator<K extends IComparable, V> implements EqualityComparator<Bucket<K, V>> { | ||
private readonly keyComparator; | ||
@@ -13,0 +14,0 @@ constructor(keyComparator: EqualityComparator<K>); |
@@ -0,1 +1,2 @@ | ||
import type { IComparable } from "../utils/helpers.js"; | ||
import { HashMap } from "./HashMap.js"; | ||
@@ -5,3 +6,3 @@ /** | ||
*/ | ||
export declare class OrderedHashMap<K, V> extends HashMap<K, V> { | ||
export declare class OrderedHashMap<K extends IComparable, V> extends HashMap<K, V> { | ||
#private; | ||
@@ -8,0 +9,0 @@ clear(): void; |
@@ -1,3 +0,4 @@ | ||
import { HashSet } from "./index.js"; | ||
export declare class OrderedHashSet<T> extends HashSet<T> { | ||
import type { IComparable } from "../utils/helpers.js"; | ||
import { HashSet } from "./HashSet.js"; | ||
export declare class OrderedHashSet<T extends IComparable> extends HashSet<T> { | ||
#private; | ||
@@ -4,0 +5,0 @@ getOrAdd(o: T): T; |
import { IComparable } from "./helpers.js"; | ||
export declare class DoubleDict<Key1 extends IComparable | null | undefined, Key2 extends IComparable | null | undefined, Value> { | ||
export declare class DoubleDict<Key1 extends IComparable, Key2 extends IComparable, Value> { | ||
private readonly cacheMap; | ||
@@ -4,0 +4,0 @@ constructor(); |
{ | ||
"name": "antlr4ng", | ||
"version": "3.0.5", | ||
"version": "3.0.6", | ||
"type": "module", | ||
@@ -5,0 +5,0 @@ "description": "Alternative JavaScript/TypeScript runtime for ANTLR4", |
@@ -160,11 +160,11 @@ [![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/mike-lischke/antlr4ng/nodejs.yml?style=for-the-badge&logo=github)](https://github.com/mike-lischke/antlr4ng/actions/workflows/nodejs.yml) | ||
|---:|---:|---:|---:|---:|---:| | ||
|Query Collection (cold)| 941 ms| <ins>177/2004 (2180) ms</ins>| 7789 ms| 3353 ms| 3217 ms| | ||
| Bitrix Queries (cold)| 143 ms| <ins>66/223 (289) ms</ins>| 1105 ms| 450 ms| 899 ms| | ||
| Large Inserts (cold)|3590 ms|<ins>6152/931 (7083) ms</ins>|10607 ms|11539 ms|30466 ms| | ||
|Total (cold) |4696 ms|<ins>6394/3158 (9632) ms</ins>|19532 ms|15371 ms|34612 ms| | ||
|Query Collection (cold)| 941 ms| <ins>169/1999 (2167) ms</ins>| 7789 ms| 3353 ms| 3217 ms| | ||
| Bitrix Queries (cold)| 143 ms| <ins>66/220 (285) ms</ins>| 1105 ms| 450 ms| 899 ms| | ||
| Large Inserts (cold)|3590 ms|<ins>6058/954 (7012) ms</ins>|10607 ms|11539 ms|30466 ms| | ||
|Total (cold) |4696 ms|<ins>6292/3173 (9465) ms</ins>|19532 ms|15371 ms|34612 ms| | ||
||||||| | ||
|Query Collection (warm)| 95 ms| <ins>128/52 (179) ms</ins>| 215 ms| 266 ms| 1041 ms| | ||
| Bitrix Queries (warm)| 52 ms| <ins>62/35 (97) ms</ins>| 107 ms| 137 ms| 715 ms| | ||
| Large Inserts (warm)|3564 ms|<ins>6199/927 (7126) ms</ins>|10539 ms|11461 ms|32425 ms| | ||
|Total (warm) |3733 ms|<ins>6388/1015 (7403) ms</ins>|10889 ms|11889 ms|34216 ms| | ||
|Query Collection (warm)| 95 ms| <ins>126/49 (175) ms</ins>| 215 ms| 266 ms| 1041 ms| | ||
| Bitrix Queries (warm)| 52 ms| <ins>60/34 (95) ms</ins>| 107 ms| 137 ms| 715 ms| | ||
| Large Inserts (warm)|3564 ms|<ins>6089/909 (6999) ms</ins>|10539 ms|11461 ms|32425 ms| | ||
|Total (warm) |3733 ms|<ins>6275/994 (7270) ms</ins>|10889 ms|11889 ms|34216 ms| | ||
@@ -179,3 +179,3 @@ Underlined entries are the smallest (not counting C++, which beats them all). For antlr4ng, the times are split into lexing and parsing. Note the high lexer execution times, caused by the large number of predicates (126) + lexer actions (40) in the MySQL lexer. | ||
The example file is a copy of the largest test file in [this repository](https://github.com/antlr/grammars-v4/tree/master/sql/mysql/Positive-Technologies/examples), and is known to be very slow to parse with other MySQL grammars. The one used here, however, is fast. | ||
The Bitrix file is a copy of the largest test file in [this repository](https://github.com/antlr/grammars-v4/tree/master/sql/mysql/Positive-Technologies/examples), and is known to be very slow to parse with other MySQL grammars. The one used here, however, is fast. | ||
@@ -182,0 +182,0 @@ ### Lexer Speed Test |
@@ -5,2 +5,6 @@ <img src="https://raw.githubusercontent.com/mike-lischke/mike-lischke/master/images/ANTLRng2.svg" title="ANTLR Next Generation" alt="ANTLRng" width="96" height="96"/><label style="font-size: 70%">Part of the Next Generation ANTLR Project</label> | ||
## 3.0.6 | ||
- Small HashSet/HashMap improvements. | ||
## 3.0.5 | ||
@@ -7,0 +11,0 @@ - Refactored local error classes in ParseTreePatternMatcher |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1296621
41467