[Del] remove parallel compile patch

This commit is contained in:
nanoric 2019-04-15 12:56:08 -04:00
parent 2e341bffc9
commit 2f618d5796

View File

@ -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,19 +29,22 @@ 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 = [
"/MP", "/std:c++17", # standard
"/O2", "/Ob2", "/Oi", "/Ot", "/Oy", "/GL", # Optimization "/O2", "/Ob2", "/Oi", "/Ot", "/Oy", "/GL", # Optimization
"/wd4819" # 936 code page "/wd4819" # 936 code page
] ]
extra_link_args = [] extra_link_args = []
else: else:
compiler_flags = ["-std=c++17", compiler_flags = [
"-std=c++17", # standard
"-O3", # Optimization "-O3", # Optimization
"-Wno-delete-incomplete", "-Wno-sign-compare", "-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",
], ],
@ -85,8 +59,9 @@ vnctpmd = Extension("vnpy.api.ctp.vnctpmd",
depends=[], depends=[],
runtime_library_dirs=["$ORIGIN"], runtime_library_dirs=["$ORIGIN"],
language="cpp", language="cpp",
) )
vnctptd = Extension("vnpy.api.ctp.vnctptd", vnctptd = Extension(
"vnpy.api.ctp.vnctptd",
[ [
"vnpy/api/ctp/vnctp/vnctptd/vnctptd.cpp", "vnpy/api/ctp/vnctp/vnctptd/vnctptd.cpp",
], ],
@ -101,8 +76,9 @@ vnctptd = Extension("vnpy.api.ctp.vnctptd",
runtime_library_dirs=["$ORIGIN"], runtime_library_dirs=["$ORIGIN"],
depends=[], depends=[],
language="cpp", language="cpp",
) )
vnoes = Extension("vnpy.api.oes.vnoes", vnoes = Extension(
"vnpy.api.oes.vnoes",
[ [
"vnpy/api/oes/vnoes/generated_files/classes_1.cpp", "vnpy/api/oes/vnoes/generated_files/classes_1.cpp",
"vnpy/api/oes/vnoes/generated_files/classes_2.cpp", "vnpy/api/oes/vnoes/generated_files/classes_2.cpp",
@ -118,7 +94,7 @@ vnoes = Extension("vnpy.api.oes.vnoes",
extra_link_args=extra_link_args, extra_link_args=extra_link_args,
depends=[], depends=[],
language="cpp", 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 )