Просмотр исходного кода

Auto merge of #2575 - micbou:remove-install-aliases, r=Valloric

[READY] Do not install aliases from future

Depends on PR https://github.com/Valloric/ycmd/pull/722. This improves startup time on Python 2:

<table>
  <tr>
    <th rowspan="2">Platform</th>
    <th colspan="2">First run (ms)</th>
    <th colspan="2">Subsequent runs (ms)</th>
  </tr>
  <tr>
    <td>Before</td>
    <td>After</td>
    <td>Before</td>
    <td>After</td>
  </tr>
  <tr>
    <td>Ubuntu 16.04 64-bit</td>
    <td>245</td>
    <td>162</td>
    <td>134</td>
    <td>103</td>
  </tr>
  <tr>
    <td>macOS 10.12</td>
    <td>314</td>
    <td>202</td>
    <td>192</td>
    <td>136</td>
  </tr>
  <tr>
    <td>Windows 10 64-bit</td>
    <td>659</td>
    <td>384</td>
    <td>257</td>
    <td>154</td>
  </tr>
</table>

*Results obtained by running the `prof.py` script from [this branch](https://github.com/micbou/YouCompleteMe/tree/profiling-startup).*

Fixes #2332.
Fixes #2467.
Fixes #2568.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2575)
<!-- Reviewable:end -->
Homu 8 лет назад
Родитель
Сommit
46ee48432d
35 измененных файлов с 39 добавлено и 74 удалено
  1. 1 2
      python/ycm/base.py
  2. 4 6
      python/ycm/client/base_request.py
  3. 1 2
      python/ycm/client/command_request.py
  4. 1 2
      python/ycm/client/completer_available_request.py
  5. 1 2
      python/ycm/client/completion_request.py
  6. 1 2
      python/ycm/client/debug_info_request.py
  7. 1 2
      python/ycm/client/event_notification.py
  8. 1 2
      python/ycm/client/omni_completion_request.py
  9. 1 2
      python/ycm/client/shutdown_request.py
  10. 1 2
      python/ycm/client/ycmd_keepalive.py
  11. 1 2
      python/ycm/diagnostic_filter.py
  12. 1 2
      python/ycm/diagnostic_interface.py
  13. 1 2
      python/ycm/omni_completer.py
  14. 1 2
      python/ycm/paths.py
  15. 1 2
      python/ycm/syntax_parse.py
  16. 1 2
      python/ycm/tests/__init__.py
  17. 1 2
      python/ycm/tests/base_test.py
  18. 1 2
      python/ycm/tests/client/command_request_test.py
  19. 1 2
      python/ycm/tests/client/completion_request_test.py
  20. 1 2
      python/ycm/tests/client/debug_info_request_test.py
  21. 1 2
      python/ycm/tests/client/omni_completion_request_tests.py
  22. 1 2
      python/ycm/tests/command_test.py
  23. 1 2
      python/ycm/tests/completion_test.py
  24. 1 2
      python/ycm/tests/diagnostic_filter_test.py
  25. 1 2
      python/ycm/tests/event_notification_test.py
  26. 2 3
      python/ycm/tests/omni_completer_test.py
  27. 1 2
      python/ycm/tests/paths_test.py
  28. 1 2
      python/ycm/tests/postcomplete_test.py
  29. 1 2
      python/ycm/tests/syntax_parse_test.py
  30. 1 2
      python/ycm/tests/test_utils.py
  31. 1 2
      python/ycm/tests/vimsupport_test.py
  32. 1 2
      python/ycm/tests/youcompleteme_test.py
  33. 1 2
      python/ycm/vimsupport.py
  34. 1 2
      python/ycm/youcompleteme.py
  35. 1 1
      third_party/ycmd

+ 1 - 2
python/ycm/base.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from future.utils import iteritems

+ 4 - 6
python/ycm/client/base_request.py

@@ -19,14 +19,13 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 import contextlib
 import logging
-import urllib.parse
 import json
+from future.moves.urllib.parse import urljoin, urlparse
 from future.utils import native
 from base64 import b64decode, b64encode
 from ycm import vimsupport
@@ -120,7 +119,7 @@ class BaseRequest( object ):
     headers = dict( _HEADERS )
     headers[ _HMAC_HEADER ] = b64encode(
         CreateRequestHmac( ToBytes( method ),
-                           ToBytes( urllib.parse.urlparse( request_uri ).path ),
+                           ToBytes( urlparse( request_uri ).path ),
                            request_body,
                            BaseRequest.hmac_secret ) )
     return headers
@@ -263,8 +262,7 @@ def _ValidateResponseObject( response ):
 
 
 def _BuildUri( handler ):
-  return native( ToBytes( urllib.parse.urljoin( BaseRequest.server_location,
-                                                handler ) ) )
+  return native( ToBytes( urljoin( BaseRequest.server_location, handler ) ) )
 
 
 def MakeServerException( data ):

+ 1 - 2
python/ycm/client/command_request.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.client.base_request import ( BaseRequest, BuildRequestData,

+ 1 - 2
python/ycm/client/completer_available_request.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.client.base_request import ( BaseRequest, BuildRequestData,

+ 1 - 2
python/ycm/client/completion_request.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycmd.utils import ToUnicode

+ 1 - 2
python/ycm/client/debug_info_request.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.client.base_request import ( BaseRequest, BuildRequestData,

+ 1 - 2
python/ycm/client/event_notification.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.client.base_request import ( BaseRequest, BuildRequestData,

+ 1 - 2
python/ycm/client/omni_completion_request.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.client.completion_request import CompletionRequest

+ 1 - 2
python/ycm/client/shutdown_request.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.client.base_request import BaseRequest, HandleServerException

+ 1 - 2
python/ycm/client/ycmd_keepalive.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 import time

+ 1 - 2
python/ycm/diagnostic_filter.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from future.utils import iterkeys, iteritems

+ 1 - 2
python/ycm/diagnostic_interface.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from future.utils import itervalues, iteritems

+ 1 - 2
python/ycm/omni_completer.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 import vim

+ 1 - 2
python/ycm/paths.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 import os

+ 1 - 2
python/ycm/syntax_parse.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from future.utils import itervalues

+ 1 - 2
python/ycm/tests/__init__.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.tests.test_utils import MockVimModule

+ 1 - 2
python/ycm/tests/base_test.py

@@ -22,8 +22,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 import contextlib

+ 1 - 2
python/ycm/tests/client/command_request_test.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.tests.test_utils import ExtendedMock, MockVimModule

+ 1 - 2
python/ycm/tests/client/completion_request_test.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from nose.tools import eq_

+ 1 - 2
python/ycm/tests/client/debug_info_request_test.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from copy import deepcopy

+ 1 - 2
python/ycm/tests/client/omni_completion_request_tests.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from mock import MagicMock

+ 1 - 2
python/ycm/tests/command_test.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.tests.test_utils import ( MockVimModule, MockVimBuffers, VimBuffer )

+ 1 - 2
python/ycm/tests/completion_test.py

@@ -21,8 +21,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.tests.test_utils import ( CurrentWorkingDirectory, ExtendedMock,

+ 1 - 2
python/ycm/tests/diagnostic_filter_test.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.tests.test_utils import MockVimModule

+ 1 - 2
python/ycm/tests/event_notification_test.py

@@ -21,8 +21,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.tests.test_utils import ( CurrentWorkingDirectory, ExtendedMock,

+ 2 - 3
python/ycm/tests/omni_completer_test.py

@@ -21,11 +21,10 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
-from future.utils import PY2
 
+from future.utils import PY2
 from mock import patch, call
 from nose.tools import eq_
 from hamcrest import contains_string

+ 1 - 2
python/ycm/tests/paths_test.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.tests.test_utils import MockVimModule

+ 1 - 2
python/ycm/tests/postcomplete_test.py

@@ -21,8 +21,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.tests.test_utils import MockVimModule

+ 1 - 2
python/ycm/tests/syntax_parse_test.py

@@ -20,8 +20,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.tests.test_utils import MockVimModule

+ 1 - 2
python/ycm/tests/test_utils.py

@@ -20,8 +20,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from mock import MagicMock, patch

+ 1 - 2
python/ycm/tests/vimsupport_test.py

@@ -21,8 +21,7 @@
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.tests import PathToTestFile

+ 1 - 2
python/ycm/tests/youcompleteme_test.py

@@ -19,8 +19,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from ycm.tests.test_utils import ( ExtendedMock, MockVimBuffers, MockVimModule,

+ 1 - 2
python/ycm/vimsupport.py

@@ -20,8 +20,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from future.utils import iterkeys

+ 1 - 2
python/ycm/youcompleteme.py

@@ -20,8 +20,7 @@ from __future__ import unicode_literals
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
-from future import standard_library
-standard_library.install_aliases()
+# Not installing aliases from python-future; it's unreliable and slow.
 from builtins import *  # noqa
 
 from future.utils import iteritems

+ 1 - 1
third_party/ycmd

@@ -1 +1 @@
-Subproject commit 60c5bba489a24148afe501216a6a37d4fa669e15
+Subproject commit e709629389e7fe524e3c18e6896026956d968d16