snek
9450d0798f
fix(napi): buffer finalizer is nullable ( #30514 )
...
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
Fixes: https://github.com/denoland/deno/issues/30512
2025-08-25 12:57:01 +02:00
林炳权
68297b5f10
chore: Rust 1.89.0 ( #30364 )
...
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Related PR: https://github.com/denoland/deno/pull/30354
2025-08-09 11:11:48 +00:00
Nathan Whitaker
1e34986455
perf(napi): misc napi optimizations ( #30291 )
...
ci / build libs (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
before
```
❯ deno run -A perf-turso.js
cpu: Apple M3 Max
runtime: deno 2.4.3+6ae4eda (aarch64-apple-darwin)
benchmark time (avg) (min … max) p75 p99 p999
--------------------------------------------------------------------------------------- -----------------------------
Statement.get() with bind parameters [expanded] 4'544 ns/iter (4'424 ns … 4'801 ns) 4'599 ns 4'801 ns 4'801 ns
Statement.get() with bind parameters [raw] 4'484 ns/iter (4'409 ns … 4'667 ns) 4'527 ns 4'667 ns 4'667 ns
Statement.run() with bind parameters 5'424 ns/iter (4'833 ns … 4'518 µs) 5'292 ns 8'042 ns 15'292 ns
```
after
```
❯ devdeno run -A perf-turso.js
cpu: Apple M3 Max
runtime: deno 2.4.3 (aarch64-apple-darwin)
benchmark time (avg) (min … max) p75 p99 p999
--------------------------------------------------------------------------------------- -----------------------------
Statement.get() with bind parameters [expanded] 1'141 ns/iter (1'057 ns … 3'223 ns) 1'126 ns 2'910 ns 3'223 ns
Statement.get() with bind parameters [raw] 1'015 ns/iter (975 ns … 1'112 ns) 1'017 ns 1'093 ns 1'112 ns
Statement.run() with bind parameters 1'560 ns/iter (1'295 ns … 8'840 ns) 1'433 ns 8'752 ns 8'840 ns
```
Optimizations are:
- don't log napi entry/exit in release builds (this ends up being very
expensive, as it checks whether logging is enabled twice per call into
NAPI)
- use internalized strings to speed up property accesses (matches node's
behavior as well)
- change order we check value types (matches node now)
- don't unnecessarily validate utf8
- don't get handle scopes when an isolate will do
- reuse handle scope within a function
- use the faster APIs that don't require handle scopes for getting
uint32 / int32 values
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-08-02 17:07:46 -07:00
Nathan Whitaker
9379a74e08
chore: update to edition 2024 ( #29923 )
ci / publish canary (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
2025-07-02 17:59:39 -07:00
Nathan Whitaker
ee4c14a550
chore: update to rust 1.85 ( #28236 )
...
Updates to use rust 1.85. Doesn't move to the 2024 edition, as that's a
fair bit more involved.
A nice side benefit is that the new rustc version seems to lead to a
slight reduction in binary size (at least on mac):
```
FILE SIZE
--------------
+4.3% +102Ki __DATA_CONST,__const
[NEW] +69.3Ki __TEXT,__literals
[NEW] +68.5Ki Rebase Info
+5.0% +39.9Ki __TEXT,__unwind_info
+57% +8.85Ki [__TEXT]
[NEW] +8.59Ki Lazy Binding Info
[NEW] +5.16Ki __TEXT,__stub_helper
[NEW] +3.58Ki Export Info
[NEW] +3.42Ki __DATA,__la_symbol_ptr
-0.1% -726 [12 Others]
-21.4% -3.10Ki [__DATA_CONST]
-95.8% -3.39Ki __DATA_CONST,__got
-20.9% -3.43Ki [__DATA]
-0.5% -4.52Ki Code Signature
-100.0% -11.6Ki [__LINKEDIT]
-1.0% -43.5Ki Symbol Table
-1.6% -44.0Ki __TEXT,__gcc_except_tab
-0.2% -48.1Ki __TEXT,__const
-3.3% -78.6Ki __TEXT,__eh_frame
-0.7% -320Ki __TEXT,__text
-1.5% -334Ki String Table
-0.5% -586Ki TOTAL
```
2025-02-25 08:50:01 -08:00
Kenta Moriuchi
8fb073d7b4
chore: Happy New Year 2025 ( #27509 )
2024-12-31 19:12:39 +00:00
David Sherret
ac7b33a340
chore: cargo fmt - turn on group_imports=StdExternalCrate ( #26646 )
2024-12-31 12:13:39 -05:00
snek
79a3ad2b95
feat: support node-api in denort ( #26389 )
...
exposes node-api symbols in denort so that `deno compile` can run native
addons.
2024-10-24 09:13:54 +02:00
Bartek Iwańczuk
3f8efe5289
Revert "chore: move all node-api impl to ext ( #24662 )" ( #24680 )
...
This reverts commit d00fbd7025
.
Reverting because, it caused a failure during v1.45.3 publish:
2777371809
2024-07-23 00:01:31 +00:00
snek
92abdb7669
chore: move all node-api impl to ext ( #24662 )
...
these symbols are re-exported from runtime/cli using `build.rs`, so we
don't need them in the same crate.
2024-07-22 11:41:59 -07:00