From: Dmitry Selyutin Date: Fri, 12 Jan 2018 20:09:16 +0000 (+0300) Subject: module: a faster hash computation X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=fed873464b396793d8b57c2873edb366945799e6;p=gnulib.git module: a faster hash computation --- diff --git a/pygnulib/module.py b/pygnulib/module.py index ad14e8c11f..f3bfbc7dbd 100644 --- a/pygnulib/module.py +++ b/pygnulib/module.py @@ -6,8 +6,9 @@ import ast as _ast import codecs as _codecs -import hashlib as _hashlib import collections as _collections +import hashlib as _hashlib +import json as _json import os as _os import re as _re @@ -78,10 +79,7 @@ class BaseModule: def __hash__(self): - result = hash(self.__name) - for key in sorted(self.keys()): - result ^= hash(tuple(self[key])) - return result + return hash(self.__name) ^ _json.dumps(self.__table, sort_keys=True) def __getitem__(self, key):