Это идеальный запуск памяти для Python Spyder? - PullRequest
0 голосов
/ 28 мая 2020

Вот использование ОЗУ при запуске Spyder Active:

enter image description here

Интересно, нормально ли это использование ОЗУ (без объектов, определенных в Python)? Вот все встроенные объекты, содержащиеся на данный момент

enter image description here

enter image description here

Итак, я запускаю эту настраиваемую память Профайлер для непосредственной регистрации:

def memory_inspector():
    import pandas as pd
    import sys
    print(sys.getsizeof({}))
    print(sys.getsizeof([]))
    print(sys.getsizeof(set()))

    from guppy import hpy
    h = hpy()
    print(h.heap())

    import gc
    for x in range(0,5):
        print(gc.collect())

    from pympler import muppy, summary
    all_objects = muppy.get_objects()
    sum1 = summary.summarize(all_objects)
    # Prints out a summary of the large objects
    summary.print_(sum1)
    # Get references to certain types of objects such as dataframe
    dataframes = [ao for ao in all_objects if isinstance(ao, pd.DataFrame)]
    for d in dataframes:
      print(d.columns.values)
      print(len(d))

И вот результат, который я получаю:

 memory_inspector()

240
64
224
Partition of a set of 584859 objects. Total size = 70874332 bytes.
 Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
     0 155292  27 20362407  29  20362407  29 str
     1 148846  25 11896144  17  32258551  46 tuple
     2  65790  11  5071067   7  37329618  53 bytes
     3  33434   6  4837624   7  42167242  59 types.CodeType
     4  30565   5  4156840   6  46324082  65 function
     5   3787   1  3650848   5  49974930  71 type
     6   7652   1  3216168   5  53191098  75 dict (no owner)
     7   3787   1  2065200   3  55256298  78 dict of type
     8   1359   0  2029176   3  57285474  81 dict of module
     9    665   0  1087328   2  58372802  82 dict of sip.wrappertype
<1752 more rows. Type e.g. '_.more' to view.>
12
2
2
2
2
                                types |   # objects |   total size
===================================== | =========== | ============
                          <class 'str |      157980 |     19.65 MB
  <class 'guppy.sets.setsc.ImmNodeSet |        1795 |      9.03 MB
                         <class 'dict |       15982 |      8.03 MB
                        <class 'bytes |       65800 |      4.84 MB
                         <class 'code |       33744 |      4.66 MB
                         <class 'type |        3301 |      3.33 MB
                          <class 'int |       39687 |      1.07 MB
                        <class 'tuple |       15529 |      1.00 MB
                          <class 'set |         922 |    844.44 KB
                         <class 'list |        6113 |    832.86 KB
         <class 'sip.methoddescriptor |       15059 |    823.54 KB
              <class 'sip.wrappertype |         663 |    683.72 KB
                      <class 'weakref |        7907 |    617.73 KB
                 <class 'sip.enumtype |         555 |    572.34 KB
           <class 'wrapper_descriptor |        6491 |    507.11 KB

Может ли кто-нибудь подробно интерпретировать эти результаты о том, что происходит? возможно ли минимизировать использование памяти на этом этапе, даже если в Python нет объектов?

...