1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-21 14:54:47 -05:00
Commit graph

12850 commits

Author SHA1 Message Date
Bert Belder
7807afa972
core: make Isolate use FuturesUnordered to track ops
Additionally, instead of polling ops in a loop until none of them are
ready, the isolate will now yield to the task system after delivering
the first batch of completed ops to the javascript side.

Although this makes performance a bit worse (about 15% fewer
requests/second on the 'deno_core_http_bench' benchmark), we feel that
the advantages are worth it:

* It resolves the extremely high worst-case latency that we were seeing
  on deno_core_http_bench, in particular when using the multi-threaded
  Tokio runtime, which would sometimes exceed a full second.

* Before this patch, the implementation of Isolate::poll() had to loop
  through all sub-futures and poll each one of them, which doesn't scale
  well as the number of futures managed by the isolate goes up. This
  could lead to poor performance when e.g. a server is servicing
  thousands of connected clients.
2019-04-16 22:54:33 +02:00
Bert Belder
dd595220ab
core: run isolate tests within a task
This change is made in preparation for using FuturesUnordered to track
futures that are spawned by the isolate. FuturesUnordered sets up
notififications for every future that it finds to be not ready when
polled, which causes a crash if attempted outside of a task context.
2019-04-16 22:26:33 +02:00
Bert Belder
2719631038
core/http_bench: support -D flag to enable logging 2019-04-16 22:25:57 +02:00
Ryan Dahl
1bfb443369
Implement async module loading in CLI (#2084) 2019-04-16 15:13:42 -04:00
Dmitry Sharshakov
0c46358220 Add max memory benchmark (#2061) 2019-04-16 13:57:05 -04:00
Bert Belder
97f0fe7437
third_party: upgrade rust crates 2019-04-15 18:56:29 +02:00
JaePil Jung
9cb959ec95 Small fixes in manual.md (#2118) 2019-04-15 12:54:17 -04:00
Bert Belder
3bea62dd0e
third_party: fix bug in hyper latency patch 2019-04-14 23:25:20 +02:00
Axetroy
7336800658 add writeFileStr and update documentation (denoland/deno_std#340)
Original: 191e53a78b
2019-04-14 16:14:57 -04:00
Bert Belder
64fb86c0cf
third_party: patch hyper to reduce worst-case response latency 2019-04-14 22:07:44 +02:00
Ryan Dahl
c7e1f8fabd
Fix silent error, add custom panic handler (#2098)
This is to work around Tokio's panic recovery feature.
Ref https://github.com/tokio-rs/tokio/issues/495
Ref https://github.com/tokio-rs/tokio/issues/209
Ref https://github.com/denoland/deno/issues/1311
Fixes #2097
2019-04-14 16:07:24 -04:00
Vincent LE GOFF
d2d5b6ac8e Fix eslint warnings and small clean ups (denoland/deno_std#339)
Original: 95ab4e2a3c
2019-04-14 10:53:19 -04:00
tanakaworld
b413cd5afd docs: add a pixelated animation logo (#2110) 2019-04-14 10:30:10 -04:00
Ryan Dahl
a51e782155
Upgrade deno_std (#2111) 2019-04-13 16:10:19 -04:00
Vincent LE GOFF
fcb8e67626 doc: Add missing documentation (denoland/deno_std#336)
Original: 4d25cc1e35
2019-04-13 15:30:56 -04:00
Vincent LE GOFF
99cedf40e7 Added read file str (denoland/deno_std#276)
Original: b462ad2530
2019-04-13 15:26:09 -04:00
Vincent LE GOFF
0c877a1283 EOL add mixed detection (denoland/deno_std#325)
Original: bb92c44c64
2019-04-13 15:24:36 -04:00
Kevin (Kun) "Kassimo" Qian
236cedc7cb Enforce HTTP/1.1 pipeline response order (denoland/deno_std#331)
Original: 144ef0e08d
2019-04-13 15:23:56 -04:00
Yoshiya Hinosawa
635ad2a18e fix absolute path resolution from remote (#2109) 2019-04-13 13:27:27 -04:00
Bartek Iwańczuk
591b5e4a7d Add deno eval subcommand (#2102) 2019-04-13 13:24:15 -04:00
andy finch
d3bd5879c3 better wait for removed_from_resource_table_on_close test (#2104) 2019-04-12 18:39:31 -04:00
Yoshiya Hinosawa
e0edcc9c1b fix: re-expose DomFile (#2100) 2019-04-12 14:54:13 -04:00
迷渡
ea1b0519f5 Update deno -h output in manual (#2099) 2019-04-12 14:50:08 -04:00
Ryan Dahl
8584d80cfd v0.3.7 2019-04-11 15:35:21 -04:00
andy finch
960ee5257a Improve op dispatch (#2088) 2019-04-11 10:58:31 -04:00
Bartek Iwańczuk
1034d9723d fix --v8-options (#2093) 2019-04-11 10:20:07 -04:00
Bert Belder
4ffe1612ff Silence clippy warnings and format source code 2019-04-09 20:05:47 +02:00
Bert Belder
fe2f3ba889 Use correct type for source_bytes when buiding in check-only mode 2019-04-09 20:05:47 +02:00
Yoshiya Hinosawa
5a3f3a7445 upgrade deno_std & add workaround prettier issue (#2087) 2019-04-09 13:32:48 -04:00
Ryan Dahl
d2579f4564
core: Rename Behavior to Dispatch (#2082)
And rename IsolateState to ThreadSafeState.

Also make ThreadSafeState directly implement Dispatch. This is simpler.
2019-04-09 13:11:25 -04:00
Bartek Iwańczuk
733fbfd555 Fix denoland/denodenoland/deno_std#2064 (denoland/deno_std#328)
Original: 2c119627dc
2019-04-09 04:33:22 -04:00
Bert Belder
e43da28b28
core: poll ops round robin
Also use a VecDeque to store pending ops to avoid exponential time complexity
when removing completed ops from the list.
2019-04-08 23:10:21 +02:00
Ryan Dahl
2debbdacb9
Merge Worker and Isolate types (#2078)
Reduces generics.
2019-04-08 17:10:00 -04:00
Vincent LE GOFF
734cf781c6 Allow high precision performance.now() (#1977) 2019-04-08 16:22:40 -04:00
Ryan Dahl
f7fdb90fd5
core: snapshot improvements (#2052)
* Moves how snapshots are supplied to the Isolate. Previously they were
  given by Behavior::startup_data() but it was only called once at
  startup. It makes more sense (and simplifies Behavior) to pass it to the
  constructor of Isolate.
* Adds new libdeno type deno_snapshot instead of overloading
  deno_buf.
* Adds new libdeno method to delete snapshot deno_snapshot_delete().
* Renames deno_get_snapshot() to deno_snapshot_new().
* Makes StartupData hold references to snapshots. This was implicit when
  it previously held a deno_buf but is made explicit now. Note that
  include_bytes!() returns a &'static [u8] and we want to avoid
  copying that.
2019-04-08 10:12:43 -04:00
Axetroy
b99f8375b2 feat: add entry point file for fs modules (denoland/deno_std#272)
Original: 290cbcb9da
2019-04-08 09:29:44 -04:00
迷渡
cdb72afd8d fix console instanceof Console (#2073) 2019-04-08 09:25:01 -04:00
Kevin (Kun) "Kassimo" Qian
1746a3ac69 Add link/linkSync fs call for hardlinks (#2074) 2019-04-08 09:11:32 -04:00
Ryan Dahl
4232c89c9e
Use -O3 instead of -O (#2070)
As recommended in
https://www.reddit.com/r/rust/comments/balb45/why_is_hypers_max_latency_so_high_in_deno/ekck1ww/
2019-04-07 22:28:28 -04:00
Jonathon Orsi
3452a10840 use flatbuffer create functions to add fields (#2046) 2019-04-07 20:51:43 -04:00
Yoshiya Hinosawa
985386228b refactor: update for flag change in the next version (denoland/deno_std#327)
Original: b6c7291181
2019-04-07 20:30:45 -04:00
Bartek Iwańczuk
86aee7f137 Flags clean up: DenoFlags::from (#2068) 2019-04-07 14:58:16 -04:00
Ryan Dahl
3995473925
Fix unit_tests.py (#2065)
They were silently broken in 780e72 due to flag reordering. This commit
also includes a new assert that would avoid that kind of failure in the
future.
2019-04-07 20:58:26 +03:00
Gxyz
3324afbd40 Fix typo in manual.md (#2066) 2019-04-07 06:55:44 +03:00
Vincent LE GOFF
955a9bc13e Added EOL detect / format (denoland/deno_std#289)
Original: 1d53fb4d79
2019-04-07 04:06:07 +03:00
Axetroy
d6f808958f fix: ensure exists file/dir must be the same type or it will throw error (denoland/deno_std#294)
Original: 24f41f67bd
2019-04-07 04:01:23 +03:00
Kevin (Kun) "Kassimo" Qian
9d1e24b67b Remove await from respond in http_bench.ts (denoland/deno_std#324)
Original: 1ea76ca797
2019-04-07 03:58:01 +03:00
Bartek Iwańczuk
780e72ab6a Refactor CLI flag parsing (#2025) 2019-04-07 01:13:06 +03:00
Ryan Dahl
d9d77803e5 Bump CI to v0.3.6 (denoland/deno_std#323)
Original: 2b6222be9a
2019-04-06 17:59:13 +03:00
Ryan Dahl
cb11bbd839
Test TCP_NODELAY in hyper_hello (#2060) 2019-04-06 16:56:30 +03:00