Movatterモバイル変換


[0]ホーム

URL:


homepage

Issue28596

This issue trackerhas been migrated toGitHub, and is currentlyread-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title:on Android _bootlocale on startup relies on too many library modules
Type:performanceStage:resolved
Components:Interpreter CoreVersions:Python 3.7
process
Status:closedResolution:fixed
Dependencies:Superseder:
Assigned To: xdegayeNosy List: Arfrever, barry, benjamin.peterson, brett.cannon, christian.heimes, eric.araujo, eric.snow, ezio.melotti, flox, lemburg, mark.dickinson, ncoghlan, orsenthil, python-dev, rhettinger, vstinner, xdegaye, yan12125
Priority:normalKeywords:patch

Created on2016-11-03 09:48 byxdegaye, last changed2022-04-11 14:58 byadmin. This issue is nowclosed.

Files
File nameUploadedDescriptionEdit
android-locale-utf8.patchyan12125,2016-11-18 15:51review
android-locale-utf8.patchyan12125,2016-11-18 17:47Patch version 2review
android-locale-utf8.patchyan12125,2016-12-04 13:35Patch version 3review
android-locale-utf8.patchyan12125,2016-12-05 06:17Patch version 4review
android-locale-utf8.patchyan12125,2016-12-07 11:07Patch version 5review
Messages (11)
msg279981 -(view)Author: Xavier de Gaye (xdegaye)*(Python triager)Date: 2016-11-03 09:48
Android does not have langinfo.h and this results in _bootlocale importing locale on startup (seeissue 26928).IMHO it is not acceptable to fallback to locale.py if CODESET is not available (in answer to Victor question inmsg199367), because there are now two code paths to investigate weird bugs such as the one described by Antoine inissue 9548. Also note that Android platforms have a slow processor and limited RAM size, so they would strongly benefit from a startup sequence avoiding the imports made by the locale module. Since there is already a _bootlocale module, what are now the objections to implement the patch Antoine has proposed inissue 9548 ?Nosying people fromissue 9548.
msg281131 -(view)Author: (yan12125)*Date: 2016-11-18 15:51
Here's my try: force UTF-8 on Android as explained inmsg281110. sys.getfilesystemencoding() is already UTF-8 sinceissue22747.Testing:1. Starting up time 0.18~0.19s => 0.11~0.12s, on Android 6.0, ASUS ZE500KL (Qualcomm MSM8916 QuadCore 1.2GHz)2. test_site passes
msg281153 -(view)Author: (yan12125)*Date: 2016-11-18 17:47
Version 2 - use sys.implementation._multiarch to determine whether it's Android or not
msg281170 -(view)Author: STINNER Victor (vstinner)*(Python committer)Date: 2016-11-18 21:27
I created the issue#28740: Add sys.getandroidapilevel().
msg282339 -(view)Author: (yan12125)*Date: 2016-12-04 13:35
Patch version 3, using sys.getandroidapilevel()
msg282386 -(view)Author: (yan12125)*Date: 2016-12-05 06:17
Thanks Victor. Here's new patch, which uses hasattr
msg282481 -(view)Author: STINNER Victor (vstinner)*(Python committer)Date: 2016-12-05 22:54
android-locale-utf8.patch LGTM, but I added minor comments on the review.I would prefer to let Xavier merges this one, since he can test it.
msg282505 -(view)Author: Xavier de Gaye (xdegaye)*(Python triager)Date: 2016-12-06 07:41
This is a performance issue. I will look at it shortly.
msg282616 -(view)Author: (yan12125)*Date: 2016-12-07 11:07
Patch version 5, updated comments. Thanks for all of those feedbacks :)
msg283472 -(view)Author: Roundup Robot (python-dev)(Python triager)Date: 2016-12-17 08:20
New changeset1756beed417c by Xavier de Gaye in branch 'default':Issue#28596: The preferred encoding is UTF-8 on Android.https://hg.python.org/cpython/rev/1756beed417c
msg283475 -(view)Author: Xavier de Gaye (xdegaye)*(Python triager)Date: 2016-12-17 08:38
Closing the issue. Thanks for the patch Chi Hsuan Yen.
History
DateUserActionArgs
2022-04-11 14:58:39adminsetgithub: 72782
2017-03-31 23:33:26adminsetpull_requests: -pull_request1113
2017-03-31 23:33:06ezio.melottisetpull_requests: +pull_request1113
2017-03-31 23:23:42ezio.melottisetpull_requests: -pull_request1113
2017-03-31 23:12:21ezio.melottisetnosy: +ezio.melotti
2017-03-31 16:36:39dstufftsetpull_requests: +pull_request1113
2016-12-17 08:39:00xdegayesetstatus: open -> closed
resolution: fixed
messages: +msg283475

stage: patch review -> resolved
2016-12-17 08:20:06python-devsetmessages: +msg283472
2016-12-07 11:07:39yan12125setfiles: +android-locale-utf8.patch

messages: +msg282616
2016-12-06 07:41:22xdegayesetmessages: +msg282505
2016-12-05 22:54:32vstinnersetmessages: +msg282481
2016-12-05 06:17:47yan12125setfiles: +android-locale-utf8.patch

messages: +msg282386
2016-12-04 13:35:00yan12125setfiles: +android-locale-utf8.patch

messages: +msg282339
2016-12-03 16:42:30xdegayesetassignee:xdegaye
stage: needs patch -> patch review
type: behavior -> performance
versions: - Python 3.6
2016-11-18 21:27:03vstinnersetmessages: +msg281170
2016-11-18 17:59:49pitrousetnosy: -pitrou
2016-11-18 17:47:32yan12125setfiles: +android-locale-utf8.patch

messages: +msg281153
2016-11-18 15:51:44yan12125setfiles: +android-locale-utf8.patch

nosy: +yan12125
messages: +msg281131

keywords: +patch
2016-11-03 09:59:10xdegayelinkissue26865 dependencies
2016-11-03 09:48:40xdegayecreate
Supported byThe Python Software Foundation,
Powered byRoundup
Copyright © 1990-2022,Python Software Foundation
Legal Statements

[8]ページ先頭

©2009-2026 Movatter.jp