Skip to content

Commit

Permalink
Add caching to security descriptor lookups (#35)
Browse files Browse the repository at this point in the history
  • Loading branch information
OlafHaalstra authored Jul 5, 2024
1 parent 2765041 commit 14781ef
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions dissect/ntfs/secure.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from __future__ import annotations

import io
from functools import lru_cache
from typing import BinaryIO, Iterator
from uuid import UUID

Expand Down Expand Up @@ -38,6 +39,8 @@ def __init__(self, record: MftRecord = None, sds: BinaryIO = None):
if not hasattr(self.sds, "size"):
self.sds.size = self.sds.seek(0, io.SEEK_END)

self.lookup = lru_cache(4096)(self.lookup)

def _iter_entries(self, offset: int = 0) -> Iterator[c_ntfs._SECURITY_DESCRIPTOR_HEADER]:
"""Iterate over all SDS entries, optionally starting from a specific offset.
Expand Down

0 comments on commit 14781ef

Please sign in to comment.