From bcef54e10a14388deb24a2884b829ca7d551321d Mon Sep 17 00:00:00 2001 From: isotr0py <2037008807@qq.com> Date: Thu, 31 Oct 2024 22:13:15 +0800 Subject: [PATCH] improve performance --- gguf-py/gguf/gguf_reader.py | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/gguf-py/gguf/gguf_reader.py b/gguf-py/gguf/gguf_reader.py index 92119640b..3dd004d66 100644 --- a/gguf-py/gguf/gguf_reader.py +++ b/gguf-py/gguf/gguf_reader.py @@ -6,6 +6,7 @@ from __future__ import annotations import logging import os +import struct from collections import OrderedDict from typing import Any, Literal, NamedTuple, TypeVar, Union @@ -92,7 +93,7 @@ class GGUFReader: offs = 0 # Check for GGUF magic - if self._get(offs, np.uint32, override_order = '<')[0] != GGUF_MAGIC: + if struct.unpack(" tuple[npt.NDArray[np.uint64], npt.NDArray[np.uint8]]: - slen = self._get(offset, np.uint64) - return slen, self._get(offset + 8, np.uint8, slen[0]) + def _get_str(self, offset: int, return_size=False) -> tuple[npt.NDArray[np.uint64], npt.NDArray[np.uint8]]: + self.data.seek(offset) + slen = struct.unpack('