You are here

Объект MD5HashTable

Объект MD5HashTable позволяет эффективно хранить в памяти большое количество (60-120 миллионов) текстовых 32-символьных хэшей md5, возвращаемых функцией MD5() и производить очень быстрый поиск наличия хэша в памяти.

Расход памяти на каждый md5-хэш составляет 17 байт. Т.е. для хранения 100 миллионов хэшей необходимо 1.7 гигабайта памяти.

Объект может использоваться при скачивании программой очень больших объёмов данных для хранения md5-хэшей от уже скачанных ссылок, чтобы не скачивать их повторно.

Пример использования:

MD5HashTable.Init(17 * 1000); // резервируем память под 1000 хэшей
 
// цикл скачивания страниц;
function DownloadPage(url)
{
	var szMD5 = MD5(url); // вычисляем md5-хэш от ссылки
 
	if (MD5HashTable.IsExists(szMD5)) // проверяем скачивалась ли ссылка ранее
		return false; // выходим, если ссылка уже скачивалась
 
	MD5HashTable.Add(szMD5); // добавляем md5-хэш в базу данных в памяти
 
	// скачиваем страницу
}