Home
Name Modified Size InfoDownloads / Week
pwwMapGui__.txt 2023-02-19 691 Bytes
pwwMapGui.7z 2023-02-19 14.3 MB
pwwHash2022-06-20.7z 2022-06-20 115.0 kB
__.txt 2022-06-03 2.2 kB
______.txt 2022-06-03 1.6 kB
contact way.jpg 2018-10-16 91.6 kB
Time limit, please adjust the system time to 2017.txt 2017-12-29 49 Bytes
pwwMap2017-6-1.zip 2017-06-01 404.7 kB
User_s Manual.txt 2016-03-12 3.2 kB
pwwMap2016-02-28.zip 2016-02-29 657.5 kB
pwwMap2016-02-11.zip 2016-02-11 659.3 kB
pwwMap2016-01-31.zip 2016-01-31 595.2 kB
pwwMap2016-01-30.zip 2016-01-31 587.9 kB
updateLog.txt 2015-12-28 126 Bytes
pwwMap2015-12-21.zip 2015-12-21 587.8 kB
pwwMap2015-12-18.zip 2015-12-21 590.4 kB
pwwMap2015-12-15.zip 2015-12-15 572.3 kB
pwwMap2015-12-9.zip 2015-12-09 572.1 kB
pwwHash2015-12-7.zip 2015-12-07 564.0 kB
pwwMap2015-11-29.zip 2015-11-29 589.6 kB
pwwMap2015-11-24.zip 2015-11-24 577.3 kB
pwwMap2015-11-23.zip 2015-11-23 577.3 kB
Technology transfer.txt 2015-08-06 295 Bytes
README.txt 2015-06-26 2.3 kB
pwwHashEnglish2015-05-08.zip 2015-05-08 1.3 MB
chineseREADME.txt 2015-05-08 1.3 kB
resume.doc 2015-05-08 18.9 kB
pwwHashEnglish.zip 2015-04-16 1.3 MB
pwwHash.zip 2014-07-22 1.1 MB
Totals: 29 Items   25.8 MB 0
Title:       The core of the big data solutions -- Map.
Author:      pengwenwei
address:     Xianggan Batang District 17-18 xiangtan City, Hunan China   
Language:    c++
Platform:    Windows, linux
Technology:  Perfect hash algorithm
Level:       Advanced
Description: A high performance map algorithm
Section      MFC c++ map stl
SubSection   c++ algorithm
License:     (GPLv3)


Map is widely used in c++ programs. Its performance is critical to programs' performance. Especially in big data  and the scenarios which can't realize data distribution and parallel processing.

I have been working on big data analysis for many years in telecommunition and information security industry. The data analysis is so complicated that they can't work without map. Especially in information security industry, the data is much more complicated than others. For example, ip table, mac table, telephone numbers table, dns table etc.


Currently, the STL map and Google's hash map are the most popular maps. But they have some disadvantages. The STL map is based on binary chop, which causes a bad performance. Google Hash map has the best performance at present, but it has probability of collision. For big data analysis, the collision probability is unacceptable.

Now I would like to publish pwwMap. It includes three different maps for different scenarios:
1. Memory Map(memMap): It has a good access speed. But its size is limited by memory size.
2. Harddisk Map(diskMap): It utilizes hard disk to store data. So it could accept much more data than memory map.
3. Hashmap(hashMap): It has the best performance and a great lookup speed, but it doesn't have 'insert' and 'delete' functionality.

MemMap and diskMap could be converted to hashMap by function memMap2HashMap and diskMap2HashMap. According to the test result, my algorithms' collision probability is zero. About performance, memMap has a comparable performance with google, and hashMap's performance is 100 times better than Google's hashmap.

In summary, pwwhash are perfect hash algorithms with zero collision probability. You can refer to following artical to find the key index and compress algorithm theory:
http://blog.csdn.net/chixinmuzi/article/details/1727195

Source code and documents:
https://sourceforge.net/projects/pwwhashmap/files/?source=navbar
Source: README.txt, updated 2015-06-26