<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/mkrules.mk, branch 6.1.0-alpha.0</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.1.0-alpha.0</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.1.0-alpha.0'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2020-10-12T02:18:03+00:00</updated>
<entry>
<title>build: Make genlast write the "split" files</title>
<updated>2020-10-12T02:18:03+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-10-11T21:03:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=479552ce564410f2d96855f5dbca223317c4cbe0'/>
<id>urn:sha1:479552ce564410f2d96855f5dbca223317c4cbe0</id>
<content type='text'>
This gets a further speedup of about 2s (12s -&gt; 9.5s elapsed build time)
for stm32f405_feather

For what are probably historical reasons, the qstr process involves
preprocessing a large number of source files into a single "qstr.i.last"
file, then reading this and splitting it into one "qstr" file for each
original source ("*.c") file.

By eliminating the step of writing qstr.i.last as well as making the
regular-expression-matching part be parallelized, build speed is further
improved.

Because the step to build QSTR_DEFS_COLLECTED does not access
qstr.i.last, the path is replaced with "-" in the Makefile.
</content>
</entry>
<entry>
<title>build: parallelize the creation of qstr.i.last</title>
<updated>2020-10-12T01:19:59+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-10-11T20:19:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=607e4a905ae8654bd8450ae137ffa24367039277'/>
<id>urn:sha1:607e4a905ae8654bd8450ae137ffa24367039277</id>
<content type='text'>
Rather than simply invoking gcc in preprocessor mode with a list of files, use
a Python script with the (python3) ThreadPoolExecutor to invoke the
preprocessor in parallel.

The amount of concurrency is the number of system CPUs, not the makefile "-j"
parallelism setting, because there is no simple and correct way for a Python
program to correctly work together with make's idea of parallelism.

This reduces the build time of stm32f405 feather (a non-LTO build) from 16s to
12s on my 16-thread Ryzen machine.
</content>
</entry>
<entry>
<title>hci early wip; refactor supervisor bluetooth.c for nrf: tested</title>
<updated>2020-06-26T00:57:17+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2020-06-26T00:57:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=759929c24a9966b64075bedfb365f3dfc66ad681'/>
<id>urn:sha1:759929c24a9966b64075bedfb365f3dfc66ad681</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make stripping circuitpython optional, not the default</title>
<updated>2020-04-14T23:24:58+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-04-09T14:10:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b1fab1cdac6a3e878a7d7a654f6ea6f92f60cc88'/>
<id>urn:sha1:b1fab1cdac6a3e878a7d7a654f6ea6f92f60cc88</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update mkrules.mk</title>
<updated>2019-04-05T19:41:40+00:00</updated>
<author>
<name>Damiano Mazzella</name>
<email>damianomazzella@gmail.com</email>
</author>
<published>2019-04-05T19:41:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b6b5eaa87873f84eeb178f7b1f153c24631266c0'/>
<id>urn:sha1:b6b5eaa87873f84eeb178f7b1f153c24631266c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add debug info to the generated frozen_mpy.c</title>
<updated>2018-10-18T00:45:47+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2018-10-18T00:45:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4f9c8b7361db7967fa794ea4d911ef350f23061a'/>
<id>urn:sha1:4f9c8b7361db7967fa794ea4d911ef350f23061a</id>
<content type='text'>
It adds size info and uses macros for byte code to make it more
readable.
</content>
</entry>
<entry>
<title>Rework escaping and fix ESP build.</title>
<updated>2018-08-09T22:58:45+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2018-08-09T22:58:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=24e53ad5911f42efb6508b4a8dcf4a196a81494a'/>
<id>urn:sha1:24e53ad5911f42efb6508b4a8dcf4a196a81494a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update filter and handle nested quotes</title>
<updated>2018-08-09T21:16:28+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2018-08-09T21:16:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1835f1ab14d2532684224d1eccaa5d219b296878'/>
<id>urn:sha1:1835f1ab14d2532684224d1eccaa5d219b296878</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Support internationalisation.</title>
<updated>2018-08-07T21:58:57+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2018-07-31T23:53:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=933add6cd833bb6ba6682ad2b6eb478871415ff5'/>
<id>urn:sha1:933add6cd833bb6ba6682ad2b6eb478871415ff5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename to SRC_QSTR_PREPROCESSOR for clarity.</title>
<updated>2018-08-02T18:07:22+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2018-08-02T18:07:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b50f46d4bef851efe055d02cac14345360654ed2'/>
<id>urn:sha1:b50f46d4bef851efe055d02cac14345360654ed2</id>
<content type='text'>
</content>
</entry>
</feed>
