Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 29 additions & 17 deletions invokeai/backend/model_manager/util/libc_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,23 +36,35 @@ class Struct_mallinfo2(ctypes.Structure):
]

def __str__(self) -> str:
s = ""
s += (
f"{'arena': <10}= {(self.arena / 2**30):15.5f} # Non-mmapped space allocated (GB) (uordblks + fordblks)\n"
)
s += f"{'ordblks': <10}= {(self.ordblks): >15} # Number of free chunks\n"
s += f"{'smblks': <10}= {(self.smblks): >15} # Number of free fastbin blocks \n"
s += f"{'hblks': <10}= {(self.hblks): >15} # Number of mmapped regions \n"
s += f"{'hblkhd': <10}= {(self.hblkhd / 2**30):15.5f} # Space allocated in mmapped regions (GB)\n"
s += f"{'usmblks': <10}= {(self.usmblks): >15} # Unused\n"
s += f"{'fsmblks': <10}= {(self.fsmblks / 2**30):15.5f} # Space in freed fastbin blocks (GB)\n"
s += (
f"{'uordblks': <10}= {(self.uordblks / 2**30):15.5f} # Space used by in-use allocations (non-mmapped)"
" (GB)\n"
)
s += f"{'fordblks': <10}= {(self.fordblks / 2**30):15.5f} # Space in free blocks (non-mmapped) (GB)\n"
s += f"{'keepcost': <10}= {(self.keepcost / 2**30):15.5f} # Top-most, releasable space (GB)\n"
return s
# Precompute divisor
GB = 2**30

# Avoid repeated attribute and division lookups
arena_gb = self.arena / GB
ordblks = self.ordblks
smblks = self.smblks
hblks = self.hblks
hblkhd_gb = self.hblkhd / GB
usmblks = self.usmblks
fsmblks_gb = self.fsmblks / GB
uordblks_gb = self.uordblks / GB
fordblks_gb = self.fordblks / GB
keepcost_gb = self.keepcost / GB

# List of strings, join at the end for efficiency
lines = [
f"{'arena': <10}= {arena_gb:15.5f} # Non-mmapped space allocated (GB) (uordblks + fordblks)\n",
f"{'ordblks': <10}= {ordblks: >15} # Number of free chunks\n",
f"{'smblks': <10}= {smblks: >15} # Number of free fastbin blocks \n",
f"{'hblks': <10}= {hblks: >15} # Number of mmapped regions \n",
f"{'hblkhd': <10}= {hblkhd_gb:15.5f} # Space allocated in mmapped regions (GB)\n",
f"{'usmblks': <10}= {usmblks: >15} # Unused\n",
f"{'fsmblks': <10}= {fsmblks_gb:15.5f} # Space in freed fastbin blocks (GB)\n",
(f"{'uordblks': <10}= {uordblks_gb:15.5f} # Space used by in-use allocations (non-mmapped) (GB)\n"),
f"{'fordblks': <10}= {fordblks_gb:15.5f} # Space in free blocks (non-mmapped) (GB)\n",
f"{'keepcost': <10}= {keepcost_gb:15.5f} # Top-most, releasable space (GB)\n",
]
return "".join(lines)


class LibcUtil:
Expand Down