Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #95395

Re: memory control in Python

Path csiph.com!eternal-september.org!feeder.eternal-september.org!border1.nntp.ams1.giganews.com!nntp.giganews.com!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <python-python-list@m.gmane.org>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.011
X-Spam-Evidence '*H*': 0.98; '*S*': 0.00; 'subject:Python': 0.05; 'report.': 0.07; 'ping': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'python': 0.10; 'jan': 0.11; '"ironpython"': 0.16; 'arrays.': 0.16; 'feasible': 0.16; 'liu': 0.16; 'numpy': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'reedy': 0.16; 'solver': 0.16; 'wrote:': 0.16; 'memory': 0.17; 'arrays': 0.22; 'am,': 0.23; 'header:In-Reply-To:1': 0.24; 'testing': 0.25; 'header:User- Agent:1': 0.26; 'header:X-Complaints-To:1': 0.26; 'error': 0.27; 'tend': 0.27; 'turns': 0.27; 'issues.': 0.29; 'objects': 0.29; 'creating': 0.30; 'error.': 0.31; 'problem': 0.33; 'case,': 0.34; 'running': 0.34; 'gives': 0.35; 'fail': 0.35; 'unknown': 0.35; 'but': 0.36; 'instead': 0.36; 'cases': 0.36; 'to:addr:python- list': 0.36; 'subject:: ': 0.37; 'received:org': 0.37; 'several': 0.38; 'test': 0.39; 'sure': 0.39; 'does': 0.39; 'well.': 0.40; 'to:addr:python.org': 0.40; 'studies': 0.63; 'different': 0.63; 'day.': 0.63; 'places': 0.64; 'hours': 0.65; 'due': 0.65; 'day,': 0.65; '26,': 0.72; 'increase': 0.73; 'forth': 0.79; 'dramatically': 0.84; 'received:fios.verizon.net': 0.91; 'suffer': 0.93; 'period.': 0.95
X-Injected-Via-Gmane http://gmane.org/
To python-list@python.org
From Terry Reedy <tjreedy@udel.edu>
Subject Re: memory control in Python
Date Sat, 15 Aug 2015 13:28:19 -0400
References <CAM5e_kbbTAEHE=mi0WFXutJ5G2A-UV4wLsAPMcBT5XrCqhr3MA@mail.gmail.com> <87io8hc8z3.fsf@handshake.de>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding 7bit
X-Gmane-NNTP-Posting-Host pool-98-114-97-173.phlapa.fios.verizon.net
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0
In-Reply-To <87io8hc8z3.fsf@handshake.de>
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.20+
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.31.1439659711.4764.python-list@python.org> (permalink)
Lines 41
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1439659711 news.xs4all.nl 2859 [2001:888:2000:d::a6]:45383
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:95395

Show key headers only | View raw


On 8/15/2015 3:21 AM, dieter wrote:
> Ping Liu <yanzhipingliu@gmail.com> writes:
>> ...
>> For small cases, Python works well. But if we consider longer time period.
>> then it would fail due to the memory usage issues. We have tested several
>> case studies to check the memory use for different time period, including
>> 1) 2 hours in one day, 2) 24 hours in one day, 3) 20 days with 24 hours
>> each day, as well as 4) 30 days with 24 hours each day. The first 3 cases
>> are feasible while the last case gives out the memory error.
>>
>> When we are testing the forth case, the memory error comes out while
>> creating the inequality constraints. The problem size is 1) Aeq: 12 * 26,
>> Aineq: 30 * 26; 2) Aeq: 144*268, Aineq:316*268; 3) Aeq: 2880*5284, Aineq:
>> 6244*5284; 4) Aeq: 4320 * 7924, Aineq is unknown due to the memory error.
>>
>> The solver is CPLEX (academic). It turns out that the solver is taking a
>> lot of memory as you can see in the memory test report. for the first three
>> cases, different memory usage is observed, and it grows up dramatically
>> with the increase of the time period. 1) solver memory usage: 25.6 MB, 2)
>> 19.5 MB; 3) solver memory usage: 830.0742 MB.

Make sure that the solver is using numpy arrays.

> The C implementation of Python (called "CPython") does not use
> memory compaction and places most of its objects on the heap.
> Those implementations tend to suffer from memory fragmentation in
> long running processes with large memory use.

This can be helped somewhat by reusing arrays instead of deleting and 
creating a new one.


> You may consider "Jython" (a Python implementation in "Java") or
> "IronPython" (a ".Net" based Python implementation) to get a
> Python implementation with memory compaction.
>


-- 
Terry Jan Reedy

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: memory control in Python Terry Reedy <tjreedy@udel.edu> - 2015-08-15 13:28 -0400

csiph-web