<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/unix, branch v1.8.2</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.2</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.8.2'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-07-09T15:48:06+00:00</updated>
<entry>
<title>unix: Disable the GIL to improve performance of non-thread code.</title>
<updated>2016-07-09T15:48:06+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-07-09T15:48:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3096928d5ab6544c3f85639e1b97ac2cefcc2a74'/>
<id>urn:sha1:3096928d5ab6544c3f85639e1b97ac2cefcc2a74</id>
<content type='text'>
Threading support is still very new so stay conservative at this point
and enable threading without the GIL.  This requires users to protect
concurrent access of mutatable Python objects (eg lists) with locks at
the Python level (something you should probably do anyway).  The
advantage is that there is less of a performance hit for non-threaded
code, because the VM does not need to constantly release/acquire the GIL.

In the future the GIL will be made more efficient.  There is also room to
improve the efficiency of non-GIL code by not using mutex's if there is
only one thread active.
</content>
</entry>
<entry>
<title>unix/main: When preparing sys.path, allocate exact strings on uPy heap.</title>
<updated>2016-07-08T22:48:07+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-07-08T22:48:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=520f35632d78e1b73f647d993205aade0de8b1ce'/>
<id>urn:sha1:520f35632d78e1b73f647d993205aade0de8b1ce</id>
<content type='text'>
Due to the way modern compilers work (allocating space for stack vars once
at tha start of function, and deallocating once on exit from), using
intermediate stack buffer of big size caused blockage of 4K (PATH_MAX)
on stack for the entire duration of MicroPython execution.
</content>
</entry>
<entry>
<title>unix/main: Improve help for -X options a bit.</title>
<updated>2016-07-08T17:53:08+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-07-08T17:53:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=649b69a1dbc91c7df8809c4a20c6287b23ac7f52'/>
<id>urn:sha1:649b69a1dbc91c7df8809c4a20c6287b23ac7f52</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unix/main: Error out on unknown value of suffix in -X heapsize= option.</title>
<updated>2016-07-08T17:49:41+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-07-08T17:45:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0e5e14fe7cd97fa83e822c1e105cf498dbb4d276'/>
<id>urn:sha1:0e5e14fe7cd97fa83e822c1e105cf498dbb4d276</id>
<content type='text'>
E.g. -X heapsize=16Kfoo, -X heapsize=1G will lead to error.
</content>
</entry>
<entry>
<title>unix/mpconfigport_minimal.h: Allow to print a string within 1KB of heap.</title>
<updated>2016-07-02T21:12:46+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-07-02T21:12:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d83177b24867c42fb850714e328c7f1636067908'/>
<id>urn:sha1:d83177b24867c42fb850714e328c7f1636067908</id>
<content type='text'>
By adjusting parser allocation policy.
</content>
</entry>
<entry>
<title>unix/Makefile: Make "minimal" build be minimal again.</title>
<updated>2016-07-02T21:10:58+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-07-02T21:10:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e965d2b82af1d233703490ebf2c8432a14ef5c99'/>
<id>urn:sha1:e965d2b82af1d233703490ebf2c8432a14ef5c99</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unix: Enable btree module.</title>
<updated>2016-07-02T12:26:07+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2016-07-02T12:26:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=43241ceaacce2de370a7dd676ac9cc7383e08c83'/>
<id>urn:sha1:43241ceaacce2de370a7dd676ac9cc7383e08c83</id>
<content type='text'>
But disable it for coverage build, as its extra warninsg aren't compatible
with K&amp;R C BerkeleyDB uses.
</content>
</entry>
<entry>
<title>py/modthread: Allow to properly set the stack limit of a thread.</title>
<updated>2016-06-28T10:28:51+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-30T15:56:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=df95f52583e0f5e3f2a74f7461bb00e2f24b3079'/>
<id>urn:sha1:df95f52583e0f5e3f2a74f7461bb00e2f24b3079</id>
<content type='text'>
We rely on the port setting and adjusting the stack size so there is
enough room to recover from hitting the stack limit.
</content>
</entry>
<entry>
<title>unix/modtime: Release the GIL when sleeping.</title>
<updated>2016-06-28T10:28:50+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-26T11:54:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=94d2919b7798e121e9266a6b2970e16b36339b2c'/>
<id>urn:sha1:94d2919b7798e121e9266a6b2970e16b36339b2c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>unix/mpthreadport: Suppress compiler warning about unused arguments.</title>
<updated>2016-06-28T10:28:50+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-05T11:00:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f443504f8623469d44fcf0e69fe79a856286b045'/>
<id>urn:sha1:f443504f8623469d44fcf0e69fe79a856286b045</id>
<content type='text'>
</content>
</entry>
</feed>
