Possible Fix to deal with Python Memory usage

前端 未结 5 2090
一个人的身影
一个人的身影 2021-01-16 14:11

I have the following class:

 class C1:
    STORE = []
    TYPE = []
    ITEMS = []
    PRICE = []


    def __init__(self,STORE,TYPE,ITEMS,PRICE):
        se         


        
5条回答
  •  再見小時候
    2021-01-16 14:50

    Using Python 2.3 is going to limit your options (including excluding the option of going to 64-bit). That's also the main reason the memory is not being released back to the OS: the internal object allocator in CPython didn't gain the ability to return no longer used memory to the OS until 2.5.

    If you can, try running the algorithm on 2.7 and see what gains you're able to achieve purely by using a more recent version of the interpreter (or what compatibility problems would arise in such a migration).

    And, as others have suggested, optimise your data structures. Check the algorithmic complexity of the operations you perform regularly, and see if there is a way to convert O(n*n) operations to O(n*logn) and O(n) to O(logn) or O(1).

    Even if the underlying data structures can't change, you may be able to use the bisect module to speed up some operations on your lists.

提交回复
热议问题