This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Dragoljub
Recipients Dragoljub, cgohlke, vstinner, xtreak
Date 2018-11-13.01:39:52
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1542073194.11.0.788709270274.issue35195@psf.upfronthosting.co.za>
In-reply-to
Content
Here is a simple pure python example:

digits = ''.join([str(i) for i in range(10)]*10000000)
%timeit digits.isdigit() # --> 2X+ slower on python 3.7.1

Basically in Pandas C-code parser we call the isdigit() function for each number that is to be parsed. so 12345.6789 calls isdigt() 9 times to determine if this is a digit character that can be converted to a float. The problem is in the latest version of Python with locale updates isdigit() takes a locale argument that seems to be passed over and over slowing down this check. Is it possible that we disable any local passing from Python down to lower-level C code, or simply set the default locale to 'C' to keep it from thrashing?
History
Date User Action Args
2018-11-13 01:39:54Dragoljubsetrecipients: + Dragoljub, vstinner, cgohlke, xtreak
2018-11-13 01:39:54Dragoljubsetmessageid: <1542073194.11.0.788709270274.issue35195@psf.upfronthosting.co.za>
2018-11-13 01:39:54Dragoljublinkissue35195 messages
2018-11-13 01:39:52Dragoljubcreate