Matt Mastracci
bb1f5e4262
perf(core): async op pseudo-codegen and performance work ( #18887 )
...
Performance:
```
async_ops.js: 760k -> 1030k (!)
async_ops_deferred.js: 730k -> 770k
Deno.serve bench: 118k -> 124k
WS test w/ third_party/prebuilt/mac/load_test 100 localhost 8000 0 0: unchanged
Startup time: approx 0.5ms slower (13.7 -> 14.2ms)
```
2023-04-30 08:50:24 +00:00
Divy Srivastava
b9a3790932
perf: const
op declaration ( #18288 )
...
Co-authored-by: Levente Kurusa <lkurusa@kernelstuff.org>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-03-31 14:42:14 +02:00
Bartek Iwańczuk
3c9771deb2
Reland "perf(core): preserve ops between snapshots ( #18080 )" ( #18272 )
...
Relanding 4b6305f4f2
2023-03-18 18:30:04 -04:00
Bartek Iwańczuk
d11e89127d
Revert "perf(core): preserve ops between snapshots ( #18080 )" ( #18267 )
...
This reverts commit 4b6305f4f2
.
2023-03-18 14:59:51 +00:00
Bartek Iwańczuk
4b6305f4f2
perf(core): preserve ops between snapshots ( #18080 )
...
This commit changes the build process in a way that preserves already
registered ops in the snapshot. This allows us to skip creating hundreds of
"v8::String" on each startup, but sadly there is still some op registration
going on startup (however we're registering 49 ops instead of >200 ops).
This situation could be further improved, by moving some of the ops
from "runtime/" to a separate extension crates.
---------
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2023-03-18 12:51:21 +01:00
Divy Srivastava
d4807f458e
chore(core): remove argc field from OpDecl ( #18024 )
...
https://github.com/denoland/deno/pull/18023#discussion_r1125611859
2023-03-05 11:16:43 +00:00
Divy Srivastava
38555a6a0f
feat(ops): reland fast zero copy string arguments ( #17996 )
...
Reland https://github.com/denoland/deno/pull/16777
The codegen is disabled in async ops and when fallback to slow call is
possible (return type is a Result) to avoid hitting this V8 bug:
https://github.com/denoland/deno/issues/17159
2023-03-03 19:04:10 +05:30