summaryrefslogtreecommitdiff
path: root/core/examples
AgeCommit message (Collapse)Author
2020-04-18Fix Op definitions (#4814)Ryan Dahl
2020-03-28Update to Prettier 2 and use ES Private Fields (#4498)Kitson Kelly
2020-03-20Remove DENO_BUILD_MODE and DENO_BUILD_PATH (#4431)Ryan Dahl
* Remove DENO_BUILD_MODE and DENO_BUILD_PATH Also remove outdated docs related to ninja/gn. * fix * remove parameter to build_mode() * remove arg parsing from benchmark.py
2020-03-20Add require-await lint rule (#4401)Samrith Shankar
2020-03-16refactor: add no-return-await lint rule (#4384)Bartek Iwańczuk
2020-02-07Refactor deno_core_http_bench and make it single-threaded (#3903)Bert Belder
2020-02-03refactor: Use Tokio's single-threaded runtime (#3844)Ryan Dahl
This change simplifies how we execute V8. Previously V8 Isolates jumped around threads every time they were woken up. This was overly complex and potentially hurting performance in a myriad ways. Now isolates run on their own dedicated thread and never move. - blocking_json spawns a thread and does not use a thread pool - op_host_poll_worker and op_host_resume_worker are non-operational - removes Worker::get_message and Worker::post_message - ThreadSafeState::workers table contains WorkerChannel entries instead of actual Worker instances. - MainWorker and CompilerWorker are no longer Futures. - The multi-threaded version of deno_core_http_bench was removed. - AyncOps no longer need to be Send + Sync This PR is very large and several tests were disabled to speed integration: - installer_test_local_module_run - installer_test_remote_module_run - _015_duplicate_parallel_import - _026_workers
2020-01-24s/PinnedBuf/ZeroCopyBuf (#3782)Ryan Dahl
2020-01-17fix deno_core_http_bench (#3698)Bartek Iwańczuk
2020-01-17feat: support individual async handler for each op (#3690)Andy Finch
2020-01-11refactor: remove Isolate.current_send_cb_info and DenoBuf, port ↵Bartek Iwańczuk
Isolate.shared_response_buf (#3643) * remove Isolate.current_send_cb_info * remove DenoBuf * remove Isolate.shared_ab * port Isolate.shared_response_buf (last bit not ported from libdeno) * add some docs for Isolate and EsIsolate
2020-01-05Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600)Ry Dahl
2019-12-23Upgrades rust to 1.40.0 (#3542)Axetroy
2019-12-15upgrade: tokio 0.2 in deno_core_http_bench, take2 (#3435)Bartek Iwańczuk
2019-11-27Revert "update deno_core_http_bench to Tokio 0.2 (#3408)" Ry Dahl
It seems this has caused CI to go red for an unknown reason. This reverts commit 866dba8aa116677143a354af7f3271e4f9c417e1.
2019-11-26update deno_core_http_bench to Tokio 0.2 (#3408)Bartek Iwańczuk
2019-11-18feat: op registration during calls (#3375)Andy Finch
2019-11-17fix deno_core_http_bench (#3364)Bartek Iwańczuk
2019-11-17refactor: fixes for futures (#3363)Bartek Iwańczuk
After landing #3358 the benchmarks exploded indicating problems with workers and deno_core_http_bench. This PR dramatically fixes thread/syscall count that showed up on benchmarks. Thread count is not back to previous levels but difference went from hundreds/thousands to about ~50.
2019-11-16Use futures 0.3 API (#3358)Bartek Iwańczuk
2019-11-06Remove CoreResource::inspect_repr method (#3274)Ry Dahl
Towards simplifying (or better removing entirely) the CoreResource trait. Resources should be any bit of privileged heap allocated memory that needs to be referenced from JS, not very specific trait implementations. Therefore CoreResource should be pushed towards being as general as possible.
2019-10-28refactor: use core ResourceTable in cli (#3206)Bartek Iwańczuk
2019-10-23core: Add ResourceTable (#3150)Bartek Iwańczuk
2019-10-14perf: eager poll async ops in Isolate (#3046)Bartek Iwańczuk
2019-09-30feat: op registration in core (#3002)Bartek Iwańczuk
2019-08-07Add op_id throughout op API (#2734)Ryan Dahl
Removes the magic number hack to switch between flatbuffers and the minimal dispatcher. Adds machinery to pass the op_id through the shared_queue.
2019-07-31Use system rustfmt instead of fixed binary (#2701)Ryan Dahl
2019-07-11Refactor error to use dynamic dispatch and traitsBert Belder
This is in preperation for dynamic import (#1789), which is more easily implemented when errors are dynamic.
2019-06-17refactor dispatch take 2 (#2533)andy finch
2019-06-14Revert "Refactor dispatch handling (#2452)"Ryan Dahl
Due to performance regression: https://github.com/denoland/deno/commit/dc60fe9f300043f191286ef804a365e16e455f87#commitcomment-33943711 This reverts commit dc60fe9f300043f191286ef804a365e16e455f87.
2019-06-13Refactor dispatch handling (#2452)andy finch
Promise id is now created in core and passed back to JS.
2019-06-12Remove Config struct from core (#2502)Ryan Dahl
It's unnecessary indirection and is preventing the ability to easily pass isolate references into the dispatch and dyn_import closures. Note: this changes how StartupData::Script is executed. It's no longer done during Isolate::new() but rather lazily on first poll or execution.
2019-05-01core: express op as enum (#2255)Ryan Dahl
2019-05-01Refactor zero-copy buffers for performance and to prevent memory leaksBert Belder
* In order to prevent ArrayBuffers from getting garbage collected by V8, we used to store a v8::Persistent<ArrayBuffer> in a map. This patch introduces a custom ArrayBuffer allocator which doesn't use Persistent handles, but instead stores a pointer to the actual ArrayBuffer data alongside with a reference count. Since creating Persistent handles has quite a bit of overhead, this change significantly increases performance. Various HTTP server benchmarks report about 5-10% more requests per second than before. * Previously the Persistent handle that prevented garbage collection had to be released manually, and this wasn't always done, which was causing memory leaks. This has been resolved by introducing a new `PinnedBuf` type in both Rust and C++ that automatically re-enables garbage collection when it goes out of scope. * Zero-copy buffers are now correctly wrapped in an Option if there is a possibility that they're not present. This clears up a correctness issue where we were creating zero-length slices from a null pointer, which is against the rules.
2019-04-23core: make Isolate concrete, remove Dispatch trait (#2183)Ryan Dahl
Op dispatch is now dynamically dispatched, so slightly less efficient. The immeasurable perf hit is a reasonable trade for the API simplicity that is gained here.
2019-04-21Refactor CLI entry point (#2157)Bartek Iwańczuk
Changes "deno --types" to "deno types" and "deno --prefetch" to "deno prefetch"
2019-04-17Fix clippy warningsBert Belder
2019-04-16Move deno_core_http_bench into examples dir (#2127)Ryan Dahl