Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: initial README #1

Merged
merged 9 commits into from
Jul 26, 2023
Merged

feat: initial README #1

merged 9 commits into from
Jul 26, 2023

Conversation

load1n9
Copy link
Contributor

@load1n9 load1n9 commented Jul 1, 2023

No description provided.

@mmastrac
Copy link
Contributor

mmastrac commented Jul 1, 2023

Thanks for the PR -- I am still wrangling this repo into shape and manually merging from the Deno repo, so it might be a few days before I can take a look.

@CLAassistant
Copy link

CLAassistant commented Jul 11, 2023

CLA assistant check
All committers have signed the CLA.

@mmastrac
Copy link
Contributor

@load1n9 I think the error here might be a windows/linux file ending problem. Are you able to re-save the README with unix line endings?

.gitpod.yml Outdated
Comment on lines 1 to 10
# This configuration file was automatically generated by Gitpod.
# Please adjust to your needs (see https://www.gitpod.io/docs/introduction/learn-gitpod/gitpod-yaml)
# and commit this file to your remote git repository to share the goodness with others.

# Learn more from ready-to-use templates: https://www.gitpod.io/docs/introduction/getting-started/quickstart

tasks:
- init: cargo build
command: cargo watch -x run

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this file needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh wait it autogenerated sorry

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's remove this file and land the PR

@load1n9 load1n9 requested a review from bartlomieju July 26, 2023 08:12
Copy link
Contributor

@mmastrac mmastrac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@mmastrac mmastrac merged commit 6879365 into denoland:main Jul 26, 2023
nathanwhit added a commit that referenced this pull request Dec 19, 2024
We were creating them twice - once when attaching them to
`Deno.core.ops`, then creating all new templates when setting up the
virtual ops module.

That meant that the snapshot included two copies of each template,
bloating the snapshot size and hurting snapshot deserialization time.

To fix this, just reuse the templates we've already attached to
`Deno.core.ops`.

This greatly improves the impact of object wrap (and ops in general) on
snapshot size and deserialization time.

statrtup perf:
with 1000 object wrap `DOMPoints` vs 1000 pure JS `DOMPoints`
(`dcore-objwrap-1000-opt` is this PR)
```
❯ hyperfine -w 500 -N "./dcore-js-1000 empty.js" "./dcore-objwrap-1000 empty.js" "./dcore-objwrap-1000-opt empty.js"

Benchmark 1: ./dcore-js-1000 empty.js
  Time (mean ± σ):      10.5 ms ±   0.5 ms    [User: 7.4 ms, System: 2.6 ms]
  Range (min … max):     9.5 ms …  11.7 ms    297 runs
 
Benchmark 2: ./dcore-objwrap-1000 empty.js
  Time (mean ± σ):      14.7 ms ±   0.7 ms    [User: 10.1 ms, System: 3.8 ms]
  Range (min … max):    13.4 ms …  17.5 ms    203 runs
 
Benchmark 3: ./dcore-objwrap-1000-opt empty.js
  Time (mean ± σ):      10.4 ms ±   0.6 ms    [User: 6.7 ms, System: 3.0 ms]
  Range (min … max):     9.3 ms …  13.7 ms    275 runs
 
Summary
  ./dcore-objwrap-1000-opt empty.js ran
    1.01 ± 0.08 times faster than ./dcore-js-1000 empty.js
    1.41 ± 0.11 times faster than ./dcore-objwrap-1000 empty.js
```

snapshot size (in particular the size of the isolate and context 1
snapshots):
```
❯ ./dcore-objwrap-1000 --v8-flags=--profile_deserialization empty.js
🛑 deno_core binary is meant for development and testing purposes.
Run empty.js
[Deserializing read-only space (420972 bytes) took 0.292 ms]
[Deserializing isolate (3510040 bytes) took 8.875 ms]
[Deserializing context #1 (1863760 bytes) took 5.333 ms]

❯ ./dcore-objwrap-1000-opt --v8-flags=--profile_deserialization empty.js
🛑 deno_core binary is meant for development and testing purposes.
Run empty.js
[Deserializing read-only space (420972 bytes) took 0.250 ms]
[Deserializing isolate (1865184 bytes) took 4.083 ms]
[Deserializing context #1 (1007968 bytes) took 2.666 ms]
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants