[Del] remove parallel compile patch
This commit is contained in:
parent
2e341bffc9
commit
2f618d5796
148
setup.py
148
setup.py
@ -22,35 +22,6 @@ import sys
|
|||||||
|
|
||||||
from setuptools import Extension, find_packages, setup
|
from setuptools import Extension, find_packages, setup
|
||||||
|
|
||||||
|
|
||||||
# https://stackoverflow.com/a/13176803
|
|
||||||
# monkey-patch for parallel compilation
|
|
||||||
def parallelCCompile(self, sources, output_dir=None, macros=None, include_dirs=None, debug=0,
|
|
||||||
extra_preargs=None, extra_postargs=None, depends=None):
|
|
||||||
# those lines are copied from distutils.ccompiler.CCompiler directly
|
|
||||||
macros, objects, extra_postargs, pp_opts, build = self._setup_compile(output_dir, macros,
|
|
||||||
include_dirs, sources,
|
|
||||||
depends, extra_postargs)
|
|
||||||
cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
|
|
||||||
# parallel code
|
|
||||||
N = 2 # number of parallel compilations
|
|
||||||
import multiprocessing.pool
|
|
||||||
def _single_compile(obj):
|
|
||||||
try:
|
|
||||||
src, ext = build[obj]
|
|
||||||
except KeyError:
|
|
||||||
return
|
|
||||||
self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
|
|
||||||
|
|
||||||
# convert to list, imap is evaluated on-demand
|
|
||||||
list(multiprocessing.pool.ThreadPool(N).imap(_single_compile, objects))
|
|
||||||
return objects
|
|
||||||
|
|
||||||
|
|
||||||
import distutils.ccompiler
|
|
||||||
|
|
||||||
distutils.ccompiler.CCompiler.compile = parallelCCompile
|
|
||||||
|
|
||||||
with open("vnpy/__init__.py", "rb") as f:
|
with open("vnpy/__init__.py", "rb") as f:
|
||||||
version_line = re.search(
|
version_line = re.search(
|
||||||
r"__version__\s+=\s+(.*)", f.read().decode("utf-8")
|
r"__version__\s+=\s+(.*)", f.read().decode("utf-8")
|
||||||
@ -58,67 +29,72 @@ with open("vnpy/__init__.py", "rb") as f:
|
|||||||
version = str(ast.literal_eval(version_line))
|
version = str(ast.literal_eval(version_line))
|
||||||
|
|
||||||
if platform.uname().system == "Windows":
|
if platform.uname().system == "Windows":
|
||||||
compiler_flags = ["/MP", "/std:c++17", # standard
|
compiler_flags = [
|
||||||
"/O2", "/Ob2", "/Oi", "/Ot", "/Oy", "/GL", # Optimization
|
"/MP", "/std:c++17", # standard
|
||||||
"/wd4819" # 936 code page
|
"/O2", "/Ob2", "/Oi", "/Ot", "/Oy", "/GL", # Optimization
|
||||||
]
|
"/wd4819" # 936 code page
|
||||||
|
]
|
||||||
extra_link_args = []
|
extra_link_args = []
|
||||||
else:
|
else:
|
||||||
compiler_flags = ["-std=c++17",
|
compiler_flags = [
|
||||||
"-O3", # Optimization
|
"-std=c++17", # standard
|
||||||
"-Wno-delete-incomplete", "-Wno-sign-compare",
|
"-O3", # Optimization
|
||||||
]
|
"-Wno-delete-incomplete", "-Wno-sign-compare",
|
||||||
|
]
|
||||||
extra_link_args = ["-lstdc++"]
|
extra_link_args = ["-lstdc++"]
|
||||||
|
|
||||||
vnctpmd = Extension("vnpy.api.ctp.vnctpmd",
|
vnctpmd = Extension(
|
||||||
[
|
"vnpy.api.ctp.vnctpmd",
|
||||||
"vnpy/api/ctp/vnctp/vnctpmd/vnctpmd.cpp",
|
[
|
||||||
],
|
"vnpy/api/ctp/vnctp/vnctpmd/vnctpmd.cpp",
|
||||||
include_dirs=["vnpy/api/ctp/include",
|
],
|
||||||
"vnpy/api/ctp/vnctp", ],
|
include_dirs=["vnpy/api/ctp/include",
|
||||||
define_macros=[],
|
"vnpy/api/ctp/vnctp", ],
|
||||||
undef_macros=[],
|
define_macros=[],
|
||||||
library_dirs=["vnpy/api/ctp/libs", "vnpy/api/ctp"],
|
undef_macros=[],
|
||||||
libraries=["thostmduserapi", "thosttraderapi", ],
|
library_dirs=["vnpy/api/ctp/libs", "vnpy/api/ctp"],
|
||||||
extra_compile_args=compiler_flags,
|
libraries=["thostmduserapi", "thosttraderapi", ],
|
||||||
extra_link_args=extra_link_args,
|
extra_compile_args=compiler_flags,
|
||||||
depends=[],
|
extra_link_args=extra_link_args,
|
||||||
runtime_library_dirs=["$ORIGIN"],
|
depends=[],
|
||||||
language="cpp",
|
runtime_library_dirs=["$ORIGIN"],
|
||||||
)
|
language="cpp",
|
||||||
vnctptd = Extension("vnpy.api.ctp.vnctptd",
|
)
|
||||||
[
|
vnctptd = Extension(
|
||||||
"vnpy/api/ctp/vnctp/vnctptd/vnctptd.cpp",
|
"vnpy.api.ctp.vnctptd",
|
||||||
],
|
[
|
||||||
include_dirs=["vnpy/api/ctp/include",
|
"vnpy/api/ctp/vnctp/vnctptd/vnctptd.cpp",
|
||||||
"vnpy/api/ctp/vnctp", ],
|
],
|
||||||
define_macros=[],
|
include_dirs=["vnpy/api/ctp/include",
|
||||||
undef_macros=[],
|
"vnpy/api/ctp/vnctp", ],
|
||||||
library_dirs=["vnpy/api/ctp/libs", "vnpy/api/ctp"],
|
define_macros=[],
|
||||||
libraries=["thostmduserapi", "thosttraderapi", ],
|
undef_macros=[],
|
||||||
extra_compile_args=compiler_flags,
|
library_dirs=["vnpy/api/ctp/libs", "vnpy/api/ctp"],
|
||||||
extra_link_args=extra_link_args,
|
libraries=["thostmduserapi", "thosttraderapi", ],
|
||||||
runtime_library_dirs=["$ORIGIN"],
|
extra_compile_args=compiler_flags,
|
||||||
depends=[],
|
extra_link_args=extra_link_args,
|
||||||
language="cpp",
|
runtime_library_dirs=["$ORIGIN"],
|
||||||
)
|
depends=[],
|
||||||
vnoes = Extension("vnpy.api.oes.vnoes",
|
language="cpp",
|
||||||
[
|
)
|
||||||
"vnpy/api/oes/vnoes/generated_files/classes_1.cpp",
|
vnoes = Extension(
|
||||||
"vnpy/api/oes/vnoes/generated_files/classes_2.cpp",
|
"vnpy.api.oes.vnoes",
|
||||||
"vnpy/api/oes/vnoes/generated_files/module.cpp",
|
[
|
||||||
],
|
"vnpy/api/oes/vnoes/generated_files/classes_1.cpp",
|
||||||
include_dirs=["vnpy/api/oes/include",
|
"vnpy/api/oes/vnoes/generated_files/classes_2.cpp",
|
||||||
"vnpy/api/oes/vnoes", ],
|
"vnpy/api/oes/vnoes/generated_files/module.cpp",
|
||||||
define_macros=[("BRIGAND_NO_BOOST_SUPPORT", "1")],
|
],
|
||||||
undef_macros=[],
|
include_dirs=["vnpy/api/oes/include",
|
||||||
library_dirs=["vnpy/api/oes/libs"],
|
"vnpy/api/oes/vnoes", ],
|
||||||
libraries=["oes_api"],
|
define_macros=[("BRIGAND_NO_BOOST_SUPPORT", "1")],
|
||||||
extra_compile_args=compiler_flags,
|
undef_macros=[],
|
||||||
extra_link_args=extra_link_args,
|
library_dirs=["vnpy/api/oes/libs"],
|
||||||
depends=[],
|
libraries=["oes_api"],
|
||||||
language="cpp",
|
extra_compile_args=compiler_flags,
|
||||||
)
|
extra_link_args=extra_link_args,
|
||||||
|
depends=[],
|
||||||
|
language="cpp",
|
||||||
|
)
|
||||||
|
|
||||||
if platform.uname().system == "Windows":
|
if platform.uname().system == "Windows":
|
||||||
# use pre-built pyd for windows ( support python 3.7 only )
|
# use pre-built pyd for windows ( support python 3.7 only )
|
||||||
|
Loading…
Reference in New Issue
Block a user