##// END OF EJS Templates
packaging: add support for PyOxidizer...
packaging: add support for PyOxidizer I've successfully built Mercurial on the development tip of PyOxidizer on Linux and Windows. It mostly "just works" on Linux. Windows is a bit more finicky. In-memory resource files are probably not all working correctly due to bugs in PyOxidizer's naming of modules. PyOxidizer now now supports installing files next to the produced binary. (We do this for templates in the added file.) So a workaround should be available. Also, since the last time I submitted support for PyOxidizer, PyOxidizer gained the ability to auto-generate Rust projects to build executables. So we don't need to worry about vendoring any Rust code to initially support PyOxidizer. However, at some point we will likely want to write our own command line driver that embeds a Python interpreter via PyOxidizer so we can run Rust code outside the confines of a Python interpreter. But that will be a follow-up. I would also like to add packaging.py CLI commands to build PyOxidizer distributions. This can come later, if ever. PyOxidizer's new "targets" feature makes it really easy to define packaging tasks in its Starlark configuration file. While not much is implemented yet, eventually we should be able to produce MSIs, etc using a `pyoxidizer build` one-liner. We'll get there... Differential Revision: https://phab.mercurial-scm.org/D7450

File last commit:

r43346:2372284d default
r44697:281b6690 default
Show More
perf.py
30 lines | 653 B | text/x-python | PythonLexer
Philippe Pepiot
perf: add asv benchmarks...
r30406 # perf.py - asv benchmarks using contrib/perf.py extension
#
# Copyright 2016 Logilab SA <contact@logilab.fr>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
from __future__ import absolute_import
from . import perfbench
Augie Fackler
formatting: blacken the codebase...
r43346
Philippe Pepiot
perf: add asv benchmarks...
r30406 @perfbench()
def track_tags(perf):
return perf("perftags")
Augie Fackler
formatting: blacken the codebase...
r43346
Philippe Pepiot
perf: add asv benchmarks...
r30406 @perfbench()
def track_status(perf):
return perf("perfstatus", unknown=False)
Augie Fackler
formatting: blacken the codebase...
r43346
Philippe Pepiot
perf: add asv benchmarks...
r30406 @perfbench(params=[('rev', ['1000', '10000', 'tip'])])
def track_manifest(perf, rev):
return perf("perfmanifest", rev)
Augie Fackler
formatting: blacken the codebase...
r43346
Philippe Pepiot
perf: add asv benchmarks...
r30406 @perfbench()
def track_heads(perf):
return perf("perfheads")