Merge lp:~michihenning/persistent-cache-cpp/landing-150819 into lp:persistent-cache-cpp
- landing-150819
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | James Henstridge |
Approved revision: | 24 |
Merged at revision: | 21 |
Proposed branch: | lp:~michihenning/persistent-cache-cpp/landing-150819 |
Merge into: | lp:persistent-cache-cpp |
Diff against target: | 952 lines (+211/-545) 9 files modified CMakeLists.txt (+1/-1) debian/changelog (+8/-510) doc/main_page.dox.in (+4/-4) examples/CMakeLists.txt (+17/-24) include/core/internal/persistent_string_cache_stats.h (+17/-5) include/core/persistent_cache_stats.h (+20/-0) src/core/internal/persistent_string_cache_impl.cpp (+1/-1) src/core/persistent_cache_stats.cpp (+20/-0) tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp (+123/-0) |
To merge this branch: | bzr merge lp:~michihenning/persistent-cache-cpp/landing-150819 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
James Henstridge | Approve | ||
PS Jenkins bot (community) | continuous-integration | Approve | |
Review via email: |
Commit message
Minor enhancements to cache. Suppressed a lintian warning, fixed autopkg test dependency, and added run length averages to stats.
Description of the change
Minor enhancements to cache. Suppressed a lintian warning, fixed autopkg test dependency, and added run length averages to stats.

PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:21
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 22. By Michi Henning
-
Fixed changelog version and change micro version to match.

PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:22
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://

James Henstridge (jamesh) wrote : | # |
This is still wrong. You are still replacing the existing 1.0.3+15.
- 23. By Michi Henning
-
Fixed changelog again.

PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:23
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 24. By Michi Henning
-
Merged documentation fix.

PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:24
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Preview Diff
1 | === modified file 'CMakeLists.txt' |
2 | --- CMakeLists.txt 2015-07-29 01:38:54 +0000 |
3 | +++ CMakeLists.txt 2015-08-19 21:49:27 +0000 |
4 | @@ -13,7 +13,7 @@ |
5 | |
6 | set(VERSION_MAJOR 1) |
7 | set(VERSION_MINOR 0) |
8 | -set(VERSION_MICRO 0) |
9 | +set(VERSION_MICRO 4) |
10 | set(LIBVERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MICRO}") |
11 | |
12 | string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_lower) # Build types should always be lower case |
13 | |
14 | === modified file 'debian/changelog' |
15 | --- debian/changelog 2015-08-07 11:09:03 +0000 |
16 | +++ debian/changelog 2015-08-19 21:49:27 +0000 |
17 | @@ -1,3 +1,10 @@ |
18 | +persistent-cache-cpp (1.0.4+15.10.20150805-0ubuntu2) UNRELEASED; urgency=medium |
19 | + |
20 | + [ Michi Henning ] |
21 | + * Added average hit and miss run stats. |
22 | + |
23 | + -- Michi Henning <michi.henning@canonical.com> Wed, 19 Aug 2015 16:46:00 +1000 |
24 | + |
25 | persistent-cache-cpp (1.0.3+15.10.20150807-0ubuntu1) wily; urgency=medium |
26 | |
27 | [ Michi Henning ] |
28 | @@ -9,518 +16,9 @@ |
29 | persistent-cache-cpp (1.0.0+15.10.20150805-0ubuntu1) wily; urgency=medium |
30 | |
31 | [ Michi Henning ] |
32 | - * Fixes: 1481144 |
33 | - * Changes to tests for boost 1.58 |
34 | - * Added autopkgtest. added: debian/tests/ debian/tests/control |
35 | - debian/tests/test-examples |
36 | - * Added cmake to dependencies. |
37 | - * Added cmake-extras to build deps. |
38 | - * Added doc package. added: debian/persistent-cache-cpp-dev.install |
39 | - debian/persistent-cache-cpp-doc.install |
40 | - * Added examples directory. added: examples/ examples/CMakeLists.txt |
41 | - examples/README examples/person_cache.cpp examples/string_cache.cpp |
42 | - * Added pkgconfig support. added: data/ data/CMakeLists.txt |
43 | - data/libpersistent-cache-cpp.pc.in |
44 | - * Doc fix. |
45 | - * Enabled autopkgtest. |
46 | - * Fixed incorrect include file install dir. |
47 | - * Merged devel: Michi Henning 2015-07-29 Trying without -DLIBDIR Michi |
48 | - Henning 2015-07-29 Added more missing deps. Michi Henning 2015-07-29 |
49 | - Don't need click to build. Michi Henning 2015-07-29 Added pkgconfig |
50 | - to deps. Michi Henning 2015-07-29 [merge] pending merges: Michi |
51 | - Henning 2015-07-29 Added cmake to dependencies. |
52 | - * Merged devel: More doc improvements. Fleshed out string cache |
53 | - example. Doc improvements. added: doc/ doc/CMakeLists.txt |
54 | - doc/main_page.dox.in |
55 | - * Minor fix to test script. |
56 | - * Removed build directory (checked in accidentally). removed: build/ |
57 | - build/CMakeCache.txt build/CMakeFiles/ build/CMakeFiles/3.2.2/ |
58 | - build/CMakeFiles/3.2.2/CMakeCCompiler.cmake |
59 | - build/CMakeFiles/3.2.2/CMakeCXXCompiler.cmake |
60 | - build/CMakeFiles/3.2.2/CMakeDetermineCompilerABI_C.bin |
61 | - build/CMakeFiles/3.2.2/CMakeDetermineCompilerABI_CXX.bin |
62 | - build/CMakeFiles/3.2.2/CMakeSystem.cmake |
63 | - build/CMakeFiles/3.2.2/CompilerIdC/ |
64 | - build/CMakeFiles/3.2.2/CompilerIdC/CMakeCCompilerId.c |
65 | - build/CMakeFiles/3.2.2/CompilerIdC/a.out |
66 | - build/CMakeFiles/3.2.2/CompilerIdCXX/ |
67 | - build/CMakeFiles/3.2.2/CompilerIdCXX/CMakeCXXCompilerId.cpp |
68 | - build/CMakeFiles/3.2.2/CompilerIdCXX/a.out |
69 | - build/CMakeFiles/CMakeDirectoryInformation.cmake |
70 | - build/CMakeFiles/CMakeError.log build/CMakeFiles/CMakeOutput.log |
71 | - build/CMakeFiles/CMakeRuleHashes.txt build/CMakeFiles/CMakeTmp/ |
72 | - build/CMakeFiles/Continuous.dir/ |
73 | - build/CMakeFiles/Continuous.dir/DependInfo.cmake |
74 | - build/CMakeFiles/Continuous.dir/build.make |
75 | - build/CMakeFiles/Continuous.dir/cmake_clean.cmake |
76 | - build/CMakeFiles/Continuous.dir/progress.make |
77 | - build/CMakeFiles/ContinuousBuild.dir/ |
78 | - build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake |
79 | - build/CMakeFiles/ContinuousBuild.dir/build.make |
80 | - build/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake |
81 | - build/CMakeFiles/ContinuousBuild.dir/progress.make |
82 | - build/CMakeFiles/ContinuousConfigure.dir/ |
83 | - build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake |
84 | - build/CMakeFiles/ContinuousConfigure.dir/build.make |
85 | - build/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake |
86 | - build/CMakeFiles/ContinuousConfigure.dir/progress.make |
87 | - build/CMakeFiles/ContinuousCoverage.dir/ |
88 | - build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake |
89 | - build/CMakeFiles/ContinuousCoverage.dir/build.make |
90 | - build/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake |
91 | - build/CMakeFiles/ContinuousCoverage.dir/progress.make |
92 | - build/CMakeFiles/ContinuousMemCheck.dir/ |
93 | - build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake |
94 | - build/CMakeFiles/ContinuousMemCheck.dir/build.make |
95 | - build/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake |
96 | - build/CMakeFiles/ContinuousMemCheck.dir/progress.make |
97 | - build/CMakeFiles/ContinuousStart.dir/ |
98 | - build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake |
99 | - build/CMakeFiles/ContinuousStart.dir/build.make |
100 | - build/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake |
101 | - build/CMakeFiles/ContinuousStart.dir/progress.make |
102 | - build/CMakeFiles/ContinuousSubmit.dir/ |
103 | - build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake |
104 | - build/CMakeFiles/ContinuousSubmit.dir/build.make |
105 | - build/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake |
106 | - build/CMakeFiles/ContinuousSubmit.dir/progress.make |
107 | - build/CMakeFiles/ContinuousTest.dir/ |
108 | - build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake |
109 | - build/CMakeFiles/ContinuousTest.dir/build.make |
110 | - build/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake |
111 | - build/CMakeFiles/ContinuousTest.dir/progress.make |
112 | - build/CMakeFiles/ContinuousUpdate.dir/ |
113 | - build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake |
114 | - build/CMakeFiles/ContinuousUpdate.dir/build.make |
115 | - build/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake |
116 | - build/CMakeFiles/ContinuousUpdate.dir/progress.make |
117 | - build/CMakeFiles/Experimental.dir/ |
118 | - build/CMakeFiles/Experimental.dir/DependInfo.cmake |
119 | - build/CMakeFiles/Experimental.dir/build.make |
120 | - build/CMakeFiles/Experimental.dir/cmake_clean.cmake |
121 | - build/CMakeFiles/Experimental.dir/progress.make |
122 | - build/CMakeFiles/ExperimentalBuild.dir/ |
123 | - build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake |
124 | - build/CMakeFiles/ExperimentalBuild.dir/build.make |
125 | - build/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake |
126 | - build/CMakeFiles/ExperimentalBuild.dir/progress.make |
127 | - build/CMakeFiles/ExperimentalConfigure.dir/ |
128 | - build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake |
129 | - build/CMakeFiles/ExperimentalConfigure.dir/build.make |
130 | - build/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake |
131 | - build/CMakeFiles/ExperimentalConfigure.dir/progress.make |
132 | - build/CMakeFiles/ExperimentalCoverage.dir/ |
133 | - build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake |
134 | - build/CMakeFiles/ExperimentalCoverage.dir/build.make |
135 | - build/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake |
136 | - build/CMakeFiles/ExperimentalCoverage.dir/progress.make |
137 | - build/CMakeFiles/ExperimentalMemCheck.dir/ |
138 | - build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake |
139 | - build/CMakeFiles/ExperimentalMemCheck.dir/build.make |
140 | - build/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake |
141 | - build/CMakeFiles/ExperimentalMemCheck.dir/progress.make |
142 | - build/CMakeFiles/ExperimentalStart.dir/ |
143 | - build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake |
144 | - build/CMakeFiles/ExperimentalStart.dir/build.make |
145 | - build/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake |
146 | - build/CMakeFiles/ExperimentalStart.dir/progress.make |
147 | - build/CMakeFiles/ExperimentalSubmit.dir/ |
148 | - build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake |
149 | - build/CMakeFiles/ExperimentalSubmit.dir/build.make |
150 | - build/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake |
151 | - build/CMakeFiles/ExperimentalSubmit.dir/progress.make |
152 | - build/CMakeFiles/ExperimentalTest.dir/ |
153 | - build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake |
154 | - build/CMakeFiles/ExperimentalTest.dir/build.make |
155 | - build/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake |
156 | - build/CMakeFiles/ExperimentalTest.dir/progress.make |
157 | - build/CMakeFiles/ExperimentalUpdate.dir/ |
158 | - build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake |
159 | - build/CMakeFiles/ExperimentalUpdate.dir/build.make |
160 | - build/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake |
161 | - build/CMakeFiles/ExperimentalUpdate.dir/progress.make |
162 | - build/CMakeFiles/Makefile.cmake build/CMakeFiles/Makefile2 |
163 | - build/CMakeFiles/Nightly.dir/ |
164 | - build/CMakeFiles/Nightly.dir/DependInfo.cmake |
165 | - build/CMakeFiles/Nightly.dir/build.make |
166 | - build/CMakeFiles/Nightly.dir/cmake_clean.cmake |
167 | - build/CMakeFiles/Nightly.dir/progress.make |
168 | - build/CMakeFiles/NightlyBuild.dir/ |
169 | - build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake |
170 | - build/CMakeFiles/NightlyBuild.dir/build.make |
171 | - build/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake |
172 | - build/CMakeFiles/NightlyBuild.dir/progress.make |
173 | - build/CMakeFiles/NightlyConfigure.dir/ |
174 | - build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake |
175 | - build/CMakeFiles/NightlyConfigure.dir/build.make |
176 | - build/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake |
177 | - build/CMakeFiles/NightlyConfigure.dir/progress.make |
178 | - build/CMakeFiles/NightlyCoverage.dir/ |
179 | - build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake |
180 | - build/CMakeFiles/NightlyCoverage.dir/build.make |
181 | - build/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake |
182 | - build/CMakeFiles/NightlyCoverage.dir/progress.make |
183 | - build/CMakeFiles/NightlyMemCheck.dir/ |
184 | - build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake |
185 | - build/CMakeFiles/NightlyMemCheck.dir/build.make |
186 | - build/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake |
187 | - build/CMakeFiles/NightlyMemCheck.dir/progress.make |
188 | - build/CMakeFiles/NightlyMemoryCheck.dir/ |
189 | - build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake |
190 | - build/CMakeFiles/NightlyMemoryCheck.dir/build.make |
191 | - build/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake |
192 | - build/CMakeFiles/NightlyMemoryCheck.dir/progress.make |
193 | - build/CMakeFiles/NightlyStart.dir/ |
194 | - build/CMakeFiles/NightlyStart.dir/DependInfo.cmake |
195 | - build/CMakeFiles/NightlyStart.dir/build.make |
196 | - build/CMakeFiles/NightlyStart.dir/cmake_clean.cmake |
197 | - build/CMakeFiles/NightlyStart.dir/progress.make |
198 | - build/CMakeFiles/NightlySubmit.dir/ |
199 | - build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake |
200 | - build/CMakeFiles/NightlySubmit.dir/build.make |
201 | - build/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake |
202 | - build/CMakeFiles/NightlySubmit.dir/progress.make |
203 | - build/CMakeFiles/NightlyTest.dir/ |
204 | - build/CMakeFiles/NightlyTest.dir/DependInfo.cmake |
205 | - build/CMakeFiles/NightlyTest.dir/build.make |
206 | - build/CMakeFiles/NightlyTest.dir/cmake_clean.cmake |
207 | - build/CMakeFiles/NightlyTest.dir/progress.make |
208 | - build/CMakeFiles/NightlyUpdate.dir/ |
209 | - build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake |
210 | - build/CMakeFiles/NightlyUpdate.dir/build.make |
211 | - build/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake |
212 | - build/CMakeFiles/NightlyUpdate.dir/progress.make |
213 | - build/CMakeFiles/TargetDirectories.txt build/CMakeFiles/clean- |
214 | - coverage.dir/ build/CMakeFiles/clean-coverage.dir/DependInfo.cmake |
215 | - build/CMakeFiles/clean-coverage.dir/build.make |
216 | - build/CMakeFiles/clean-coverage.dir/cmake_clean.cmake |
217 | - build/CMakeFiles/clean-coverage.dir/progress.make |
218 | - build/CMakeFiles/cmake.check_cache |
219 | - build/CMakeFiles/feature_tests.bin build/CMakeFiles/feature_tests.c |
220 | - build/CMakeFiles/feature_tests.cxx build/CMakeFiles/persistent- |
221 | - cache-cpp-doc.dir/ build/CMakeFiles/persistent-cache-cpp- |
222 | - doc.dir/DependInfo.cmake build/CMakeFiles/persistent-cache-cpp- |
223 | - doc.dir/build.make build/CMakeFiles/persistent-cache-cpp- |
224 | - doc.dir/cmake_clean.cmake build/CMakeFiles/persistent-cache-cpp- |
225 | - doc.dir/depend.internal build/CMakeFiles/persistent-cache-cpp- |
226 | - doc.dir/depend.make build/CMakeFiles/persistent-cache-cpp- |
227 | - doc.dir/progress.make build/CMakeFiles/progress.marks |
228 | - build/CMakeFiles/valgrind.dir/ |
229 | - build/CMakeFiles/valgrind.dir/DependInfo.cmake |
230 | - build/CMakeFiles/valgrind.dir/build.make |
231 | - build/CMakeFiles/valgrind.dir/cmake_clean.cmake |
232 | - build/CMakeFiles/valgrind.dir/progress.make build/CTestCustom.cmake |
233 | - build/CTestTestfile.cmake build/DartConfiguration.tcl build/Doxyfile |
234 | - build/Makefile build/Testing/ build/Testing/Temporary/ |
235 | - build/cmake_install.cmake build/doc/ build/doc/doxygen_sqlite3.db |
236 | - build/doc/html/ build/doc/html/annotated.html |
237 | - build/doc/html/annotated.js build/doc/html/arrowdown.png |
238 | - build/doc/html/arrowright.png build/doc/html/bc_s.png |
239 | - build/doc/html/bdwn.png build/doc/html/cache__codec_8h.html |
240 | - build/doc/html/cache__codec_8h__dep__incl.map |
241 | - build/doc/html/cache__codec_8h__dep__incl.md5 |
242 | - build/doc/html/cache__codec_8h__dep__incl.png |
243 | - build/doc/html/cache__codec_8h__incl.map |
244 | - build/doc/html/cache__codec_8h__incl.md5 |
245 | - build/doc/html/cache__codec_8h__incl.png |
246 | - build/doc/html/cache__codec_8h_source.html |
247 | - build/doc/html/cache__discard__policy_8h.html |
248 | - build/doc/html/cache__discard__policy_8h.js |
249 | - build/doc/html/cache__discard__policy_8h__dep__incl.map |
250 | - build/doc/html/cache__discard__policy_8h__dep__incl.md5 |
251 | - build/doc/html/cache__discard__policy_8h__dep__incl.png |
252 | - build/doc/html/cache__discard__policy_8h_source.html |
253 | - build/doc/html/cache__events_8h.html |
254 | - build/doc/html/cache__events_8h.js |
255 | - build/doc/html/cache__events_8h__dep__incl.map |
256 | - build/doc/html/cache__events_8h__dep__incl.md5 |
257 | - build/doc/html/cache__events_8h__dep__incl.png |
258 | - build/doc/html/cache__events_8h__incl.map |
259 | - build/doc/html/cache__events_8h__incl.md5 |
260 | - build/doc/html/cache__events_8h__incl.png |
261 | - build/doc/html/cache__events_8h_source.html |
262 | - build/doc/html/classcore_1_1PersistentCache-members.html |
263 | - build/doc/html/classcore_1_1PersistentCache.html |
264 | - build/doc/html/classcore_1_1PersistentCache.js |
265 | - build/doc/html/classcore_1_1PersistentCacheStats-members.html |
266 | - build/doc/html/classcore_1_1PersistentCacheStats.html |
267 | - build/doc/html/classcore_1_1PersistentCacheStats.js |
268 | - build/doc/html/classcore_1_1PersistentStringCache-members.html |
269 | - build/doc/html/classcore_1_1PersistentStringCache.html |
270 | - build/doc/html/classcore_1_1PersistentStringCache.js |
271 | - build/doc/html/classes.html build/doc/html/closed.png |
272 | - build/doc/html/dir_3d69f64eaf81436fe2b22361382717e5.html |
273 | - build/doc/html/dir_3d69f64eaf81436fe2b22361382717e5.js |
274 | - build/doc/html/dir_3d69f64eaf81436fe2b22361382717e5_dep.map |
275 | - build/doc/html/dir_3d69f64eaf81436fe2b22361382717e5_dep.md5 |
276 | - build/doc/html/dir_3d69f64eaf81436fe2b22361382717e5_dep.png |
277 | - build/doc/html/dir_d44c64559bbebec7f509842c48db8b23.html |
278 | - build/doc/html/dir_d44c64559bbebec7f509842c48db8b23.js |
279 | - build/doc/html/dir_d44c64559bbebec7f509842c48db8b23_dep.map |
280 | - build/doc/html/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 |
281 | - build/doc/html/dir_d44c64559bbebec7f509842c48db8b23_dep.png |
282 | - build/doc/html/doc.png build/doc/html/doxygen.css |
283 | - build/doc/html/doxygen.png build/doc/html/dynsections.js |
284 | - build/doc/html/files.html build/doc/html/files.js |
285 | - build/doc/html/folderclosed.png build/doc/html/folderopen.png |
286 | - build/doc/html/functions.html build/doc/html/functions_func.html |
287 | - build/doc/html/functions_type.html |
288 | - build/doc/html/functions_vars.html build/doc/html/graph_legend.html |
289 | - build/doc/html/graph_legend.md5 build/doc/html/graph_legend.png |
290 | - build/doc/html/index.html build/doc/html/jquery.js |
291 | - build/doc/html/namespacecore.html build/doc/html/namespacecore.js |
292 | - build/doc/html/namespacemembers.html |
293 | - build/doc/html/namespacemembers_enum.html |
294 | - build/doc/html/namespacemembers_func.html |
295 | - build/doc/html/namespacemembers_type.html |
296 | - build/doc/html/namespaces.html build/doc/html/namespaces.js |
297 | - build/doc/html/nav_f.png build/doc/html/nav_g.png |
298 | - build/doc/html/nav_h.png build/doc/html/navtree.css |
299 | - build/doc/html/navtree.js build/doc/html/navtreedata.js |
300 | - build/doc/html/navtreeindex0.js build/doc/html/open.png |
301 | - build/doc/html/optional_8h.html build/doc/html/optional_8h.js |
302 | - build/doc/html/optional_8h__dep__incl.map |
303 | - build/doc/html/optional_8h__dep__incl.md5 |
304 | - build/doc/html/optional_8h__dep__incl.png |
305 | - build/doc/html/optional_8h__incl.map |
306 | - build/doc/html/optional_8h__incl.md5 |
307 | - build/doc/html/optional_8h__incl.png |
308 | - build/doc/html/optional_8h_source.html |
309 | - build/doc/html/persistent__cache_8h.html |
310 | - build/doc/html/persistent__cache_8h__incl.map |
311 | - build/doc/html/persistent__cache_8h__incl.md5 |
312 | - build/doc/html/persistent__cache_8h__incl.png |
313 | - build/doc/html/persistent__cache_8h_source.html |
314 | - build/doc/html/persistent__cache__stats_8h.html |
315 | - build/doc/html/persistent__cache__stats_8h__dep__incl.map |
316 | - build/doc/html/persistent__cache__stats_8h__dep__incl.md5 |
317 | - build/doc/html/persistent__cache__stats_8h__dep__incl.png |
318 | - build/doc/html/persistent__cache__stats_8h__incl.map |
319 | - build/doc/html/persistent__cache__stats_8h__incl.md5 |
320 | - build/doc/html/persistent__cache__stats_8h__incl.png |
321 | - build/doc/html/persistent__cache__stats_8h_source.html |
322 | - build/doc/html/persistent__string__cache_8h.html |
323 | - build/doc/html/persistent__string__cache_8h__dep__incl.map |
324 | - build/doc/html/persistent__string__cache_8h__dep__incl.md5 |
325 | - build/doc/html/persistent__string__cache_8h__dep__incl.png |
326 | - build/doc/html/persistent__string__cache_8h__incl.map |
327 | - build/doc/html/persistent__string__cache_8h__incl.md5 |
328 | - build/doc/html/persistent__string__cache_8h__incl.png |
329 | - build/doc/html/persistent__string__cache_8h_source.html |
330 | - build/doc/html/resize.js build/doc/html/splitbar.png |
331 | - build/doc/html/structcore_1_1CacheCodec-members.html |
332 | - build/doc/html/structcore_1_1CacheCodec.html |
333 | - build/doc/html/structcore_1_1PersistentCache_1_1Data-members.html |
334 | - build/doc/html/structcore_1_1PersistentCache_1_1Data.html |
335 | - build/doc/html/structcore_1_1PersistentCache_1_1Data.js |
336 | - build/doc/html/structcore_1_1PersistentStringCache_1_1Data- |
337 | - members.html |
338 | - build/doc/html/structcore_1_1PersistentStringCache_1_1Data.html |
339 | - build/doc/html/structcore_1_1PersistentStringCache_1_1Data.js |
340 | - build/doc/html/structcore_1_1PersistentStringCache_1_1Data__coll__gr |
341 | - aph.map |
342 | - build/doc/html/structcore_1_1PersistentStringCache_1_1Data__coll__gr |
343 | - aph.md5 |
344 | - build/doc/html/structcore_1_1PersistentStringCache_1_1Data__coll__gr |
345 | - aph.png build/doc/html/sync_off.png build/doc/html/sync_on.png |
346 | - build/doc/html/tab_a.png build/doc/html/tab_b.png |
347 | - build/doc/html/tab_h.png build/doc/html/tab_s.png |
348 | - build/doc/html/tabs.css build/src/ build/src/CMakeFiles/ |
349 | - build/src/CMakeFiles/CMakeDirectoryInformation.cmake |
350 | - build/src/CMakeFiles/progress.marks build/src/CTestTestfile.cmake |
351 | - build/src/Makefile build/src/cmake_install.cmake build/src/core/ |
352 | - build/src/core/CMakeFiles/ |
353 | - build/src/core/CMakeFiles/CMakeDirectoryInformation.cmake |
354 | - build/src/core/CMakeFiles/persistent-cache-cpp.dir/ |
355 | - build/src/core/CMakeFiles/persistent-cache-cpp.dir/CXX.includecache |
356 | - build/src/core/CMakeFiles/persistent-cache-cpp.dir/DependInfo.cmake |
357 | - build/src/core/CMakeFiles/persistent-cache-cpp.dir/build.make |
358 | - build/src/core/CMakeFiles/persistent-cache-cpp.dir/cmake_clean.cmake |
359 | - build/src/core/CMakeFiles/persistent-cache- |
360 | - cpp.dir/cmake_clean_target.cmake |
361 | - build/src/core/CMakeFiles/persistent-cache-cpp.dir/depend.internal |
362 | - build/src/core/CMakeFiles/persistent-cache-cpp.dir/depend.make |
363 | - build/src/core/CMakeFiles/persistent-cache-cpp.dir/flags.make |
364 | - build/src/core/CMakeFiles/persistent-cache-cpp.dir/internal/ |
365 | - build/src/core/CMakeFiles/persistent-cache-cpp.dir/link.txt |
366 | - build/src/core/CMakeFiles/persistent-cache-cpp.dir/progress.make |
367 | - build/src/core/CMakeFiles/progress.marks |
368 | - build/src/core/CTestTestfile.cmake build/src/core/Makefile |
369 | - build/src/core/cmake_install.cmake build/src/core/internal/ |
370 | - build/src/core/internal/CMakeFiles/ |
371 | - build/src/core/internal/CMakeFiles/CMakeDirectoryInformation.cmake |
372 | - build/src/core/internal/CMakeFiles/progress.marks |
373 | - build/src/core/internal/CTestTestfile.cmake |
374 | - build/src/core/internal/Makefile |
375 | - build/src/core/internal/cmake_install.cmake build/tests/ |
376 | - build/tests/CMakeFiles/ |
377 | - build/tests/CMakeFiles/CMakeDirectoryInformation.cmake |
378 | - build/tests/CMakeFiles/gtest.dir/ |
379 | - build/tests/CMakeFiles/gtest.dir/CXX.includecache |
380 | - build/tests/CMakeFiles/gtest.dir/DependInfo.cmake |
381 | - build/tests/CMakeFiles/gtest.dir/build.make |
382 | - build/tests/CMakeFiles/gtest.dir/cmake_clean.cmake |
383 | - build/tests/CMakeFiles/gtest.dir/cmake_clean_target.cmake |
384 | - build/tests/CMakeFiles/gtest.dir/depend.internal |
385 | - build/tests/CMakeFiles/gtest.dir/depend.make |
386 | - build/tests/CMakeFiles/gtest.dir/flags.make |
387 | - build/tests/CMakeFiles/gtest.dir/link.txt |
388 | - build/tests/CMakeFiles/gtest.dir/progress.make |
389 | - build/tests/CMakeFiles/gtest.dir/usr/ |
390 | - build/tests/CMakeFiles/gtest.dir/usr/src/ |
391 | - build/tests/CMakeFiles/gtest.dir/usr/src/gtest/ |
392 | - build/tests/CMakeFiles/gtest.dir/usr/src/gtest/src/ |
393 | - build/tests/CMakeFiles/progress.marks |
394 | - build/tests/CTestTestfile.cmake build/tests/Makefile |
395 | - build/tests/cmake_install.cmake build/tests/copyright/ |
396 | - build/tests/copyright/CMakeFiles/ |
397 | - build/tests/copyright/CMakeFiles/CMakeDirectoryInformation.cmake |
398 | - build/tests/copyright/CMakeFiles/progress.marks |
399 | - build/tests/copyright/CTestTestfile.cmake |
400 | - build/tests/copyright/Makefile |
401 | - build/tests/copyright/cmake_install.cmake build/tests/core/ |
402 | - build/tests/core/CMakeFiles/ |
403 | - build/tests/core/CMakeFiles/CMakeDirectoryInformation.cmake |
404 | - build/tests/core/CMakeFiles/progress.marks |
405 | - build/tests/core/CTestTestfile.cmake build/tests/core/Makefile |
406 | - build/tests/core/cmake_install.cmake build/tests/core/internal/ |
407 | - build/tests/core/internal/CMakeFiles/ |
408 | - build/tests/core/internal/CMakeFiles/CMakeDirectoryInformation.cmake |
409 | - build/tests/core/internal/CMakeFiles/progress.marks |
410 | - build/tests/core/internal/CTestTestfile.cmake |
411 | - build/tests/core/internal/Makefile |
412 | - build/tests/core/internal/cmake_install.cmake |
413 | - build/tests/core/internal/persistent_string_cache_impl/ |
414 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/ |
415 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/CM |
416 | - akeDirectoryInformation.cmake |
417 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/pe |
418 | - rsistent_string_cache_impl_test.dir/ |
419 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/pe |
420 | - rsistent_string_cache_impl_test.dir/CXX.includecache |
421 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/pe |
422 | - rsistent_string_cache_impl_test.dir/DependInfo.cmake |
423 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/pe |
424 | - rsistent_string_cache_impl_test.dir/build.make |
425 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/pe |
426 | - rsistent_string_cache_impl_test.dir/cmake_clean.cmake |
427 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/pe |
428 | - rsistent_string_cache_impl_test.dir/depend.internal |
429 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/pe |
430 | - rsistent_string_cache_impl_test.dir/depend.make |
431 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/pe |
432 | - rsistent_string_cache_impl_test.dir/flags.make |
433 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/pe |
434 | - rsistent_string_cache_impl_test.dir/link.txt |
435 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/pe |
436 | - rsistent_string_cache_impl_test.dir/progress.make |
437 | - build/tests/core/internal/persistent_string_cache_impl/CMakeFiles/pr |
438 | - ogress.marks |
439 | - build/tests/core/internal/persistent_string_cache_impl/CTestTestfile |
440 | - .cmake |
441 | - build/tests/core/internal/persistent_string_cache_impl/Makefile |
442 | - build/tests/core/internal/persistent_string_cache_impl/cmake_install |
443 | - .cmake |
444 | - build/tests/core/internal/persistent_string_cache_impl/persistent_st |
445 | - ring_cache_impl_test build/tests/core/persistent_cache/ |
446 | - build/tests/core/persistent_cache/CMakeFiles/ |
447 | - build/tests/core/persistent_cache/CMakeFiles/CMakeDirectoryInformati |
448 | - on.cmake |
449 | - build/tests/core/persistent_cache/CMakeFiles/persistent_cache_test.d |
450 | - ir/ |
451 | - build/tests/core/persistent_cache/CMakeFiles/persistent_cache_test.d |
452 | - ir/CXX.includecache |
453 | - build/tests/core/persistent_cache/CMakeFiles/persistent_cache_test.d |
454 | - ir/DependInfo.cmake |
455 | - build/tests/core/persistent_cache/CMakeFiles/persistent_cache_test.d |
456 | - ir/build.make |
457 | - build/tests/core/persistent_cache/CMakeFiles/persistent_cache_test.d |
458 | - ir/cmake_clean.cmake |
459 | - build/tests/core/persistent_cache/CMakeFiles/persistent_cache_test.d |
460 | - ir/depend.internal |
461 | - build/tests/core/persistent_cache/CMakeFiles/persistent_cache_test.d |
462 | - ir/depend.make |
463 | - build/tests/core/persistent_cache/CMakeFiles/persistent_cache_test.d |
464 | - ir/flags.make |
465 | - build/tests/core/persistent_cache/CMakeFiles/persistent_cache_test.d |
466 | - ir/link.txt |
467 | - build/tests/core/persistent_cache/CMakeFiles/persistent_cache_test.d |
468 | - ir/progress.make |
469 | - build/tests/core/persistent_cache/CMakeFiles/progress.marks |
470 | - build/tests/core/persistent_cache/CTestTestfile.cmake |
471 | - build/tests/core/persistent_cache/Makefile |
472 | - build/tests/core/persistent_cache/cmake_install.cmake |
473 | - build/tests/core/persistent_cache/persistent_cache_test |
474 | - build/tests/core/persistent_string_cache/ |
475 | - build/tests/core/persistent_string_cache/CMakeFiles/ |
476 | - build/tests/core/persistent_string_cache/CMakeFiles/CMakeDirectoryIn |
477 | - formation.cmake |
478 | - build/tests/core/persistent_string_cache/CMakeFiles/persistent_strin |
479 | - g_cache_test.dir/ |
480 | - build/tests/core/persistent_string_cache/CMakeFiles/persistent_strin |
481 | - g_cache_test.dir/CXX.includecache |
482 | - build/tests/core/persistent_string_cache/CMakeFiles/persistent_strin |
483 | - g_cache_test.dir/DependInfo.cmake |
484 | - build/tests/core/persistent_string_cache/CMakeFiles/persistent_strin |
485 | - g_cache_test.dir/build.make |
486 | - build/tests/core/persistent_string_cache/CMakeFiles/persistent_strin |
487 | - g_cache_test.dir/cmake_clean.cmake |
488 | - build/tests/core/persistent_string_cache/CMakeFiles/persistent_strin |
489 | - g_cache_test.dir/depend.internal |
490 | - build/tests/core/persistent_string_cache/CMakeFiles/persistent_strin |
491 | - g_cache_test.dir/depend.make |
492 | - build/tests/core/persistent_string_cache/CMakeFiles/persistent_strin |
493 | - g_cache_test.dir/flags.make |
494 | - build/tests/core/persistent_string_cache/CMakeFiles/persistent_strin |
495 | - g_cache_test.dir/link.txt |
496 | - build/tests/core/persistent_string_cache/CMakeFiles/persistent_strin |
497 | - g_cache_test.dir/progress.make |
498 | - build/tests/core/persistent_string_cache/CMakeFiles/progress.marks |
499 | - build/tests/core/persistent_string_cache/CMakeFiles/speed_test.dir/ |
500 | - build/tests/core/persistent_string_cache/CMakeFiles/speed_test.dir/C |
501 | - XX.includecache |
502 | - build/tests/core/persistent_string_cache/CMakeFiles/speed_test.dir/D |
503 | - ependInfo.cmake |
504 | - build/tests/core/persistent_string_cache/CMakeFiles/speed_test.dir/b |
505 | - uild.make |
506 | - build/tests/core/persistent_string_cache/CMakeFiles/speed_test.dir/c |
507 | - make_clean.cmake |
508 | - build/tests/core/persistent_string_cache/CMakeFiles/speed_test.dir/d |
509 | - epend.internal |
510 | - build/tests/core/persistent_string_cache/CMakeFiles/speed_test.dir/d |
511 | - epend.make |
512 | - build/tests/core/persistent_string_cache/CMakeFiles/speed_test.dir/f |
513 | - lags.make |
514 | - build/tests/core/persistent_string_cache/CMakeFiles/speed_test.dir/l |
515 | - ink.txt |
516 | - build/tests/core/persistent_string_cache/CMakeFiles/speed_test.dir/p |
517 | - rogress.make |
518 | - build/tests/core/persistent_string_cache/CTestTestfile.cmake |
519 | - build/tests/core/persistent_string_cache/Makefile |
520 | - build/tests/core/persistent_string_cache/cmake_install.cmake |
521 | - build/tests/core/persistent_string_cache/persistent_string_cache_tes |
522 | - t build/tests/core/persistent_string_cache/speed_test |
523 | - build/tests/headers/ build/tests/headers/CMakeFiles/ |
524 | - build/tests/headers/CMakeFiles/CMakeDirectoryInformation.cmake |
525 | - build/tests/headers/CMakeFiles/progress.marks |
526 | - build/tests/headers/CTestTestfile.cmake build/tests/headers/Makefile |
527 | - build/tests/headers/cmake_install.cmake build/tests/whitespace/ |
528 | - build/tests/whitespace/CMakeFiles/ |
529 | - build/tests/whitespace/CMakeFiles/CMakeDirectoryInformation.cmake |
530 | - build/tests/whitespace/CMakeFiles/progress.marks |
531 | - build/tests/whitespace/CTestTestfile.cmake |
532 | - build/tests/whitespace/Makefile |
533 | - build/tests/whitespace/cmake_install.cmake |
534 | - * Started on debian packaging. added: debian/ debian/changelog |
535 | - debian/control |
536 | + * Initial release |
537 | |
538 | [ CI Train Bot ] |
539 | * New rebuild forced. |
540 | |
541 | -- CI Train Bot <ci-train-bot@canonical.com> Wed, 05 Aug 2015 00:21:58 +0000 |
542 | - |
543 | -persistent-cache-cpp (1.0.0) UNRELEASED; urgency=medium |
544 | - |
545 | - * Initial release. |
546 | - |
547 | - -- Michi Henning <michi.henning@canonical.com> Thu, 23 Jul 2015 14:17:33 +1000 |
548 | |
549 | === modified file 'doc/main_page.dox.in' |
550 | --- doc/main_page.dox.in 2015-07-28 02:28:17 +0000 |
551 | +++ doc/main_page.dox.in 2015-08-19 21:49:27 +0000 |
552 | @@ -97,7 +97,7 @@ |
553 | Setting | Value |
554 | ---------- | ------ |
555 | Cache size | 100 MB |
556 | -# Records | ~5120 |
557 | +# Records | ~5100 |
558 | Record size | 20 kB, normal distribution, stddev = 7000 |
559 | |
560 | Running the test With a 7200 rpm spinning disk produces: |
561 | @@ -112,9 +112,9 @@ |
562 | |
563 | Parameter | Value |
564 | -------------|------------ |
565 | -Reads | 112.6 MB/sec |
566 | -Writes | 25.7 MB/sec |
567 | -Records/sec | 7112 |
568 | +Reads | 80.4 MB/sec |
569 | +Writes | 15.7 MB/sec |
570 | +Records/sec | 4932 |
571 | |
572 | \note When benchmarking, make sure to compile in release mode. In debug |
573 | mode, a number of expensive assertions are turned on. |
574 | |
575 | === modified file 'examples/CMakeLists.txt' |
576 | --- examples/CMakeLists.txt 2015-07-27 05:06:45 +0000 |
577 | +++ examples/CMakeLists.txt 2015-08-19 21:49:27 +0000 |
578 | @@ -1,24 +1,17 @@ |
579 | -set (install_dir ${CMAKE_INSTALL_PREFIX}/share/doc/${LIBNAME}/examples) |
580 | - |
581 | -add_executable(string_cache string_cache.cpp) |
582 | -target_link_libraries(string_cache ${LIBNAME}) |
583 | - |
584 | -if ("${cmake_build_type_lower}" STREQUAL "coverage") |
585 | - SET_PROPERTY(TARGET string_cache APPEND_STRING PROPERTY LINK_FLAGS "-g --coverage ") |
586 | -endif() |
587 | - |
588 | -install(FILES string_cache.cpp |
589 | - DESTINATION ${install_dir}) |
590 | - |
591 | -add_executable(person_cache person_cache.cpp) |
592 | -target_link_libraries(person_cache ${LIBNAME}) |
593 | - |
594 | -if ("${cmake_build_type_lower}" STREQUAL "coverage") |
595 | - SET_PROPERTY(TARGET person_cache APPEND_STRING PROPERTY LINK_FLAGS "-g --coverage ") |
596 | -endif() |
597 | - |
598 | -install(FILES person_cache.cpp |
599 | - DESTINATION ${install_dir}) |
600 | - |
601 | -install(FILES README |
602 | - DESTINATION ${install_dir}) |
603 | +set(install_dir ${CMAKE_INSTALL_PREFIX}/share/doc/${LIBNAME}/examples) |
604 | + |
605 | +set(examples |
606 | + string_cache |
607 | + person_cache |
608 | +) |
609 | + |
610 | +foreach(e ${examples}) |
611 | + add_executable(${e} ${e}.cpp) |
612 | + target_link_libraries(${e} ${LIBNAME}) |
613 | + if ("${cmake_build_type_lower}" STREQUAL "coverage") |
614 | + SET_PROPERTY(TARGET ${e} APPEND_STRING PROPERTY LINK_FLAGS " -g --coverage") |
615 | + endif() |
616 | + install(FILES ${e}.cpp |
617 | + DESTINATION ${install_dir}) |
618 | + add_test(${e}_test ${e}) |
619 | +endforeach() |
620 | |
621 | === modified file 'include/core/internal/persistent_string_cache_stats.h' |
622 | --- include/core/internal/persistent_string_cache_stats.h 2015-07-21 06:22:48 +0000 |
623 | +++ include/core/internal/persistent_string_cache_stats.h 2015-08-19 21:49:27 +0000 |
624 | @@ -42,7 +42,6 @@ |
625 | , max_cache_size_(0) |
626 | , num_entries_(0) |
627 | , cache_size_(0) |
628 | - , state_(Initialized) |
629 | { |
630 | clear(); |
631 | hist_.resize(PersistentCacheStats::NUM_BINS, 0); |
632 | @@ -68,6 +67,8 @@ |
633 | int64_t misses_since_last_hit_; |
634 | int64_t longest_hit_run_; |
635 | int64_t longest_miss_run_; |
636 | + int64_t num_hit_runs_; |
637 | + int64_t num_miss_runs_; |
638 | int64_t ttl_evictions_; |
639 | int64_t lru_evictions_; |
640 | std::chrono::system_clock::time_point most_recent_hit_time_; |
641 | @@ -88,9 +89,9 @@ |
642 | ++hits_since_last_miss_; |
643 | ++hits_; |
644 | most_recent_hit_time_ = std::chrono::system_clock::now(); |
645 | - misses_since_last_hit_ = 0; |
646 | if (state_ != LastAccessWasHit) |
647 | { |
648 | + ++num_hit_runs_; |
649 | state_ = LastAccessWasHit; |
650 | misses_since_last_hit_ = 0; |
651 | } |
652 | @@ -106,9 +107,9 @@ |
653 | ++misses_since_last_hit_; |
654 | ++misses_; |
655 | most_recent_miss_time_ = std::chrono::system_clock::now(); |
656 | - hits_since_last_miss_ = 0; |
657 | if (state_ != LastAccessWasMiss) |
658 | { |
659 | + ++num_miss_runs_; |
660 | state_ = LastAccessWasMiss; |
661 | hits_since_last_miss_ = 0; |
662 | } |
663 | @@ -138,12 +139,15 @@ |
664 | |
665 | void clear() noexcept |
666 | { |
667 | + state_ = Initialized; |
668 | hits_ = 0; |
669 | misses_ = 0; |
670 | hits_since_last_miss_ = 0; |
671 | misses_since_last_hit_ = 0; |
672 | longest_hit_run_ = 0; |
673 | longest_miss_run_ = 0; |
674 | + num_hit_runs_ = 0; |
675 | + num_miss_runs_ = 0; |
676 | ttl_evictions_ = 0; |
677 | lru_evictions_ = 0; |
678 | most_recent_hit_time_ = std::chrono::system_clock::time_point(); |
679 | @@ -160,7 +164,8 @@ |
680 | using namespace std::chrono; |
681 | |
682 | ostringstream os; |
683 | - os << num_entries_ << " " |
684 | + os << state_ << " " |
685 | + << num_entries_ << " " |
686 | << cache_size_ << " " |
687 | << hits_ << " " |
688 | << misses_ << " " |
689 | @@ -168,6 +173,8 @@ |
690 | << misses_since_last_hit_ << " " |
691 | << longest_hit_run_ << " " |
692 | << longest_miss_run_ << " " |
693 | + << num_hit_runs_ << " " |
694 | + << num_miss_runs_ << " " |
695 | << ttl_evictions_ << " " |
696 | << lru_evictions_ << " " |
697 | << duration_cast<milliseconds>(most_recent_hit_time_.time_since_epoch()).count() << " " |
698 | @@ -189,11 +196,13 @@ |
699 | using namespace std::chrono; |
700 | |
701 | istringstream is(s); |
702 | + int64_t state; |
703 | int64_t mrht; |
704 | int64_t mrmt; |
705 | int64_t lhrt; |
706 | int64_t lmrt; |
707 | - is >> num_entries_ |
708 | + is >> state |
709 | + >> num_entries_ |
710 | >> cache_size_ |
711 | >> hits_ |
712 | >> misses_ |
713 | @@ -201,6 +210,8 @@ |
714 | >> misses_since_last_hit_ |
715 | >> longest_hit_run_ |
716 | >> longest_miss_run_ |
717 | + >> num_hit_runs_ |
718 | + >> num_miss_runs_ |
719 | >> ttl_evictions_ |
720 | >> lru_evictions_ |
721 | >> mrht |
722 | @@ -212,6 +223,7 @@ |
723 | is >> hist_[i]; |
724 | } |
725 | assert(!is.bad()); |
726 | + state_ = static_cast<State>(state); |
727 | most_recent_hit_time_ = system_clock::time_point(milliseconds(mrht)); |
728 | most_recent_miss_time_ = system_clock::time_point(milliseconds(mrmt)); |
729 | longest_hit_run_time_ = system_clock::time_point(milliseconds(lhrt)); |
730 | |
731 | === modified file 'include/core/persistent_cache_stats.h' |
732 | --- include/core/persistent_cache_stats.h 2015-07-21 06:22:48 +0000 |
733 | +++ include/core/persistent_cache_stats.h 2015-08-19 21:49:27 +0000 |
734 | @@ -117,6 +117,26 @@ |
735 | int64_t longest_miss_run() const noexcept; |
736 | |
737 | /** |
738 | + \brief Returns the number of hit runs. |
739 | + */ |
740 | + int64_t hit_runs() const noexcept; |
741 | + |
742 | + /** |
743 | + \brief Returns the number of miss runs. |
744 | + */ |
745 | + int64_t miss_runs() const noexcept; |
746 | + |
747 | + /** |
748 | + \brief Returns a rolling average of the hit run length. |
749 | + */ |
750 | + double avg_hit_run_length() const noexcept; |
751 | + |
752 | + /** |
753 | + \brief Returns a rolling average of the miss run length. |
754 | + */ |
755 | + double avg_miss_run_length() const noexcept; |
756 | + |
757 | + /** |
758 | \brief Returns the number of entries that were evicted due to being expired. |
759 | */ |
760 | int64_t ttl_evictions() const noexcept; |
761 | |
762 | === modified file 'src/core/internal/persistent_string_cache_impl.cpp' |
763 | --- src/core/internal/persistent_string_cache_impl.cpp 2015-07-21 06:22:48 +0000 |
764 | +++ src/core/internal/persistent_string_cache_impl.cpp 2015-08-19 21:49:27 +0000 |
765 | @@ -154,7 +154,7 @@ |
766 | // with a different schema version, the cache is simply thrown away, so |
767 | // it will automatically be re-created using the latest schema. |
768 | |
769 | -static int const SCHEMA_VERSION = 2; // Increment whenever schema changes! |
770 | +static int const SCHEMA_VERSION = 3; // Increment whenever schema changes! |
771 | |
772 | // Prefixes to divide the key space into logical tables/indexes. |
773 | // All prefixes must have length 1. The end prefix must be |
774 | |
775 | === modified file 'src/core/persistent_cache_stats.cpp' |
776 | --- src/core/persistent_cache_stats.cpp 2015-07-21 06:22:48 +0000 |
777 | +++ src/core/persistent_cache_stats.cpp 2015-08-19 21:49:27 +0000 |
778 | @@ -157,6 +157,26 @@ |
779 | return p_->longest_miss_run_; |
780 | } |
781 | |
782 | +int64_t PersistentCacheStats::hit_runs() const noexcept |
783 | +{ |
784 | + return p_->num_hit_runs_; |
785 | +} |
786 | + |
787 | +int64_t PersistentCacheStats::miss_runs() const noexcept |
788 | +{ |
789 | + return p_->num_miss_runs_; |
790 | +} |
791 | + |
792 | +double PersistentCacheStats::avg_hit_run_length() const noexcept |
793 | +{ |
794 | + return p_->num_hit_runs_ == 0 ? 0.0 : double(p_->hits_) / p_->num_hit_runs_; |
795 | +} |
796 | + |
797 | +double PersistentCacheStats::avg_miss_run_length() const noexcept |
798 | +{ |
799 | + return p_->num_miss_runs_ == 0 ? 0.0 : double(p_->misses_) / p_->num_miss_runs_; |
800 | +} |
801 | + |
802 | int64_t PersistentCacheStats::ttl_evictions() const noexcept |
803 | { |
804 | return p_->ttl_evictions_; |
805 | |
806 | === modified file 'tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp' |
807 | --- tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp 2015-08-05 00:11:19 +0000 |
808 | +++ tests/core/internal/persistent_string_cache_impl/persistent_string_cache_impl_test.cpp 2015-08-19 21:49:27 +0000 |
809 | @@ -1679,6 +1679,10 @@ |
810 | EXPECT_EQ(original_stats.misses_since_last_hit(), s.misses_since_last_hit()); |
811 | EXPECT_EQ(original_stats.longest_hit_run(), s.longest_hit_run()); |
812 | EXPECT_EQ(original_stats.longest_miss_run(), s.longest_miss_run()); |
813 | + EXPECT_EQ(original_stats.hit_runs(), s.hit_runs()); |
814 | + EXPECT_EQ(original_stats.miss_runs(), s.miss_runs()); |
815 | + EXPECT_EQ(original_stats.avg_hit_run_length(), s.avg_hit_run_length()); |
816 | + EXPECT_EQ(original_stats.avg_miss_run_length(), s.avg_miss_run_length()); |
817 | EXPECT_EQ(original_stats.ttl_evictions(), s.ttl_evictions()); |
818 | EXPECT_EQ(original_stats.lru_evictions(), s.lru_evictions()); |
819 | |
820 | @@ -1743,6 +1747,10 @@ |
821 | EXPECT_EQ(0, s.misses_since_last_hit()); |
822 | EXPECT_EQ(0, s.longest_hit_run()); |
823 | EXPECT_EQ(0, s.longest_miss_run()); |
824 | + EXPECT_EQ(0, s.hit_runs()); |
825 | + EXPECT_EQ(0, s.miss_runs()); |
826 | + EXPECT_EQ(0.0, s.avg_hit_run_length()); |
827 | + EXPECT_EQ(0.0, s.avg_miss_run_length()); |
828 | EXPECT_EQ(0, s.ttl_evictions()); |
829 | EXPECT_EQ(0, s.lru_evictions()); |
830 | |
831 | @@ -1754,6 +1762,121 @@ |
832 | } |
833 | } |
834 | |
835 | +TEST(PersistentStringCacheImpl, run_length_stats) |
836 | +{ |
837 | + unlink_db(TEST_DB); |
838 | + |
839 | + PersistentStringCacheImpl c(TEST_DB, 128, CacheDiscardPolicy::lru_only); |
840 | + |
841 | + c.put("x", "x"); // Just so we have something we can generate a hit on. |
842 | + |
843 | + auto s = c.stats(); |
844 | + |
845 | + EXPECT_EQ(0, s.hits()); |
846 | + EXPECT_EQ(0, s.misses()); |
847 | + EXPECT_EQ(0, s.hit_runs()); |
848 | + EXPECT_EQ(0, s.miss_runs()); |
849 | + EXPECT_EQ(0.0, s.avg_hit_run_length()); |
850 | + EXPECT_EQ(0.0, s.avg_miss_run_length()); |
851 | + |
852 | + string val; |
853 | + |
854 | + c.get("not there", val); // Miss |
855 | + s = c.stats(); |
856 | + EXPECT_EQ(0, s.hits()); |
857 | + EXPECT_EQ(1, s.misses()); |
858 | + EXPECT_EQ(0, s.hit_runs()); |
859 | + EXPECT_EQ(1, s.miss_runs()); // Just started a miss run |
860 | + EXPECT_EQ(0.0, s.avg_hit_run_length()); |
861 | + EXPECT_EQ(1.0, s.avg_miss_run_length()); |
862 | + |
863 | + c.get("not there", val); // Another miss |
864 | + s = c.stats(); |
865 | + EXPECT_EQ(0, s.hits()); |
866 | + EXPECT_EQ(2, s.misses()); |
867 | + EXPECT_EQ(0, s.hit_runs()); |
868 | + EXPECT_EQ(1, s.miss_runs()); // Still in the same run |
869 | + EXPECT_EQ(0.0, s.avg_hit_run_length()); |
870 | + EXPECT_EQ(2.0, s.avg_miss_run_length()); |
871 | + |
872 | + c.get("x", val); // Hit |
873 | + s = c.stats(); |
874 | + EXPECT_EQ(1, s.hits()); |
875 | + EXPECT_EQ(2, s.misses()); |
876 | + EXPECT_EQ(1, s.hit_runs()); // Just started a hit run |
877 | + EXPECT_EQ(1, s.miss_runs()); |
878 | + EXPECT_EQ(1.0, s.avg_hit_run_length()); |
879 | + EXPECT_EQ(2.0, s.avg_miss_run_length()); // Last run was two misses |
880 | + |
881 | + c.get("not there", val); // Another miss |
882 | + s = c.stats(); |
883 | + EXPECT_EQ(1, s.hits()); |
884 | + EXPECT_EQ(3, s.misses()); |
885 | + EXPECT_EQ(1, s.hit_runs()); |
886 | + EXPECT_EQ(2, s.miss_runs()); // Just started a new miss run |
887 | + EXPECT_EQ(1.0, s.avg_hit_run_length()); |
888 | + EXPECT_EQ(1.5, s.avg_miss_run_length()); // Last run was two misses |
889 | + |
890 | + for (int i = 0; i < 3; ++i) // Three more misses |
891 | + { |
892 | + c.get("not there", val); |
893 | + } |
894 | + s = c.stats(); |
895 | + EXPECT_EQ(1, s.hits()); |
896 | + EXPECT_EQ(6, s.misses()); |
897 | + EXPECT_EQ(1, s.hit_runs()); |
898 | + EXPECT_EQ(2, s.miss_runs()); // Just started a new miss run |
899 | + EXPECT_EQ(1.0, s.avg_hit_run_length()); |
900 | + EXPECT_EQ(3.0, s.avg_miss_run_length()); |
901 | + |
902 | + c.get("x", val); // Hit |
903 | + s = c.stats(); |
904 | + EXPECT_EQ(2, s.hits()); |
905 | + EXPECT_EQ(6, s.misses()); |
906 | + EXPECT_EQ(2, s.hit_runs()); |
907 | + EXPECT_EQ(2, s.miss_runs()); |
908 | + EXPECT_EQ(1.0, s.avg_hit_run_length()); |
909 | + EXPECT_EQ(3.0, s.avg_miss_run_length()); // 6 missing in 2 runs. |
910 | +} |
911 | + |
912 | +TEST(PersistentStringCacheImpl, run_length_stats_restart) |
913 | +{ |
914 | + // Don't unlink the DB here, we need the contents from the previous test. |
915 | + |
916 | + PersistentStringCacheImpl c(TEST_DB, 128, CacheDiscardPolicy::lru_only); |
917 | + |
918 | + string val; |
919 | + |
920 | + auto s = c.stats(); |
921 | + |
922 | + // Stats from pervious test must still be intact. |
923 | + EXPECT_EQ(2, s.hits()); |
924 | + EXPECT_EQ(6, s.misses()); |
925 | + EXPECT_EQ(2, s.hit_runs()); |
926 | + EXPECT_EQ(2, s.miss_runs()); |
927 | + EXPECT_EQ(1.0, s.avg_hit_run_length()); |
928 | + EXPECT_EQ(3.0, s.avg_miss_run_length()); |
929 | + |
930 | + for (int i = 0; i < 18; ++i) |
931 | + { |
932 | + c.get("x", val); // Hit |
933 | + } |
934 | + |
935 | + // Finish hit run, and add six more misses. |
936 | + for (int i = 0; i < 6; ++i) |
937 | + { |
938 | + c.get("not there", val); |
939 | + } |
940 | + |
941 | + s = c.stats(); |
942 | + EXPECT_EQ(20, s.hits()); |
943 | + EXPECT_EQ(12, s.misses()); |
944 | + EXPECT_EQ(2, s.hit_runs()); |
945 | + EXPECT_EQ(3, s.miss_runs()); |
946 | + EXPECT_EQ(10.0, s.avg_hit_run_length()); |
947 | + EXPECT_EQ(4.0, s.avg_miss_run_length()); |
948 | +} |
949 | + |
950 | TEST(PersistentStringCacheImpl, event_handlers) |
951 | { |
952 | unlink_db(TEST_DB); |
The changes to debian/changelog look incorrect here. Version 1.0.3+15. 10.20150807- 0ubuntu1 was released to the archive, so it shouldn't be replaced like this. Instead create a new stanza to describe what's new in this release.
The changes for the 1.0.0+15. 10.20150805- 0ubuntu1 changelog seem fine, assuming the build tools let it go.