Commit graph

806 commits

Author SHA1 Message Date
Andy Hayden 2d583f85ee Exit http_server.py if it's crashed 2018-10-20 00:27:37 -04:00
Bert Belder 3a6b2f3c71
build: make rollup generate a depfile for the bundle build 2018-10-20 03:42:45 +02:00
Ryan Dahl 6e6deed12d Upgrade crates 2018-10-19 21:42:23 -04:00
Ryan Dahl 428fc450eb Upgrade node_modules. 2018-10-19 21:42:23 -04:00
Ryan Dahl 842a087d51 Add style to benchmark page 2018-10-19 21:36:07 -04:00
Ryan Dahl b5d7e38f9b Add Docs.md
Remove stuff from Roadmap that has been implemented.
2018-10-19 21:36:07 -04:00
Ryan Dahl 8f9d407e22 Sort ops. 2018-10-19 21:36:07 -04:00
Ryan Dahl 1cfa41920e Disable warning on linux. 2018-10-19 21:35:10 -04:00
ztplz b809a82fd9 Add missing copyrights (#1024) 2018-10-19 15:25:29 -04:00
ztplz 7210e7b33b Make fetch header compliant with the current spec (#1019) 2018-10-19 12:12:36 -04:00
J2P 198fa31ec1 Fix a typo in http_benchmark.py 2018-10-19 09:07:55 -04:00
Bert Belder 142e532910
libdeno: store v8::Persistent in map by value instead of by reference 2018-10-19 02:35:49 +02:00
Bert Belder d0b859ec37
format 2018-10-19 00:29:09 +02:00
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