<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/</link>
    <language>en-us</language>

    <title>cpython-lru_cache-weakref: Objects/stringlib/unicode_format.h history</title>
    <description>Objects/stringlib/unicode_format.h revision history</description>
    <item>
    <title>merge 3.3 (#19729)</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/e27684eed3b6/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[merge 3.3 (#19729)]]></description>
    <author>&#66;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#111;&#110;&#32;&#60;&#98;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Tue, 26 Nov 2013 19:24:01 -0600</pubDate>
</item>
<item>
    <title>rewrite the parsing of field names to be more consistent wrt recursive expansion</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/f914130c15bb/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[rewrite the parsing of field names to be more consistent wrt recursive expansion]]></description>
    <author>&#66;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#111;&#110;&#32;&#60;&#98;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 17 May 2013 18:22:31 -0500</pubDate>
</item>
<item>
    <title>merge 3.3</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/9f6684820b5f/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[merge 3.3]]></description>
    <author>&#66;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#111;&#110;&#32;&#60;&#98;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 17 May 2013 17:35:28 -0500</pubDate>
</item>
<item>
    <title>Close #17694: Add minimum length to _PyUnicodeWriter</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/edf029fc9591/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Close #17694: Add minimum length to _PyUnicodeWriter<br/>
<br/>
 * Add also min_char attribute to _PyUnicodeWriter structure (currently unused)<br/>
 * _PyUnicodeWriter_Init() has no more argument (except the writer itself):<br/>
   min_length and overallocate must be set explicitly<br/>
 * In error handlers, only enable overallocation if the replacement string<br/>
   is longer than 1 character<br/>
 * CJK decoders don't use overallocation anymore<br/>
 * Set min_length, instead of preallocating memory using<br/>
   _PyUnicodeWriter_Prepare(), in many decoders<br/>
 * _PyUnicode_DecodeUnicodeInternal() checks for integer overflow]]></description>
    <author>&#86;&#105;&#99;&#116;&#111;&#114;&#32;&#83;&#116;&#105;&#110;&#110;&#101;&#114;&#32;&#60;&#118;&#105;&#99;&#116;&#111;&#114;&#46;&#115;&#116;&#105;&#110;&#110;&#101;&#114;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 17 Apr 2013 23:02:17 +0200</pubDate>
</item>
<item>
    <title>Add _PyUnicodeWriter_WriteSubstring() function</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/b5d5f422299f/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Add _PyUnicodeWriter_WriteSubstring() function<br/>
<br/>
Write a function to enable more optimizations:<br/>
<br/>
 * If the substring is the whole string and overallocation is disabled, just<br/>
   keep a reference to the string, don't copy characters<br/>
 * Avoid a call to the expensive _PyUnicode_FindMaxChar() function when<br/>
   possible]]></description>
    <author>&#86;&#105;&#99;&#116;&#111;&#114;&#32;&#83;&#116;&#105;&#110;&#110;&#101;&#114;&#32;&#60;&#118;&#105;&#99;&#116;&#111;&#114;&#46;&#115;&#116;&#105;&#110;&#110;&#101;&#114;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 03 Apr 2013 01:48:39 +0200</pubDate>
</item>
<item>
    <title>fix format spec recursive expansion (closes #19729)</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/bab7dc2ffc16/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[fix format spec recursive expansion (closes #19729)]]></description>
    <author>&#66;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#111;&#110;&#32;&#60;&#98;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Tue, 26 Nov 2013 19:22:36 -0600</pubDate>
</item>
<item>
    <title>only recursively expand in the format spec (closes #17644)</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/6786e681ed58/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[only recursively expand in the format spec (closes #17644)]]></description>
    <author>&#66;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#32;&#80;&#101;&#116;&#101;&#114;&#115;&#111;&#110;&#32;&#60;&#98;&#101;&#110;&#106;&#97;&#109;&#105;&#110;&#64;&#112;&#121;&#116;&#104;&#111;&#110;&#46;&#111;&#114;&#103;&#62;</author>
    <pubDate>Fri, 17 May 2013 17:34:30 -0500</pubDate>
</item>
<item>
    <title>Remove unused defines.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/629af342b189/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Remove unused defines.]]></description>
    <author>&#83;&#101;&#114;&#104;&#105;&#121;&#32;&#83;&#116;&#111;&#114;&#99;&#104;&#97;&#107;&#97;&#32;&#60;&#115;&#116;&#111;&#114;&#99;&#104;&#97;&#107;&#97;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Sat, 23 Feb 2013 14:48:16 +0200</pubDate>
</item>
<item>
    <title>Issue #14993: Use standard &quot;unsigned char&quot; instead of a unsigned char bitfield</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/09736ae1c314/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Issue #14993: Use standard &quot;unsigned char&quot; instead of a unsigned char bitfield]]></description>
    <author>&#86;&#105;&#99;&#116;&#111;&#114;&#32;&#83;&#116;&#105;&#110;&#110;&#101;&#114;&#32;&#60;&#118;&#105;&#99;&#116;&#111;&#114;&#46;&#115;&#116;&#105;&#110;&#110;&#101;&#114;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 04 Jun 2012 22:52:12 +0200</pubDate>
</item>
<item>
    <title>Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args)</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/22b56b0b8619/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args)<br/>
<br/>
 * Formatting string, int, float and complex use the _PyUnicodeWriter API. It<br/>
   avoids a temporary buffer in most cases.<br/>
 * Add _PyUnicodeWriter_WriteStr() to restore the PyAccu optimization: just<br/>
   keep a reference to the string if the output is only composed of one string<br/>
 * Disable overallocation when formatting the last argument of str%args and<br/>
   str.format(args)<br/>
 * Overallocation allocates at least 100 characters: add min_length attribute<br/>
   to the _PyUnicodeWriter structure<br/>
 * Add new private functions: _PyUnicode_FastCopyCharacters(),<br/>
   _PyUnicode_FastFill() and _PyUnicode_FromASCII()<br/>
<br/>
The speed up is around 20% in average.]]></description>
    <author>&#86;&#105;&#99;&#116;&#111;&#114;&#32;&#83;&#116;&#105;&#110;&#110;&#101;&#114;&#32;&#60;&#118;&#105;&#99;&#116;&#111;&#114;&#46;&#115;&#116;&#105;&#110;&#110;&#101;&#114;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 29 May 2012 12:57:52 +0200</pubDate>
</item>
<item>
    <title>Rename unicode_write_t structure and its methods to &quot;_PyUnicodeWriter&quot;</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/0d9067cde462/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Rename unicode_write_t structure and its methods to &quot;_PyUnicodeWriter&quot;]]></description>
    <author>&#86;&#105;&#99;&#116;&#111;&#114;&#32;&#83;&#116;&#105;&#110;&#110;&#101;&#114;&#32;&#60;&#118;&#105;&#99;&#116;&#111;&#114;&#46;&#115;&#116;&#105;&#110;&#110;&#101;&#114;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 09 May 2012 22:25:00 +0200</pubDate>
</item>
<item>
    <title>Issue #14744: Inline unicode_writer_write_char() and unicode_write_str()</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/6c8a117f8966/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Issue #14744: Inline unicode_writer_write_char() and unicode_write_str()<br/>
<br/>
Optimize also PyUnicode_Format(): call unicode_writer_prepare() only once<br/>
per argument.]]></description>
    <author>&#86;&#105;&#99;&#116;&#111;&#114;&#32;&#83;&#116;&#105;&#110;&#110;&#101;&#114;&#32;&#60;&#118;&#105;&#99;&#116;&#111;&#114;&#46;&#115;&#116;&#105;&#110;&#110;&#101;&#114;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 09 May 2012 22:24:08 +0200</pubDate>
</item>
<item>
    <title>Close #14716: str.format() now uses the new &quot;unicode writer&quot; API instead of the</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/7be716a47e9d/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Close #14716: str.format() now uses the new &quot;unicode writer&quot; API instead of the<br/>
PyAccu API. For example, it makes str.format() from 25% to 30% faster on Linux.]]></description>
    <author>&#86;&#105;&#99;&#116;&#111;&#114;&#32;&#83;&#116;&#105;&#110;&#110;&#101;&#114;&#32;&#60;&#118;&#105;&#99;&#116;&#111;&#114;&#46;&#115;&#116;&#105;&#110;&#110;&#101;&#114;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Mon, 07 May 2012 12:47:02 +0200</pubDate>
</item>
<item>
    <title>Issue #14387: Do not include accu.h from Python.h.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/5fe7d19ec49a/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Issue #14387: Do not include accu.h from Python.h.]]></description>
    <author>&#65;&#110;&#116;&#111;&#105;&#110;&#101;&#32;&#80;&#105;&#116;&#114;&#111;&#117;&#32;&#60;&#115;&#111;&#108;&#105;&#112;&#115;&#105;&#115;&#64;&#112;&#105;&#116;&#114;&#111;&#117;&#46;&#110;&#101;&#116;&#62;</author>
    <pubDate>Thu, 22 Mar 2012 14:42:18 +0100</pubDate>
</item>
<item>
    <title>Replace PyUnicode_FromUnicode(NULL, 0) by PyUnicode_New(0, 0)</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/d855329d0f72/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Replace PyUnicode_FromUnicode(NULL, 0) by PyUnicode_New(0, 0)<br/>
<br/>
Create an empty string with the new Unicode API.]]></description>
    <author>&#86;&#105;&#99;&#116;&#111;&#114;&#32;&#83;&#116;&#105;&#110;&#110;&#101;&#114;&#32;&#60;&#118;&#105;&#99;&#116;&#111;&#114;&#46;&#115;&#116;&#105;&#110;&#110;&#101;&#114;&#64;&#104;&#97;&#121;&#112;&#111;&#99;&#97;&#108;&#99;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 01 Dec 2011 03:18:59 +0100</pubDate>
</item>
<item>
    <title>Replace PyUnicodeObject type by PyObject</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/783b4b9dfa5e/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Replace PyUnicodeObject type by PyObject<br/>
<br/>
 * _PyUnicode_CheckConsistency() now takes a PyObject* instead of void*<br/>
 * Remove now useless casts to PyObject*]]></description>
    <author>&#86;&#105;&#99;&#116;&#111;&#114;&#32;&#83;&#116;&#105;&#110;&#110;&#101;&#114;&#32;&#60;&#118;&#105;&#99;&#116;&#111;&#114;&#46;&#115;&#116;&#105;&#110;&#110;&#101;&#114;&#64;&#104;&#97;&#121;&#112;&#111;&#99;&#97;&#108;&#99;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 04 Nov 2011 00:22:48 +0100</pubDate>
</item>
<item>
    <title>Fix massive slowdown in string formatting with str.format.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/d49be9b017a2/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Fix massive slowdown in string formatting with str.format.<br/>
<br/>
Example:<br/>
./python -m timeit -s &quot;f='{}' + '-' * 1024 + '{}'; s='abcd' * 16384&quot; &quot;f.format(s, s)&quot;<br/>
<br/>
-&gt; before: 547 usec per loop<br/>
-&gt; after: 13 usec per loop<br/>
-&gt; 3.2: 22.5 usec per loop<br/>
-&gt; 2.7: 12.6 usec per loop]]></description>
    <author>&#65;&#110;&#116;&#111;&#105;&#110;&#101;&#32;&#80;&#105;&#116;&#114;&#111;&#117;&#32;&#60;&#115;&#111;&#108;&#105;&#112;&#115;&#105;&#115;&#64;&#112;&#105;&#116;&#114;&#111;&#117;&#46;&#110;&#101;&#116;&#62;</author>
    <pubDate>Fri, 07 Oct 2011 02:26:47 +0200</pubDate>
</item>
<item>
    <title>Fix compilation warnings under 64-bit Windows</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/1a0715386d27/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Fix compilation warnings under 64-bit Windows]]></description>
    <author>&#65;&#110;&#116;&#111;&#105;&#110;&#101;&#32;&#80;&#105;&#116;&#114;&#111;&#117;&#32;&#60;&#115;&#111;&#108;&#105;&#112;&#115;&#105;&#115;&#64;&#112;&#105;&#116;&#114;&#111;&#117;&#46;&#110;&#101;&#116;&#62;</author>
    <pubDate>Thu, 06 Oct 2011 15:34:41 +0200</pubDate>
</item>
<item>
    <title>Implement PEP 393.</title>
    <link>https://hg.dopieralski.pl/cpython-lru_cache-weakref/log/8beaa9a37387/Objects/stringlib/unicode_format.h</link>
    <description><![CDATA[Implement PEP 393.]]></description>
    <author>&#77;&#97;&#114;&#116;&#105;&#110;&#32;&#118;&#46;&#32;&#76;&#246;&#119;&#105;&#115;&#32;&#60;&#109;&#97;&#114;&#116;&#105;&#110;&#64;&#118;&#46;&#108;&#111;&#101;&#119;&#105;&#115;&#46;&#100;&#101;&#62;</author>
    <pubDate>Wed, 28 Sep 2011 07:41:54 +0200</pubDate>
</item>

  </channel>
</rss>
