Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login


"Life, loathe it or ignore it, you can't like it." -- Marvin the paranoid android

devel / comp.lang.python.announce / [Python-announce] mpdecimal-4.0.0 released

o [Python-announce] mpdecimal-4.0.0 releasedStefan Krah

[Python-announce] mpdecimal-4.0.0 released


  copy mid

  copy link   Newsgroups: comp.lang.python.announce
From: (Stefan Krah)
Newsgroups: comp.lang.python.announce
Subject: [Python-announce] mpdecimal-4.0.0 released
Date: Thu, 25 Jan 2024 18:00:45 +0100
Lines: 71
Message-ID: <>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Trace: ef3MgAk9xRIIWIXTmbKuYAjjyq0aeFOB3cYHGI4dWvKw==
Cancel-Lock: sha1:vFyliU10h9nPCaXqayGhfywRnD0= sha256:ZHtH5bQEFt0s0z/uGy89Aua0S7w4SpbQmxIeXM88abU=
Authentication-Results:; dkim=none reason="no signature";
dkim-adsp=none (unprotected policy); dkim-atps=neutral
X-Spam-Status: OK 0.054
X-Spam-Evidence: '*H*': 0.89; '*S*': 0.00; 'deprecation': 0.09;
'patches': 0.09; 'to:addr:python-announce-list': 0.09; 'types.':
0.09; 'memory': 0.15; '3.9': 0.16; '31%': 0.16; '47%': 0.16;
'applies': 0.16; 'case:': 0.16; 'cleanly': 0.16; 'cpython': 0.16;
'received:136.143': 0.16; '': 0.16; 'triggered':
0.16; 'implement': 0.19; 'skip:_ 10': 0.22; 'skip:- 10': 0.25;
'stefan': 0.26; 'header:User-Agent:1': 0.30; '(as': 0.32;
'nature': 0.32; 'received:136': 0.32; 'release': 0.34; 'same':
0.34; 'fill': 0.34; 'following': 0.35; 'months': 0.35; 'fix':
0.36; 'url:download': 0.37; 'main': 0.37; 'branch': 0.39; 'both':
0.40; 'format': 0.62; 'down': 0.64; 'revert': 0.68; 'skip:b 40':
0.69; 'compared': 0.71; 'future': 0.72; 'five': 0.75;
'received:109': 0.76; '(c)': 0.81; 'encouraged': 0.81;
'copyright': 0.84; 'do).': 0.84; 'warning': 0.84
ARC-Seal: i=1; a=rsa-sha256; t=1706202051; cv=none;; s=zohoarc;
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;; s=zohoarc;
t=1706202051; h=Content-Type:Date:Date:From:From:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To:Cc;
ARC-Authentication-Results: i=1;;
dmarc=pass header.from=<>
Content-Disposition: inline
User-Agent: Mutt/1.10.1 (2018-07-13)
X-ZohoMailClient: External
X-Mailman-Rule-Hits: emergency
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved
X-Mailman-Approved-At: Thu, 25 Jan 2024 12:02:22 -0500
X-Mailman-Version: 3.3.10b1
Precedence: list
List-Id: Announcement-only list for the Python programming language <>
Archived-At: <>
List-Archive: <>
List-Help: <>
List-Owner: <>
List-Post: <>
List-Subscribe: <>
List-Unsubscribe: <>
 by: Stefan Krah - Thu, 25 Jan 2024 17:00 UTC


mpdecimal-4.0.0 has been released:

The release has been tested on a compile farm for five months on the
following platforms:

x86_64, i386, aarch64, ppc64, ppc64le, chrp, sparc64, sparc32,
mips64, mips32, risc-v, Wasm

Tested compilers:

gcc, clang, icc, icx, xlc, ibm-clang, cl.exe, clang-cl, mingw-gcc,
CompCert, emscripten

Distributors of CPython are strongly encouraged to build CPython
--with-system-libmpdec (as most of them already do).

Additionally, distributors of Python-11 and Python-12 are advised to revert
the implementation of the z-format specifier in _decimal.c. It contains a
memory leak for large decimals and does not support the "EG" types.

mpdecimal-4.0.0 automatically supports the z-format specifier without patches
to _decimal.c.

The following patch cleanly reverts b0b836b20cb56c225874a4a39ef895f89ab2970f
and applies to both Python-11 and Python-12:

For the main branch, the following patches are advised:

# As above:

# Implement a catch-all fallback for _all_ future format specifiers that
# are _temporarily_ unsupported in mpdecimal. The fallback is clean and
# is zero-cost for the general common case:

# Fix a deprecation warning that is incorrectly triggered for a fill
# character that contains 'N':

All patches are "BSD-2-clause, Copyright (c) Stefan Krah", same as mpdecimal
and Modules/_decimal/*.

Finally, due to the nature of multiphase initialization, its current
implementation in the main branch slows down the pi benchmark compared
to 3.9 by:

--enable-gil: 31%

--disable-gil: 47%

Stefan Krah

devel / comp.lang.python.announce / [Python-announce] mpdecimal-4.0.0 released


rocksolid light 0.9.81
clearnet tor