gh-131196: Improve perfomance of UUID.hex and UUID.__str__ by ~10% (#131197)

Results before and after the fix:

```
hex
before: 0.021755493999989994
after:  0.01465080400066654 

str
before: 0.06381790500017814
after:  0.05134949700004654
```

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
This commit is contained in:
Grigory Bukovsky 2025-03-14 01:57:38 +03:00 committed by GitHub
parent d7d22899e2
commit 1121c80fda
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 4 additions and 4 deletions

View file

@ -321,9 +321,8 @@ class UUID:
raise TypeError('UUID objects are immutable')
def __str__(self):
hex = '%032x' % self.int
return '%s-%s-%s-%s-%s' % (
hex[:8], hex[8:12], hex[12:16], hex[16:20], hex[20:])
x = self.hex
return f'{x[:8]}-{x[8:12]}-{x[12:16]}-{x[16:20]}-{x[20:]}'
@property
def bytes(self):
@ -387,7 +386,7 @@ class UUID:
@property
def hex(self):
return '%032x' % self.int
return self.bytes.hex()
@property
def urn(self):

View file

@ -0,0 +1 @@
Improve perfomance of :attr:`uuid.UUID.hex` and :meth:`uuid.UUID.__str__ <object.__str__>`.