a
XC?hF @ s d dl mZmZ d dlmZ d dlZd dlZd dlZd dl Z d dl
T d dl
mZmZ dd Z
G dd d ZG d
d dZdd
ZeG dd dZeG dd deZdd ZG dd dZG dd deZdd ZG dd dZG dd deZG dd deZG d d! d!Zd"d# ZdS )$ )SequenceIterable)total_orderingN)*)_get_object_traceback_get_tracesc C s dD ]|}t | dk r@|dkr@|r0d| |f S d| |f S t | dk sT|dkrx|rhd| |f S d | |f S | d
} qd S )N)BZKiBZMiBZGiBTiBd r z%+.1f %sz%.1f %si ( r z%+.0f %sz%.0f %si )abs)sizeZsignZunit r
0/opt/alt/python39/lib64/python3.9/tracemalloc.py_format_size
s r c @ sD e Zd ZdZdZdd Zdd Zdd Zd d
Zdd Z d
d Z
dS ) StatisticzS
Statistic difference on memory allocations between two Snapshot instance.
tracebackr countc C s || _ || _|| _d S Nr )selfr r r r
r
r __init__% s zStatistic.__init__c C s t | j| j| jfS r )hashr r r r r
r
r __hash__* s zStatistic.__hash__c C s2 t |tstS | j|jko0| j|jko0| j|jkS r )
isinstancer NotImplementedr r r r otherr
r
r __eq__- s
zStatistic.__eq__c C sB d| j t| jd| jf }| jr>| j| j }|dt|d 7 }|S )Nz%s: size=%s, count=%iF, average=%s)r r r r r textZaverager
r
r __str__4 s
zStatistic.__str__c C s d| j | j| jf S )Nz)r r r
r
r __repr__> s zStatistic.__repr__c C s | j | j| jfS r )r r r r r
r
r _sort_keyB s zStatistic._sort_keyN__name__
__module____qualname____doc__ __slots__r r r r" r# r$ r
r
r
r r s
r c @ sD e Zd ZdZdZdd Zdd Zdd Zd d
Zdd Z d
d Z
dS )
StatisticDiffzd
Statistic difference on memory allocations between an old and a new
Snapshot instance.
r r size_diffr
count_diffc C s" || _ || _|| _|| _|| _d S r r, )r r r r- r r. r
r
r r M s
zStatisticDiff.__init__c C s t | j| j| j| j| jfS r )r r r r- r r. r r
r
r r T s zStatisticDiff.__hash__c C sJ t |tstS | j|jkoH| j|jkoH| j|jkoH| j|jkoH| j|jkS r )r r+ r r r r- r r. r r
r
r r X s
zStatisticDiff.__eq__c C sP d| j t| jdt| jd| j| jf }| jrL| j| j }|dt|d 7 }|S )Nz %s: size=%s (%s), count=%i (%+i)FTr )r r r r- r r. r r
r
r r" a s
zStatisticDiff.__str__c C s d| j | j| j| j| jf S )Nz9r, r r
r
r r# m s
zStatisticDiff.__repr__c C s t | j| jt | j| j| jfS r )r r- r r. r r r r
r
r r$ r s zStatisticDiff._sort_keyNr% r
r
r
r r+ F s r+ c C s g }| D ]d\}}| |d }|d urNt||j|j|j |j|j|j }nt||j|j|j|j}|| q| D ]*\}}t|d|j d|j }|| qz|S Nr )itemspopr+ r r append) old_group new_group
statisticsr statZpreviousr
r
r _compare_grouped_statsx s" r7 c @ s\ e Zd ZdZdZdd Zedd Zedd Zd d
Z dd Z
d
d Zdd Zdd Z
dS )Framez
Frame of a traceback.
_framec C s
|| _ d S r r9 r framer
r
r r s zFrame.__init__c C s
| j d S r/ r9 r r
r
r filename s zFrame.filenamec C s
| j d S N r9 r r
r
r lineno s zFrame.linenoc C s t |tstS | j|jkS r r r8 r r: r r
r
r r s
zFrame.__eq__c C s t |tstS | j|jk S r rA r r
r
r __lt__ s
zFrame.__lt__c C s
t | jS r )r r: r r
r
r r s zFrame.__hash__c C s d| j | jf S )Nz%s:%sr= r@ r r
r
r r" s z
Frame.__str__c C s d| j | jf S )NzrC r r
r
r r# s zFrame.__repr__N)r&