2017 © Pedro Peláez
 

library hashee

hash for search

image

serima/hashee

hash for search

  • Monday, May 21, 2018
  • by serima
  • Repository
  • 1 Watchers
  • 0 Stars
  • 4 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Hashee

Build Status Scrutinizer Code Quality, (*1)

Very simple optimization using hash lookups to search an array., (*2)

Installation

composer require serima/hashee

Usage

<?php

use Serima\Hashee\Hashee;

$hashForSearch = array();
Hashee::add($hashForSearch, 'super');
Hashee::add($hashForSearch, 'bad');
Hashee::add($hashForSearch, 'word');

Hashee::in('good', $hashForSearch); // false
Hashee::in('bad', $hashForSearch); // true
Hashee::release($hashForSearch);

$bannedUserNames = array('Jim', 'Taro', 'Fred');
Hashee::addBulk($bannedUserNames);
Hashee::delete($bannedUserNames, 'Fred');
Hashee::in('Jim', $bannedUserNames); // true
Hashee::in('Fred', $bannedUserNames); // false
Hashee::release($bannedUserNames);

Benchmark

You can see the benchmark script in tests/Benchmark.php Graphical here. https://docs.google.com/spreadsheets/d/11zw--aiHH33umh86y_ctiEx87XTsUIK7YMHqctZ_FzM/edit?usp=sharing, (*3)

% php tests/Benchmark.php
========================================
elementNumber : 5
in_array: 0.030714988708496
hashee:   0.013134956359863
========================================
========================================
elementNumber : 10
in_array: 0.032805919647217
hashee:   0.012555122375488
========================================
========================================
elementNumber : 100
in_array: 0.15763115882874
hashee:   0.010236978530884
========================================
========================================
elementNumber : 1000
in_array: 1.3289721012115
hashee:   0.010061025619507
========================================
========================================
elementNumber : 10000
in_array: 13.358424901962
hashee:   0.0097849369049072
========================================

Thanks

Hashee is inspired by this entry written by @mtdowling., (*4)

Favor Hash Lookups Over Array Searches, (*5)

I coded benchmark script using example from it., (*6)

References

http://stackoverflow.com/questions/2473989/list-of-big-o-for-php-functions, (*7)

LICENSE

MIT License., (*8)

The Versions

21/05 2018

dev-master

9999999-dev

hash for search

  Sources   Download

MIT

The Requires

  • php >=5.3

 

The Development Requires

by Ryo Shibayama

hash

11/10 2015

0.0.1

0.0.1.0

hash for search

  Sources   Download

MIT

The Requires

  • php >=5.3

 

The Development Requires

by Ryo Shibayama

hash