diff options
| author | Divy Srivastava <dj.srivastava23@gmail.com> | 2024-01-20 21:58:37 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-20 21:58:37 +0530 |
| commit | 28f64171cb4292cc1e8cf59525b0b9990eff160f (patch) | |
| tree | d84d1cdf8a7f8b2de41b4c01230eb65ca8c872a9 /Cargo.lock | |
| parent | 40febd9dd1224a15a3bc877e2fdf010c4c893e0e (diff) | |
fix(node): use `cppgc` for managing X509Certificate (#21999)
Introduces the first cppgc backed Resource into Deno.
This fixes the memory leak when using `X509Certificate`
**Comparison**:
```js
import { X509Certificate } from 'node:crypto';
const r = Deno.readFileSync('cli/tests/node_compat/test/fixtures/keys/agent1-cert.pem');
setInterval(() => {
for (let i = 0; i < 10000; i++) {
const cert = new X509Certificate(r);
}
}, 1000);
```
Memory usage after 5 secs
`main`: 1692MB
`cppgc`: peaks at 400MB
Diffstat (limited to 'Cargo.lock')
| -rw-r--r-- | Cargo.lock | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/Cargo.lock b/Cargo.lock index 19a836026..528d24270 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1150,9 +1150,9 @@ dependencies = [ [[package]] name = "deno_core" -version = "0.247.0" +version = "0.248.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff6e8ee2e08528c1da4f5a48659c67d12012e831c737f6266534d4f550ccc8c3" +checksum = "974d075b6647aa6cca14ea75c3833f8996b1c3e487adcde490977f21ac14e27e" dependencies = [ "anyhow", "bit-set", @@ -1600,9 +1600,9 @@ dependencies = [ [[package]] name = "deno_ops" -version = "0.123.0" +version = "0.124.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19f29c5fe78479c3fa437409dca009363feb77036c067d6f3682adff8d06f547" +checksum = "a1bc46bc85a26530e196a5f675dab6e06fb86b9104dc6fdc31cfc9ae1832d911" dependencies = [ "proc-macro-rules", "proc-macro2", @@ -5255,9 +5255,9 @@ dependencies = [ [[package]] name = "serde_v8" -version = "0.156.0" +version = "0.157.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ad52e56e21faee5d310a898ab77f83abdab737fde1e97fa6a8cd6615d139ef" +checksum = "8853e607c700ade0acb853aafda7e4cc1f752f4ebb35b0e2ecbf42e784e6d0e0" dependencies = [ "bytes", "derive_more", |
