Work to do a good job, must first sharpen his tools.

Hi
My English is not good and if there is a syntax error, Keep the jokes clean 
please!
Welcome to my space:
http://sourceforge.net/p/pwwhashmap/discussion/general/

Title:       The core of the core of the big data solutions -- Map
Author:      pengwenwei
Email:       wenwei19710430
Language:    c++
Platform:    Windows, linux
Technology:  Perfect hash algorithm
Level:       Advanced
Description: Map algorithm with high performance
Section      MFC c++ map stl
SubSection   c++ algorithm
License:     (GPLv3)

    Download demo project - 1070 Kb
    Download source - 1070 Kb

Introduction:
For the c++ program, map is used everywhere.And bottleneck of program 
performance is often the performance of map.Especially in the case of large 
data,and the business association closely and unable to realize the data 
distribution and parallel processing condition.So the performance of map 
becomes the key technology.

In the work experience with telecommunications industry and the information 
security industry, I was dealing with the big bottom data,especially the 
most complex information security industry data,all can’t do without map.

For example, IP table, MAC table, telephone number list, domain name 
resolution table, ID number table query, the Trojan horse virus 
characteristic code of cloud killing etc..

The map of STL library using binary chop, its has the worst 
performance.Google Hash map has the optimal performance and memory at 
present, but it has repeated collision probability.Now the big data rarely 
use a collision probability map,especially relating to fees, can’t be wrong.

Now I put my algorithms out here,there are three kinds of map,after the 
build is Hash map.We can test the comparison,my algorithm has the zero 
probability of collision,but its performance is also better than the hash 
algorithm, even its ordinary performance has no much difference with Google.

My algorithm is perfect hash algorithm,its key index and the principle of 
compression algorithm is out of the ordinary,the most important is a 
completely different structure,so the key index compression  is 
fundamentally different.The most direct benefit for program is that for the 
original map need ten servers for solutions but now I only need one server.
Declare: the code can not be used for commercial purposes, if for 
commercial applications,you can contact me with QQ 75293192.
Download:
https://sourceforge.net/projects/pwwhashmap/files


Background to this article that may be useful such as an introduction to 
the basic ideas presented:
http://blog.csdn.net/chixinmuzi/article/details/1727195


Development Manual:
Three different map algorithm, used in different application scenarios.
1,memMap:  Based on memory No hard disk consumption.
2,diskMap: Based on the hard disk No memory consumption.
3,hashMap: No delete function, but the best performance.
memMap and diskMap can turn to hashMap by memMap2HashMap and 
diskMap2HashMap.

In addition,Provide Google HashMap for comparative test. 
Algorithm of Google,the performance is not good, but also has the collision 
probability .

在 2009年5月15日星期五 UTC+8下午4:48:07,[email protected]写道:
>
> Author: [email protected] <javascript:>
> Date: Fri May 15 01:33:38 2009
> New Revision: 1961
>
> Modified:
>     branches/bleeding_edge/test/cctest/test-hashmap.cc
>
> Log:
> Fix lint errors in test-hashmap.cc
>
> Modified: branches/bleeding_edge/test/cctest/test-hashmap.cc
>
> ==============================================================================
> --- branches/bleeding_edge/test/cctest/test-hashmap.cc        (original)
> +++ branches/bleeding_edge/test/cctest/test-hashmap.cc        Fri May 15 
> 01:33:38  
> 2009
> @@ -43,7 +43,7 @@
>
>   class IntSet {
>    public:
> -  IntSet(IntKeyHash hash) : hash_(hash), map_(DefaultMatchFun)  {}
> +  explicit IntSet(IntKeyHash hash) : hash_(hash), map_(DefaultMatchFun) 
>  {}
>
>     void Insert(int x) {
>       CHECK_NE(0, x);  // 0 corresponds to (void*)NULL - illegal key value
> @@ -59,7 +59,8 @@
>     }
>
>     bool Present(int x) {
> -    HashMap::Entry* p = map_.Lookup(reinterpret_cast<void*>(x), hash_(x), 
>  
> false);
> +    HashMap::Entry* p =
> +        map_.Lookup(reinterpret_cast<void*>(x), hash_(x), false);
>       if (p != NULL) {
>         CHECK_EQ(reinterpret_cast<void*>(x), p->key);
>       }
> @@ -164,7 +165,6 @@
>         }
>         y = y * factor + offset;
>       }
> -
>     }
>     CHECK_EQ(0, set.occupancy());
>   }
>
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to