-
a482b008
by Javier Jardón
at 2019-02-11T19:23:02Z
.gitlab-ci.yml: Do not automatically run "test-wsl" until runner problems are sorted out
-
0816b8b1
by Jürg Billeter
at 2019-02-11T21:29:29Z
Merge branch 'jjardon/allow_fail_WSL' into 'master'
.gitlab-ci.yml: allow "test-wsl" to fail until runner problems are sorted out
See merge request BuildStream/buildstream!1145
-
a7aed65a
by Jürg Billeter
at 2019-02-12T05:52:07Z
utils.py: Increase buffer size in sha256sum()
Increasing buffer size from 4 kB to 64 kB speeds up read() bandwidth by
factor 4, according to a very simple benchmark.
-
8b9e1d24
by Jürg Billeter
at 2019-02-12T05:52:07Z
_cas/cascache.py: Increase buffer size in add_object()
Increasing buffer size from 4 kB to 64 kB speeds up read() bandwidth by
factor 4, according to a very simple benchmark.
-
86a9048a
by Jürg Billeter
at 2019-02-12T07:08:18Z
Merge branch 'juerg/buffer-size' into 'master'
Increase read buffer size to improve performance
See merge request BuildStream/buildstream!1142
-
9b6c18e4
by Chandan Singh
at 2019-02-12T10:20:52Z
_frontend: Allow printing dependencies using `bst show`
At present, there isn't an easy way to print anything from `bst show`
that would give the users an idea of what the dependency graph looks
like. One could use things like `--deps build`, but that will just print
a list, without any information about the dependency edges.
Add `%{deps}`, `%{build-deps}` and `%{runtime-deps}` format strings to
`bst show` that would simply print the list of all dependencies, build
dependencies and runtime dependencies respectively.
Summary of changes:
* buildstream/_frontend/cli.py: Add help for new format symbols.
* buildstream/_frontend/widget.py: Add support for new format symbols
for dependencies.
* tests/frontend/show.py: Add tests for new format symbols.
-
126bc006
by Chandan Singh
at 2019-02-12T10:23:44Z
Re-generate man pages
-
dbce3434
by Chandan Singh
at 2019-02-12T12:19:57Z
Merge branch 'chandan/deps' into 'master'
_frontend: Allow printing dependencies using `bst show`
Closes #890
See merge request BuildStream/buildstream!1121
-
24d29a17
by Javier Jardón
at 2019-02-12T12:27:42Z
.gitlab-ci.yml: Add job to run test in current Fedora:29
-
80dcf65d
by Javier Jardón
at 2019-02-12T12:27:42Z
.gitlab-ci.yml: run all generic fedora test in current stable version:29
-
58b84905
by Javier Jardón
at 2019-02-12T12:27:42Z
.gitlab-ci.yml: Remove "tests-python-3.7-stretch" job
Fedora 29 includes python 3.7 so this is not needed anymore
-
95d9b9ae
by Javier Jardón
at 2019-02-12T13:31:56Z
Merge branch 'jjardon/fedora_29' into 'master'
.gitlab-ci.yml: Test with current fedora release: 29
See merge request BuildStream/buildstream!1137
-
a39c4767
by Daniel Silverstone
at 2019-02-12T15:12:30Z
_yaml.py: Only retrieve provenance in node_get() when needed
We were indiscriminately retrieving the node's provenance data in the
`node_get()` function which was accounting for approximately a third of
the total runtime of `node_get()` which dominates pre-scheduler time in
`bst build`. This change ameliorates that situation by only retrieving
the provenance data when it's actually needed.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
cda03313
by Daniel Silverstone
at 2019-02-12T15:12:30Z
_yaml.py: Reduce use of `isinstance()` in `node_sanitize()`
We know that nodes are typically one of:
str, list, dict, bool, tuple, NoneType or our ChainMap
Of these, dict and ChainMap are Mapping, only list is list
and the rest are returned unchanged. We can reduce/defer our use
of isinstance here, dramatically, improving performance.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
b6f08e1b
by Daniel Silverstone
at 2019-02-12T15:12:30Z
_yaml.py: Remove use of isinstance() in `{node,list}_{chain_,}copy`
A non-trivial proportion of time pre-scheduler in `bst build` is spent
copying (or chain-copying) nodes. Approximately a quarter of the time
spent in that effort is in `isinstance()`. This removes that CPU load.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
69ee11c6
by Daniel Silverstone
at 2019-02-12T15:12:30Z
_yaml.py: Reduce cost of node_final_assertions
By re-using the isinstance replacements from earlier commits and
using a tuple of the string constants for checking for composition
markers, we reduce the cost of node_final_assertions by two thirds
in basic testing.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
0928e570
by Daniel Silverstone
at 2019-02-12T15:12:30Z
_context.py: Cache result of get_strict()
While get_strict() doesn't look expensive per-se, it is called so many
times that it is valuable to cache the result once computed. Since I
don't think it can change once it is computable, cache it immediately
that becomes possible and we save 20s in my test case.
Signed-off-by: Daniel Silverstone <daniel silverstone codethink co uk>
-
022a59f0
by Benjamin Schubert
at 2019-02-12T16:14:05Z
Merge branch 'danielsilverstone-ct/further-optimisations' into 'master'
Further optimisations
See merge request BuildStream/buildstream!1131
-
f8e8d97f
by Valentin David
at 2019-02-12T17:48:35Z
buildstream/_cas/cascache.py: Set 0644 rights to pulled files
This was broken by 5ef19a0b31df84caed1e41719ef7ea5c6bd8a8bc.
-
6c6607a6
by Valentin David
at 2019-02-12T17:48:35Z
Deduplicate files in local cache with or without exec rights
If we introduce an exact same object with execution rights as existing
file without execution right, we should not expect that the files
suddenly get execution rights. This breaks reproducibility and it is
easy to encounter. For example install an empty file with execution
rights. Or copy files from another artifact and `chmod +x` it.