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

url: significantly improve the performance of the url module #933

Closed
wants to merge 34 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
e61ee49
Working on v2.0.0
chrisdickinson Apr 17, 2015
6870764
doc: update CONTRIBUTING.md
brendanashworth Apr 18, 2015
7180597
Revert "http: don't bother making a copy of the options"
brendanashworth Apr 18, 2015
6bf85bc
test: add test for 06cfff9 regression
brendanashworth Apr 18, 2015
59a5c98
Merge v1.8.1.
chrisdickinson Apr 21, 2015
2632775
doc: update AUTHORS list
rvagg Apr 20, 2015
b16a328
doc: add spaces to child.kill example
enaqx Apr 22, 2015
22aafa5
doc: add Fishrock123 to the TC
Fishrock123 Apr 23, 2015
a7d7463
tls_wrap: use localhost if options.host is empty
sitegui Apr 21, 2015
7384ca8
module: remove '' from Module.globalPaths
chrisyip Apr 21, 2015
bb254b5
doc: update branch to master
silverwind Apr 23, 2015
3d3083b
buffer: little improve for Buffer.concat method
JacksonTian Apr 16, 2015
1bef717
net: cleanup connect logic
evanlucas Apr 22, 2015
4abe2fa
net: add lookup option to Socket.prototype.connect
evanlucas Apr 22, 2015
f3cc50f
doc: add TC meeting 2015-04-08 minutes
rvagg Apr 22, 2015
5178f93
doc: Add Addon API (NAN) to working group list
julianduque Apr 25, 2015
bf7ac08
util: add Map and Set inspection support
monsanto Apr 20, 2015
3bda6cb
win,node-gyp: enable delay-load hook by default
piscisaureus Apr 15, 2015
5472139
test: adjust Makefile/test-ci, add to vcbuild.bat
rvagg Apr 26, 2015
bfae823
test: fix test-net-dns-custom-lookup test assertion
evanlucas Apr 26, 2015
2a3c8c1
build: remove -J from test-ci
rvagg Apr 28, 2015
e55fdc4
doc: fix util.deprecate example
enaqx Apr 27, 2015
0fa6c4a
string_decoder: don't cache Buffer.isEncoding
mscdex Apr 28, 2015
391cae3
doc: Add Known issues to v1.7.0/1.7.1 CHANGELOG
yosuke-furukawa Apr 20, 2015
1bcdf46
doc: add TC meeting 2015-04-15 minutes
rvagg Apr 22, 2015
b57cc51
os: remove trailing slash from os.tmpdir()
tellnes Feb 6, 2015
36cd5fb
deps: upgrade v8 to 4.2.77.13
bnoordhuis Mar 27, 2015
db4ded5
deps: enable v8 postmortem debugging again
bnoordhuis Mar 27, 2015
01e6632
deps: upgrade v8 to 4.2.77.15
bnoordhuis Apr 11, 2015
01652c7
deps: upgrade v8 to 4.2.77.18
chrisdickinson Apr 25, 2015
509b59e
deps: enable v8 postmortem debugging again
bnoordhuis Mar 27, 2015
f9c681c
fs: validate fd on fs.write
julianduque Apr 28, 2015
f9b226c
test: extend timeouts for ARMv6
rvagg Apr 29, 2015
bf07d13
url: significantly improve the performance of the url module
petkaantonov Mar 23, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -744,5 +744,8 @@ Giovanny Andres Gongora Granada <[email protected]>
Jeffrey Jagoda <[email protected]>
Kelsey Breseman <[email protected]>
Peter Petrov <[email protected]>
Andrew Crites <[email protected]>
Marat Abdullin <[email protected]>
Dan Varga <[email protected]>

# Generated by tools/update-authors.sh
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,14 @@ will be removed at a later point. (Roman Reiss) [#1363](https://github.com/iojs/

* **build**: A syntax error in the Makefile for release builds caused 1.7.0 to be DOA and unreleased. (Rod Vagg) [#1421](https://github.com/iojs/io.js/pull/1421).

### Known issues

* Some problems with unreferenced timers running during `beforeExit` are still to be resolved. See [#1264](https://github.com/iojs/io.js/issues/1264).
* Surrogate pair in REPL can freeze terminal [#690](https://github.com/iojs/io.js/issues/690)
* `process.send()` is not synchronous as the docs suggest, a regression introduced in 1.0.2, see [#760](https://github.com/iojs/io.js/issues/760) and fix in [#774](https://github.com/iojs/io.js/issues/774)
* Calling `dns.setServers()` while a DNS query is in progress can cause the process to crash on a failed assertion [#894](https://github.com/iojs/io.js/issues/894)
* readline: split escapes are processed incorrectly, see [#1403](https://github.com/iojs/io.js/issues/1403)

### Commits

* [[`aee86a21f2`](https://github.com/iojs/io.js/commit/aee86a21f2)] - **build**: fix RELEASE check (Rod Vagg) [#1421](https://github.com/iojs/io.js/pull/1421)
Expand All @@ -114,6 +122,14 @@ will be removed at a later point. (Roman Reiss) [#1363](https://github.com/iojs/
* [`78005eb`](https://github.com/npm/npm/commit/78005ebb6f4103c20f077669c3929b7ea46a4c0d)[#7743](https://github.com/npm/npm/issues/7743) Always quote arguments passed to `npm run-script`. This allows build systems and the like to safely escape glob patterns passed as arguments to `run-scripts` with `npm run-script <script> -- <arguments>`. This is a tricky change to test, and may be reverted or moved to `npm@3` if it turns out it breaks things for users. ([@mantoni](https://github.com/mantoni))
* [`da015ee`](https://github.com/npm/npm/commit/da015eee45f6daf384598151d06a9b57ffce136e)[#7074](https://github.com/npm/npm/issues/7074) `[email protected]`: `read-package-json` no longer caches `package.json` files, which trades a very small performance loss for the elimination of a large class of really annoying race conditions. See [#7074](https://github.com/npm/npm/issues/7074) for the grisly details. ([@othiym23](https://github.com/othiym23))

### Known issues

* Some problems with unreferenced timers running during `beforeExit` are still to be resolved. See [#1264](https://github.com/iojs/io.js/issues/1264).
* Surrogate pair in REPL can freeze terminal [#690](https://github.com/iojs/io.js/issues/690)
* `process.send()` is not synchronous as the docs suggest, a regression introduced in 1.0.2, see [#760](https://github.com/iojs/io.js/issues/760) and fix in [#774](https://github.com/iojs/io.js/issues/774)
* Calling `dns.setServers()` while a DNS query is in progress can cause the process to crash on a failed assertion [#894](https://github.com/iojs/io.js/issues/894)
* readline: split escapes are processed incorrectly, see [#1403](https://github.com/iojs/io.js/issues/1403)

### Commits

* [[`d2b62a4973`](https://github.com/iojs/io.js/commit/d2b62a4973)] - **benchmark**: don't check wrk in non-http benchmark (Jackson Tian) [#1368](https://github.com/iojs/io.js/pull/1368)
Expand Down
12 changes: 6 additions & 6 deletions COLLABORATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,14 +119,14 @@ $ git rebase --abort
Checkout proper target branch

```text
$ git checkout v1.x
$ git checkout master
```

Update the tree

```text
$ git fetch origin
$ git merge --ff-only origin/v1.x
$ git merge --ff-only origin/master
```

Apply external patches
Expand All @@ -138,21 +138,21 @@ $ curl -L https://github.com/iojs/io.js/pull/xxx.patch | git am --whitespace=fix
Check and re-review the changes

```text
$ git diff origin/v1.x
$ git diff origin/master
```

Check number of commits and commit messages

```text
$ git log origin/v1.x...v1.x
$ git log origin/master...master
```

If there are multiple commits that relate to the same feature or
one with a feature and separate with a test for that feature -
you'll need to squash them (or strictly speaking `fixup`).

```text
$ git rebase -i origin/v1.x
$ git rebase -i origin/master
```

This will open a screen like this (in the default shell editor):
Expand Down Expand Up @@ -210,7 +210,7 @@ line.
Time to push it:

```text
$ git push origin v1.x
$ git push origin master
```

### I just made a mistake
Expand Down
22 changes: 7 additions & 15 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,8 @@ $ git remote add upstream git://github.com/iojs/io.js.git

#### Which branch?

Now decide if you want your feature or bug fix to go into the master branch
or the stable branch. As a rule of thumb, bug fixes go into the stable branch
while new features go into the master branch.

The stable branch is effectively frozen; patches that change the io.js
API/ABI or affect the run-time behavior of applications get rejected. The
current stable branch is set as the default branch on GitHub.
For developing new features and bug fixes, the `master` branch should be pulled
and built upon.

#### Respect the stability index

Expand All @@ -49,7 +44,7 @@ The rules for the master branch are less strict; consult the

In a nutshell, modules are at varying levels of API stability. Bug fixes are
always welcome but API or behavioral changes to modules at stability level 3
and up are off-limits.
(Locked) are off-limits.

#### Dependencies

Expand All @@ -71,12 +66,9 @@ does not align with the project team.
Create a feature branch and start hacking:

```text
$ git checkout -b my-feature-branch -t origin/v1.x
$ git checkout -b my-feature-branch -t origin/master
```

(Where `v1.x` is the latest stable branch as of this writing.)


### Step 3: Commit

Make sure git knows your name and email address:
Expand Down Expand Up @@ -123,7 +115,7 @@ Use `git rebase` (not `git merge`) to sync your work from time to time.

```text
$ git fetch upstream
$ git rebase upstream/v1.x # or upstream/master
$ git rebase upstream/master
```


Expand All @@ -147,10 +139,10 @@ can use this syntax to run it exactly as the test harness would:
$ python tools/test.py -v --mode=release parallel/test-stream2-transform
```

You can run tests directly with node:
You can run tests directly with iojs:

```text
$ node ./test/parallel/test-streams2-transform.js
$ iojs ./test/parallel/test-streams2-transform.js
```


Expand Down
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,9 @@ test-all-valgrind: test-build
$(PYTHON) tools/test.py --mode=debug,release --valgrind

test-ci:
$(PYTHON) tools/test.py -p tap --logfile test.tap -J parallel sequential message
$(PYTHON) tools/test.py -p tap --logfile test.tap --mode=release message parallel sequential
$(MAKE) jslint
$(MAKE) cpplint

test-release: test-build
$(PYTHON) tools/test.py --mode=release
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ information about the governance of the io.js project, see
- Release GPG key: DD8F2338BAE7501E3DD5AC78C273792F7D83545D
* **Thorsten Lorenz** ([@thlorenz](https://github.com/thlorenz)) &lt;[email protected]&gt;
* **Stephen Belanger** ([@qard](https://github.com/qard)) &lt;[email protected]&gt;
* **Jeremiah Senkpiel** ([@fishrock123](https://github.com/fishrock123)) &lt;[email protected]&gt;
* **Jeremiah Senkpiel** ([@fishrock123](https://github.com/fishrock123)) &lt;[email protected]&gt; (Technical Committee)
- Release GPG key: FD3A5288F042B6850C66B31F09FE44734EB7990E
* **Evan Lucas** ([@evanlucas](https://github.com/evanlucas)) &lt;[email protected]&gt;
* **Brendan Ashworth** ([@brendanashworth](https://github.com/brendanashworth)) &lt;[email protected]&gt;
Expand Down
11 changes: 6 additions & 5 deletions WORKING_GROUPS.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# io.js Working Groups

io.js Working Groups are autonomous projects created by the
[Technical Committee (TC)](https://github.com/iojs/io.js/blob/v1.x/GOVERNANCE.md#technical-committee).
[Technical Committee (TC)](https://github.com/iojs/io.js/blob/master/GOVERNANCE.md#technical-committee).

Working Groups can be formed at any time but must be ratified by the TC.
Once formed the work defined in the Working Group charter is the
Expand All @@ -26,6 +26,7 @@ back in to the TC.
* [Evangelism](#evangelism)
* [Roadmap](#roadmap)
* [Docker](#docker)
* [Addon API](#addon-api)
* [Starting a Working Group](#starting-a-wg)
* [Bootstrap Governance](#bootstrap-governance)

Expand Down Expand Up @@ -179,7 +180,7 @@ Their responsibilities are:
* Maintain and improve the images' documentation.


### Addon API
### [Addon API](https://github.com/iojs/nan)

The Addon API Working Group is responsible for maintaining the NAN project and
corresponding _nan_ package in npm. The NAN project makes available an
Expand All @@ -189,9 +190,9 @@ versions of Node.js, io.js, V8 and libuv.

Their responsibilities are:

* Maintaining the [NAN](https://github.com/rvagg/nan) GitHub repository,
* Maintaining the [NAN](https://github.com/iojs/nan) GitHub repository,
including code, issues and documentation.
* Maintaining the [addon-examples](https://github.com/rvagg/node-addon-examples)
* Maintaining the [addon-examples](https://github.com/iojs/node-addon-examples)
GitHub repository, including code, issues and documentation.
* Maintaining the C++ Addon API within the io.js project, in subordination to
the io.js TC.
Expand All @@ -202,7 +203,7 @@ Their responsibilities are:
community advance notice of changes.

The current members can be found in their
[README](https://github.com/rvagg/nan#collaborators).
[README](https://github.com/iojs/nan#collaborators).

## Starting a WG

Expand Down
2 changes: 1 addition & 1 deletion deps/npm/node_modules/node-gyp/addon.gypi

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions deps/v8/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
.settings
.*.sw?
bsuite
compile_commands.json
d8
d8_g
gccauses
Expand Down
Loading