summaryrefslogtreecommitdiffstats
path: root/.gitignore
diff options
context:
space:
mode:
authorasvitkine@chromium.org <asvitkine@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-24 22:32:59 +0000
committerasvitkine@chromium.org <asvitkine@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-24 22:32:59 +0000
commit20f999b5ebd1f5f0dd4c59b495a449fc5a5cc25a (patch)
tree3735e0443ba3004092c9065097f73428fc6b2538 /.gitignore
parent9ee8ddb17d5d14fed8aaadf44a61c0b12c504671 (diff)
downloadchromium_src-20f999b5ebd1f5f0dd4c59b495a449fc5a5cc25a.zip
chromium_src-20f999b5ebd1f5f0dd4c59b495a449fc5a5cc25a.tar.gz
chromium_src-20f999b5ebd1f5f0dd4c59b495a449fc5a5cc25a.tar.bz2
Use a different algorithm with the low entropy source for field trials.
The new algorithm maps the original 13-bit low entropy source to a new 13-bit entropy value using a mapping that is shuffled using the trial name as a seed. The algorithm is roughly as follows: Take the low entropy source as an integer between 0-8191. Generate an identity mapping of size 8192 where mapping[i] == i. Seed a Mersenne Twister random number generator with the hash of the field trial name. Use the seeded random number generator to shuffle the mapping array. Map the low entropy source using the mapping array, i.e. entropy' = mapping[entropy]. Divide the resulting entropy' by 8192 to produce a double in the range of [0, 1) that will be used for bucketing in field_trial.cc. The above algorithm improves uniformity over the existing entropy provider when the 13-bit entropy source is used while still providing very little overlaps of buckets between different field trials. Adds third_party library mt19937ar, an implementation of Mersenne Twister, for the seeded random number generation. This is needed until C++11 becomes available for use in Chromium, at which point C++11's <random> could be used. BUG=143239 TEST=Unit tests. Additionally, verified that the new algorithm produces uniform results with very little overlap of buckets between different field trials. Review URL: https://chromiumcodereview.appspot.com/10830318 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153322 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to '.gitignore')
-rw-r--r--.gitignore1
1 files changed, 1 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 7488140..0f14a50 100644
--- a/.gitignore
+++ b/.gitignore
@@ -185,6 +185,7 @@ v8.log
/third_party/mingw-w64
/third_party/mkl
/third_party/mozc
+/third_party/mt19937ar
/third_party/nacl_sdk_binaries/
/third_party/nss
/third_party/openssl