File: NEWS

package info (click to toggle)
sparsehash 1.10-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 1,532 kB
  • sloc: cpp: 5,802; sh: 3,803; ansic: 1,256; makefile: 245
file content (93 lines) | stat: -rw-r--r-- 4,332 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
== 21 January 2011 ==

I've just released sparsehash 1.10.  This fixes a performance
regression in sparsehash 1.8, where sparse_hash_map would copy
hashtable keys by value even when the key was explicitly a reference.
It also fixes compiler warnings from MSVC 10, which uses some c++0x
features that did not interact well with sparsehash.

There is no reason to upgrade unless you use references for your
hashtable keys, or compile with MSVC 10.  A full list of changes is
described in
[http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.10/ChangeLog ChangeLog].


=== 24 September 2010 ===

I've just released sparsehash 1.9.  This fixes a size regression in
sparsehash 1.8, where the new allocator would take up space in
`sparse_hash_map`, doubling the sparse_hash_map overhead (from 1-2
bits per bucket to 3 or so).  All users are encouraged to upgrade.

This change also marks enums as being Plain Old Data, which can speed
up hashtables with enum keys and/or values.  A full list of changes is
described in
[http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.9/ChangeLog ChangeLog].

=== 29 July 2010 ===

I've just released sparsehash 1.8.  This includes improved support for
`Allocator`, including supporting the allocator constructor arg and
`get_allocator()` access method.

To work around a bug in gcc 4.0.x, I've renamed the static variables
`HT_OCCUPANCY_FLT` and `HT_SHRINK_FLT` to `HT_OCCUPANCY_PCT` and
`HT_SHRINK_PCT`, and changed their type from float to int.  This
should not be a user-visible change, since these variables are only
used in the internal hashtable classes (sparsehash clients should use
`max_load_factor()` and `min_load_factor()` instead of modifying these
static variables), but if you do access these constants, you will need
to change your code.

Internally, the biggest change is a revamp of the test suite.  It now
has more complete coverage, and a more capable timing tester.  There
are other, more minor changes as well.  A full list of changes is
described in the
[http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.8/ChangeLog ChangeLog].

=== 31 March 2010 ===

I've just released sparsehash 1.7.  The major news here is the
addition of `Allocator` support.  Previously, these hashtable classes
would just ignore the `Allocator` template parameter.  They now
respect it, and even inherit `size_type`, `pointer`, etc. from the
allocator class.  By default, they use a special allocator we provide
that uses libc `malloc` and `free` to allocate.  The hash classes
notice when this special allocator is being used, and use `realloc`
when it can.  This means that the default allocator is significantly
faster than custom allocators are likely to be (since realloc-like
functionality is not supported by STL allocators).

There are a few more minor changes as well.  A full list of changes is
described in the
[http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.7/ChangeLog ChangeLog].

=== 11 January 2010 ===

I've just released sparsehash 1.6.  The API has widened a bit with the
addition of `deleted_key()` and `empty_key()`, which let you query
what values these keys have.  A few rather obscure bugs have been
fixed (such as an error when copying one hashtable into another when
the empty_keys differ).  A full list of changes is described in the
[http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.6/ChangeLog ChangeLog].

=== 9 May 2009 ===

I've just released sparsehash 1.5.1.  Hot on the heels of sparsehash
1.5, this release fixes a longstanding bug in the sparsehash code,
where `equal_range` would always return an empty range.  It now works
as documented.  All sparsehash users are encouraged to upgrade.

=== 7 May 2009 ===

I've just released sparsehash 1.5.  This release introduces tr1
compatibility: I've added `rehash`, `begin(i)`, and other methods that
are expected to be part of the `unordered_map` API once `tr1` in
introduced.  This allows `sparse_hash_map`, `dense_hash_map`,
`sparse_hash_set`, and `dense_hash_set` to be (almost) drop-in
replacements for `unordered_map` and `unordered_set`.

There is no need to upgrade unless you need this functionality, or
need one of the other, more minor, changes described in the
[http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.5/ChangeLog ChangeLog].