1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-29 10:39:10 -05:00
Commit graph

5543 commits

Author SHA1 Message Date
Ryan Dahl
d534ea41ad Optimization: Use std::map for tracking zero-copy buffers
Instead of V8 map.
2018-10-18 17:49:03 -04:00
Bartek Iwańczuk
3a226f166f add test case for metrics 2018-10-18 05:08:49 -04:00
Bartek Iwańczuk
fd2bb015c7 fix metrics logic 2018-10-18 05:08:49 -04:00
Ryan Dahl
213885a9d0 Optimization: Reuse ArrayBuffer during serialization. 2018-10-17 20:20:06 -04:00
Ryan Dahl
4e2e185de7 Add tools/build_test.py 2018-10-17 20:20:06 -04:00
Ryan Dahl
4d669c63f4 Reduce ArrayBuffer allocations in ImportBuf() 2018-10-17 16:02:00 -04:00
Ryan Dahl
21bcdd49cd Only run deno during ./tools/http_benchmark.py 2018-10-17 16:02:00 -04:00
Jinho Bang
32f0797128 Fix a bug that copyFile reports different error codes
This is a workaroud. Once the issue is resolved in Rust side, we should
remove it.

Fixes #895
2018-10-17 08:24:31 -04:00
Yoshiya Hinosawa
d4afbe6ef3 improve benchmark page performance and fix test (#1002) 2018-10-16 12:00:47 -04:00
Amos Lim
a90cf4c2ee Interrupt http_server.py by ctrl + c (#1001) 2018-10-16 11:54:08 -04:00
Ryan Dahl
c61a0f2f84 First pass at http benchmark. 2018-10-16 09:37:38 -04:00
Ryan Dahl
62962e71fe Fix throughput_benchmark 2018-10-16 09:37:38 -04:00
Ryan Dahl
590feb1c71 Format 2018-10-16 09:37:38 -04:00
Jinho Bang
1322f3de9f deno -v should report typescript version
Fixes #993
2018-10-15 22:16:55 -04:00
Andy Hayden
fb90c6f525 Exit cleanly on unrecognized arguments (#990)
Refactor set_flags to return a Result
2018-10-15 14:26:22 -04:00
Jinho Bang
28682a1d2c Fix a binary size regression
This patch changes Jumbo build to use only in debug mode.
2018-10-15 14:22:15 -04:00
Kitson Kelly
25c97962f4 Update to TypeScript 3.1 and ts-simple-ast 17 (#980) 2018-10-15 12:47:48 -04:00
Jinho Bang
dc8841d8a9 Improve build performance by using jumbo build
The Jumbo build is the Chromium implementation of a Unity build system
aimed at dramatically lowering the compilation times. It can be easily
enabled with `use_jumbo_build=true`.

When you enable this, the biggest problem is that name conflicts can
occur between multiple c++ files merged, which is no problem for `deno`.
Because the V8's Jumbo build is managed in upstream, and `deno` will
just pick up a stable build V8.

So, this patch enables Jumbo build by default. After this patch, the
total number of build objects are halved. (1014 -> 493)

FYI, the following results are tested in my local environment.
 - IMAC 5K, i5 4-cores, 24GB, 512GB SSD

Test result1: No use ccache
|   |Jumbo build without ccache|Normal build without ccache|
|---|--------------------------|---------------------------|
| 1 |         0:05:26          |          0:11:31          |
| 2 |         0:05:24          |          0:11:29          |
| 3 |         0:05:25          |          0:11:28          |
| 4 |         0:05:24          |          0:11:29          |
| 5 |         0:05:26          |          0:11:29          |
|AVG|         0:05:25          |          0:11:29          |

Test result2: Use ccache
|   |Jumbo build with ccache|Normal build with ccache|
|---|-----------------------|------------------------|
| 1 |        0:01:38        |        0:01:13         |
| 2 |        0:01:45        |        0:01:21         |
| 3 |        0:01:39        |        0:02:20         |
| 4 |        0:01:45        |        0:02:16         |
| 5 |        0:01:42        |        0:02:19         |
| 6 |        0:01:17        |        0:01:11         |
| 7 |        0:01:01        |        0:01:48         |
| 8 |        0:00:54        |        0:01:57         |
| 9 |        0:01:03        |        0:02:15         |
|10 |        0:01:36        |        0:02:19         |
|AVG|        0:01:26        |        0:01:54         |

Refs: https://chromium.googlesource.com/chromium/src/+/master/docs/jumbo.md
2018-10-15 12:37:17 -04:00
Amos Lim
15590a0cde Specify deno_dir location with env var DENO_DIR (#970)
(Use C:\deno instead of c:\deno in appveyor config because it's cloned to c:\ by clone_folder variable in .appveyor.yml. On the other hand, build directory is pointed to C:\ by $(APPVEYOR_BUILD_FOLDER) so that test targets are placed on separated partitions.)
2018-10-15 12:08:19 -04:00
Kitson Kelly
a327759971 Add CONTRIBUTING.md 2018-10-14 17:39:42 -04:00
Kitson Kelly
10a97679ac Align JSDoc to style guide. 2018-10-14 17:38:23 -04:00
Kevin (Kun) "Kassimo" Qian
1840a19713 Remove deno name assumption from tests 2018-10-13 19:45:01 -04:00
Shiva Prasanth
bbf88c5295 Add cwd() and chdir() (#907) 2018-10-13 16:03:27 -04:00
Ryan Dahl
d92c99eaba v0.1.8
- Fix promise reject issue (#936)
- Add --types command line flag.
- Add metrics()
- Add redirect follow feature #934
- Fix clearTimer bug #942
- Improve error printing #935
- Expose I/O interfaces Closer, Seeker, ReaderCloser, WriteCloser,
  ReadSeeker, WriteSeeker, ReadWriteCloser, ReadWriteSeeker
- Fix silent death on double await #919
- Add Conn.closeRead() and Conn.closeWrite() #903
2018-10-12 14:44:42 -04:00
Kevin (Kun) "Kassimo" Qian
45d3b8955d Fix promise reject issue (#936) 2018-10-12 14:22:52 -04:00
Ryan Dahl
c9f95d51da perf: Increase copy() buffer to 32k
This will improve the threshold benchmark. Using 32k because that's what
Go uses, but we should explore the value in the future.
a0d6420d8b/src/io/io.go (L391)
2018-10-12 08:58:17 -04:00
Kitson Kelly
298d755152 Add support for --types 2018-10-11 20:29:43 -04:00
Kitson Kelly
ec402c6932 Replace globals.d.ts with lib.deno_runtime.d.ts 2018-10-11 20:29:43 -04:00
Ryan Dahl
fda7aaa10e Use node v8 on Travis.
Apparently OSX defaults to v6 and Linux to v8.
v6 does not properly run //js/testing due to async usage.
2018-10-11 20:29:43 -04:00
Ryan Dahl
4f4075307d
Fix metrics() race condition. (#965) 2018-10-11 18:22:05 -04:00
Ryan Dahl
d4f72e18be
Improve tools/unit_tests.py (#958)
Checks the output more carefully. The first line of output from
js/unit_tests.ts should be something like "running 96 tests"
And the last line should be something like
"test result: ok. 96 passed; 0 failed; 0 ignored; 0 measured; 36
filtered out"
This parses those strings and make sure they align.

This will catch silent death bugs.
2018-10-11 16:56:50 -04:00
Ryan Dahl
c814d5a914
Add throughput benchmark (#961) 2018-10-11 16:55:22 -04:00
Bartek Iwańczuk
51f9331ecb Add deno.metrics() 2018-10-11 15:45:51 -04:00
Li Hao
951e5def98 timers: align unit tests with others 2018-10-11 13:21:25 -04:00
Amos Lim
900dd6fa42 Add links of issues in Roadmap.md 2018-10-11 10:45:01 -04:00
Ryan Dahl
417ea7bb6d src/http.rs -> src/http_util.rs
So as not to conflict with http crate.
2018-10-10 14:29:55 -04:00
J2P
c99207bf39 Rename fd to rid 2018-10-10 12:21:01 -04:00
J2P
7cc9b64ff7 Rename BadFileDescriptor 2018-10-10 12:21:01 -04:00
Ryan Dahl
930df1848a Upgrade hyper-rustls
This removes tokio-core, which was deprecated.
2018-10-10 12:19:08 -04:00
Ryan Dahl
d26792d926 Clean up Isolate::event_loop with utility function. 2018-10-10 12:18:48 -04:00
ztplz
8ada28716a Add counts for ignored , measured, filtered 2018-10-10 08:03:59 -04:00
Kevin (Kun) "Kassimo" Qian
888824c617 Add redirect follow feature (#934) 2018-10-09 20:31:06 -04:00
Ryan Dahl
94889aef08 Re-enable test_fetch_sync_string 2018-10-09 13:59:50 -04:00
Bert Belder
5b66f28fa3
timers: add test for clearTimer bug #942 2018-10-08 19:54:32 +02:00
Li Hao
3fe6530f11
timers: fix clearTimer bug 2018-10-08 19:53:53 +02:00
Bert Belder
4f3250bc43
Remove deno_get_data()
Instead, pass the isolate data to the dispatch callback directly.
2018-10-08 18:19:36 +02:00
Bert Belder
e742af10aa
Abide by the rules when passing Isolate between c and rust
Ensure that at most one mutable Isolate reference exists at a time.

`deno_execute()` and `deno_respond()` now borrow a reference to the rust-side
isolate from the caller. When we need a reference to the isolate while one of
these functions is on the stack, `deno_get_data()` can be used to borrow back
that reference.
2018-10-08 18:19:32 +02:00
Bert Belder
d86e5d2605
Remove ntasks aliasing workaround 2018-10-08 18:10:28 +02:00
Bert Belder
ad4c4c214a
Rename Deno.data to Deno.user_data
Also use the correct rust type for it.
2018-10-08 18:10:28 +02:00
Bert Belder
14b971c5f7
Rename Isolate.ptr to Isolate.libdeno_isolate 2018-10-08 18:10:27 +02:00