<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/buildstream.git/setup.py, branch bschubert/python38</title>
<subtitle>gitlab.com: buildstream/buildstream.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/'/>
<entry>
<title>types: Add a 'FastEnum' implementation and replace Enum by it</title>
<updated>2019-07-29T09:42:02+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>contact@benschubert.me</email>
</author>
<published>2019-07-26T13:47:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=90da23867767905c39bf8199c2b8a4d6e13a5c95'/>
<id>90da23867767905c39bf8199c2b8a4d6e13a5c95</id>
<content type='text'>
'Enum' has a big performance impact on the running code. Replacing
it with a safe subset of functionality removes lots of this overhead
without removing the benefits of using enums (safe comparisions,
uniqueness)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'Enum' has a big performance impact on the running code. Replacing
it with a safe subset of functionality removes lots of this overhead
without removing the benefits of using enums (safe comparisions,
uniqueness)
</pre>
</div>
</content>
</entry>
<entry>
<title>loadelement: Move loadelement to Cython</title>
<updated>2019-07-26T07:55:26+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-07-22T14:17:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=fada80df076fc1ccf3991a3f9344c68a1db8bcda'/>
<id>fada80df076fc1ccf3991a3f9344c68a1db8bcda</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>utils: Extract 'url_directory_name' to a cython module</title>
<updated>2019-07-17T09:04:08+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-07-15T16:30:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=e8ddeef1ce55076a08106f4b4ffb074618f66b19'/>
<id>e8ddeef1ce55076a08106f4b4ffb074618f66b19</id>
<content type='text'>
`url_directory_name` is heavily called from any downloadable source
plugin, and moving it to cython gives a more than 10x speedup
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`url_directory_name` is heavily called from any downloadable source
plugin, and moving it to cython gives a more than 10x speedup
</pre>
</div>
</content>
</entry>
<entry>
<title>_yaml: Split Node-related parts into 'node.pyx'</title>
<updated>2019-07-15T14:14:03+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-07-10T12:59:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=301d40d1a42c056f7c9e8e734b6ce6251378cafb'/>
<id>301d40d1a42c056f7c9e8e734b6ce6251378cafb</id>
<content type='text'>
This makes the 'Node' API public, and available for use directly for
plugins.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes the 'Node' API public, and available for use directly for
plugins.
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor of Platform and Sandbox</title>
<updated>2019-07-12T06:57:52+00:00</updated>
<author>
<name>William Salmon</name>
<email>will.salmon@codethink.co.uk</email>
</author>
<published>2019-06-05T13:22:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=33272aa7764c03f7d0b3a7b36f08636f883c3e69'/>
<id>33272aa7764c03f7d0b3a7b36f08636f883c3e69</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>_loader/types: cimport yaml functions for better speed</title>
<updated>2019-06-06T15:53:43+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>contact@benschubert.me</email>
</author>
<published>2019-06-05T20:16:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=8f6e36acea77b35f454a53383a94b8fb838957fd'/>
<id>8f6e36acea77b35f454a53383a94b8fb838957fd</id>
<content type='text'>
- _yaml: export node_validate function as Cython, as it was not done
before. This requires rewriting the function to remove a closure.
- Optimize node check by not calling is_node().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- _yaml: export node_validate function as Cython, as it was not done
before. This requires rewriting the function to remove a closure.
- Optimize node check by not calling is_node().
</pre>
</div>
</content>
</entry>
<entry>
<title>_loader/types: move to a cython package</title>
<updated>2019-06-06T15:53:43+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>contact@benschubert.me</email>
</author>
<published>2019-06-05T20:09:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=baec142e623f9e8a4efd93183ac2f7ef15d84b06'/>
<id>baec142e623f9e8a4efd93183ac2f7ef15d84b06</id>
<content type='text'>
Types is a simple module that accounts for a few percent of a basic
'show' operation. Having it cythonized allows us to get better
performance without too much wokr
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Types is a simple module that accounts for a few percent of a basic
'show' operation. Having it cythonized allows us to get better
performance without too much wokr
</pre>
</div>
</content>
</entry>
<entry>
<title>_loader/loader: cythonize valid_chars_name</title>
<updated>2019-06-05T15:15:23+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-06-04T09:23:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=b2b740167cfb5f4359aecbf114deb5ff1af73b04'/>
<id>b2b740167cfb5f4359aecbf114deb5ff1af73b04</id>
<content type='text'>
- Create a new _loader/utils.pyx cython module for functions cythonized
in the loader module.

- Move valid_chars_name from loader to utils and cythonize.

This function is called extensively, and easy to extract
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Create a new _loader/utils.pyx cython module for functions cythonized
in the loader module.

- Move valid_chars_name from loader to utils and cythonize.

This function is called extensively, and easy to extract
</pre>
</div>
</content>
</entry>
<entry>
<title>setup.py: Be more restrictive with BST_CYTHON_TRACE values</title>
<updated>2019-06-03T09:33:13+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-06-03T09:33:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=24637421ec9bdf92b0faba3a9d3fe1df6d9ac94d'/>
<id>24637421ec9bdf92b0faba3a9d3fe1df6d9ac94d</id>
<content type='text'>
"0" evaluates to 'True' in python, which incorrectly switched on
the BST_CYTHON_TRACE. Forcing an int for this environment variable
allows us to ensure we are correct.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
"0" evaluates to 'True' in python, which incorrectly switched on
the BST_CYTHON_TRACE. Forcing an int for this environment variable
allows us to ensure we are correct.
</pre>
</div>
</content>
</entry>
<entry>
<title>Setup.py: Disable linetrace by default and only enable when using coverage</title>
<updated>2019-05-31T13:33:37+00:00</updated>
<author>
<name>Benjamin Schubert</name>
<email>ben.c.schubert@gmail.com</email>
</author>
<published>2019-05-31T10:38:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/buildstream.git/commit/?id=54b93af2c5505f6c36f2c025c498b312c9bdf81a'/>
<id>54b93af2c5505f6c36f2c025c498b312c9bdf81a</id>
<content type='text'>
It turns out that enabling 'linetrace', does have a runtime cost even
if not enabled in distutils.

Therefore disabling it by default. In order to run coverage, we
therefore need to retranspile the .pyx files with ENABLE_CYTHON_TRACE
set.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It turns out that enabling 'linetrace', does have a runtime cost even
if not enabled in distutils.

Therefore disabling it by default. In order to run coverage, we
therefore need to retranspile the .pyx files with ENABLE_CYTHON_TRACE
set.
</pre>
</div>
</content>
</entry>
</feed>
