aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/DynamicHashTest.cpp
Commit message (Collapse)AuthorAge
* Revert "Revert "IWYU for tests starting with 'D'.""Gravatar Ben Wagner2018-05-22
| | | | | | | | | This reverts commit edf8449d2c3663350b6b6e30d2fa4c70da02deef. Change-Id: Ibeedd9965855b3ccfe44486d15307bf3da15fd9c Reviewed-on: https://skia-review.googlesource.com/129516 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Revert "IWYU for tests starting with 'D'."Gravatar Mike Klein2018-05-22
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b5f2897ab5be37e86ccce4ed474a2e02001a9040. Reason for revert: looks like this broke the build for DM in Google3. Need more include dirs there? Original change's description: > IWYU for tests starting with 'D'. > > Change-Id: I9189e4b56ce1635b627119733447c2ed4220753d > Reviewed-on: https://skia-review.googlesource.com/129319 > Reviewed-by: Herb Derby <herb@google.com> > Commit-Queue: Ben Wagner <bungeman@google.com> TBR=bsalomon@google.com,bungeman@google.com,herb@google.com Change-Id: I01aac7dae6114685a0652cbde3defccc8a42caea No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/129443 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* IWYU for tests starting with 'D'.Gravatar Ben Wagner2018-05-21
| | | | | | | Change-Id: I9189e4b56ce1635b627119733447c2ed4220753d Reviewed-on: https://skia-review.googlesource.com/129319 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Prevent unnecessary/unbounded growth of SkTDynamicHash capacityGravatar Florin Malita2018-04-18
| | | | | | | | | | | | | | | | | | | | | | | SkTDynamicHash doesn't immediately recycle slots for removed entries, but instead just marks them as deleted. The only way to reclaim deleted slots currently is when an exponential grow/resize is triggered. A consequence of this is that the capacity/allocated storage can grow indefinitely when the hash is long-lived and churning -- even if the number of active entries is small/stable. To prevent this, I propose we only grow the capacity when the number of active slots constitutes a significant portion. Otherwise (when most slots are deleted), we trigger a "purge" (resize to the same capacity) to clear the tombstones. Bug: chromium:832482 Change-Id: Iefdcd7439f7d62ac021e176b71007d207c8bc876 Reviewed-on: https://skia-review.googlesource.com/122082 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Style Change: NULL->nullptrGravatar halcanary2015-08-27
| | | | | | DOCS_PREVIEW= https://skia.org/?cl=1316233002 Review URL: https://codereview.chromium.org/1316233002
* Replace GrTHash with SkTDynamicHashGravatar robertphillips2014-07-20
| | | | | | | | | | | | | Mike: SkTDynamicHash changes Brian: Ganesh changes This removes three instances of GrTHash leaving the ones in GrTextStrike.h R=mtklein@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/402693003
* SkTDynamicHash: pick up GetKey(), Hash() from T by default.Gravatar commit-bot@chromium.org2014-04-02
| | | | | | | | | | | | | | | | | | This also has a somewhat obscure technical benefit: it removes the requirement that GetKey() and Hash() must be functions with external linkage, which is required when passing a function pointer to a template. A future CL that's run into this problem and the obvious simplification are about 50/50 why I'm sending this CL. BUG=skia: DIFFBASE= https://codereview.chromium.org/222343002/ R=bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/222473002 git-svn-id: http://skia.googlecode.com/svn/trunk@14028 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkTDynamicHash: remove need for Equals(const T&, const Key&) param.Gravatar commit-bot@chromium.org2014-04-02
| | | | | | | | | | | | | | All implementations are relying on bool operator==(const Key&, const Key&) anyway, which makes total sense, so just make that required. BUG=skia: R=bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/222343002 git-svn-id: http://skia.googlecode.com/svn/trunk@14027 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-05
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13665 2bbb7eff-a529-9590-31e7-b0007b416f81
* Counterproposal to 182733007: Add iterator to SkTDynamicHashGravatar commit-bot@chromium.org2014-03-05
| | | | | | | | | | | BUG=skia: R=egdaniel@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/177263005 git-svn-id: http://skia.googlecode.com/svn/trunk@13663 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup: Sanitize the order of includes under tests/Gravatar tfarina@chromium.org2014-01-24
| | | | | | | | | | | | | | | | Initially this was to make sure Test.h appeared after the Sk*.h includes. Patch generated by the following command line: $ ~/chromium/src/tools/sort-headers.py tests/*.cpp BUG=None TEST=tests R=robertphillips@google.com Review URL: https://codereview.chromium.org/145313004 git-svn-id: http://skia.googlecode.com/svn/trunk@13177 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move macros from TestClassDef.h to Test.hGravatar commit-bot@chromium.org2014-01-14
| | | | | | | | | | | | | | Motivation: those macros don't make any sense without the definitions in Test.h. BUG= R=mtklein@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/138563004 git-svn-id: http://skia.googlecode.com/svn/trunk@13074 2bbb7eff-a529-9590-31e7-b0007b416f81
* Allocate memory in SkTDynamicHash on first use.Gravatar commit-bot@chromium.org2014-01-13
| | | | | | | | | | | | | | | | | | | This eliminates any dynamic allocation for hash tables that are never used. This helps SkPicture, where some tables (SkPaint) are almost always used, but some rarely (SkMatrix) or never (SkRegion). This also removes the (as yet unimportant) ability for the hash table to shrink. This makes resizing harder to reason about, so I'd like to leave it out until we see a need. BUG=skia:1850 R=tomhudson@chromium.org, reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/136403004 git-svn-id: http://skia.googlecode.com/svn/trunk@13051 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use DEFINE_TESTCLASS_SHORT macro in tests.Gravatar tfarina@chromium.org2013-12-12
| | | | | | | | | | | | | The three version of DEFINE_TESTCLASS macro is deprecated and thus just use the simple, short one. BUG=None TEST=out/Debug/tests R=mtklein@google.com, bsalomon@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/100113004 git-svn-id: http://skia.googlecode.com/svn/trunk@12653 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove unnamed namespace usage from tests.Gravatar commit-bot@chromium.org2013-10-12
| | | | | | | | | | | | | | Skia code prefers static over unnamed namespace. BUG=None TEST=None R=bsalomon@google.com, robertphillips@google.com Author: tfarina@chromium.org Review URL: https://codereview.chromium.org/26962002 git-svn-id: http://skia.googlecode.com/svn/trunk@11747 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkTDynamicHashGravatar mtklein@google.com2013-08-12
| | | | | | | | | | | | | | | - add validate() - make add() and remove() strict - fill in maybeShrink() - make grow and shrink thresholds configurable. - fix issue where we were getting filled with deleted items - we need to count them as occupied when determining if we should grow BUG= R=reed@google.com Review URL: https://codereview.chromium.org/22571010 git-svn-id: http://skia.googlecode.com/svn/trunk@10677 2bbb7eff-a529-9590-31e7-b0007b416f81
* old compiler is dumbGravatar mtklein@google.com2013-08-05
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/22318002 git-svn-id: http://skia.googlecode.com/svn/trunk@10553 2bbb7eff-a529-9590-31e7-b0007b416f81
* revise SkTDynamicHash and add unit testsGravatar commit-bot@chromium.org2013-08-05
BUG= R=reed@google.com Author: mtklein@google.com Review URL: https://chromiumcodereview.appspot.com/22292004 git-svn-id: http://skia.googlecode.com/svn/trunk@10552 2bbb7eff-a529-9590-31e7-b0007b416f81