OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <stdio.h> | 5 #include <stdio.h> |
6 #include <stdlib.h> | 6 #include <stdlib.h> |
7 | 7 |
8 #include <limits> | 8 #include <limits> |
9 #include <set> | 9 #include <set> |
10 | 10 |
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
382 | 382 |
383 | 383 |
384 class SafeBrowsingDatabaseTest { | 384 class SafeBrowsingDatabaseTest { |
385 public: | 385 public: |
386 SafeBrowsingDatabaseTest(const FilePath& filename) { | 386 SafeBrowsingDatabaseTest(const FilePath& filename) { |
387 logging::InitLogging( | 387 logging::InitLogging( |
388 NULL, logging::LOG_ONLY_TO_SYSTEM_DEBUG_LOG, | 388 NULL, logging::LOG_ONLY_TO_SYSTEM_DEBUG_LOG, |
389 logging::LOCK_LOG_FILE, | 389 logging::LOCK_LOG_FILE, |
390 logging::DELETE_OLD_LOG_FILE); | 390 logging::DELETE_OLD_LOG_FILE); |
391 | 391 |
392 std::wstring tmp_path; | 392 FilePath tmp_path; |
393 PathService::Get(base::DIR_TEMP, &tmp_path); | 393 PathService::Get(base::DIR_TEMP, &tmp_path); |
394 path_ = FilePath::FromWStringHack(tmp_path); | 394 path_ = tmp_path.Append(filename); |
395 path_ = path_.Append(filename); | |
396 } | 395 } |
397 | 396 |
398 void Create(int size) { | 397 void Create(int size) { |
399 file_util::Delete(path_, false); | 398 file_util::Delete(path_, false); |
400 | 399 |
401 scoped_ptr<SafeBrowsingDatabase> database(SafeBrowsingDatabase::Create()); | 400 scoped_ptr<SafeBrowsingDatabase> database(SafeBrowsingDatabase::Create()); |
402 database->SetSynchronous(); | 401 database->SetSynchronous(); |
403 EXPECT_TRUE(database->Init(path_.ToWStringHack(), NULL)); | 402 EXPECT_TRUE(database->Init(path_, NULL)); |
404 | 403 |
405 int chunk_id = 0; | 404 int chunk_id = 0; |
406 int total_host_keys = size; | 405 int total_host_keys = size; |
407 int host_keys_per_chunk = 100; | 406 int host_keys_per_chunk = 100; |
408 | 407 |
409 std::deque<SBChunk>* chunks = new std::deque<SBChunk>; | 408 std::deque<SBChunk>* chunks = new std::deque<SBChunk>; |
410 | 409 |
411 for (int i = 0; i < total_host_keys / host_keys_per_chunk; ++i) { | 410 for (int i = 0; i < total_host_keys / host_keys_per_chunk; ++i) { |
412 chunks->push_back(SBChunk()); | 411 chunks->push_back(SBChunk()); |
413 chunks->back().chunk_number = ++chunk_id; | 412 chunks->back().chunk_number = ++chunk_id; |
(...skipping 12 matching lines...) Expand all Loading... |
426 | 425 |
427 database->InsertChunks("goog-malware", chunks); | 426 database->InsertChunks("goog-malware", chunks); |
428 } | 427 } |
429 | 428 |
430 void Read(bool use_bloom_filter) { | 429 void Read(bool use_bloom_filter) { |
431 int keys_to_read = 500; | 430 int keys_to_read = 500; |
432 file_util::EvictFileFromSystemCache(path_); | 431 file_util::EvictFileFromSystemCache(path_); |
433 | 432 |
434 scoped_ptr<SafeBrowsingDatabase> database(SafeBrowsingDatabase::Create()); | 433 scoped_ptr<SafeBrowsingDatabase> database(SafeBrowsingDatabase::Create()); |
435 database->SetSynchronous(); | 434 database->SetSynchronous(); |
436 EXPECT_TRUE(database->Init(path_.ToWStringHack(), NULL)); | 435 EXPECT_TRUE(database->Init(path_, NULL)); |
437 | 436 |
438 PerfTimer total_timer; | 437 PerfTimer total_timer; |
439 int64 db_ms = 0; | 438 int64 db_ms = 0; |
440 int keys_from_db = 0; | 439 int keys_from_db = 0; |
441 for (int i = 0; i < keys_to_read; ++i) { | 440 for (int i = 0; i < keys_to_read; ++i) { |
442 int key = base::RandInt(std::numeric_limits<int>::min(), | 441 int key = base::RandInt(std::numeric_limits<int>::min(), |
443 std::numeric_limits<int>::max()); | 442 std::numeric_limits<int>::max()); |
444 | 443 |
445 std::string url = StringPrintf("http://www.%d.com/blah.html", key); | 444 std::string url = StringPrintf("http://www.%d.com/blah.html", key); |
446 | 445 |
(...skipping 21 matching lines...) Expand all Loading... |
468 int64 total_ms = total_timer.Elapsed().InMilliseconds(); | 467 int64 total_ms = total_timer.Elapsed().InMilliseconds(); |
469 | 468 |
470 DLOG(INFO) << path_.BaseName().value() << " read " << keys_to_read << | 469 DLOG(INFO) << path_.BaseName().value() << " read " << keys_to_read << |
471 " entries in " << total_ms << " ms. " << keys_from_db << | 470 " entries in " << total_ms << " ms. " << keys_from_db << |
472 " keys were read from the db, with average read taking " << | 471 " keys were read from the db, with average read taking " << |
473 db_ms / keys_from_db << " ms"; | 472 db_ms / keys_from_db << " ms"; |
474 } | 473 } |
475 | 474 |
476 void BuildBloomFilter() { | 475 void BuildBloomFilter() { |
477 file_util::EvictFileFromSystemCache(path_); | 476 file_util::EvictFileFromSystemCache(path_); |
478 file_util::Delete(SafeBrowsingDatabase::BloomFilterFilename( | 477 file_util::Delete(SafeBrowsingDatabase::BloomFilterFilename(path_), false); |
479 path_.ToWStringHack()), false); | |
480 | 478 |
481 PerfTimer total_timer; | 479 PerfTimer total_timer; |
482 | 480 |
483 scoped_ptr<SafeBrowsingDatabase> database(SafeBrowsingDatabase::Create()); | 481 scoped_ptr<SafeBrowsingDatabase> database(SafeBrowsingDatabase::Create()); |
484 database->SetSynchronous(); | 482 database->SetSynchronous(); |
485 EXPECT_TRUE(database->Init(path_.ToWStringHack(), NULL)); | 483 EXPECT_TRUE(database->Init(path_, NULL)); |
486 | 484 |
487 int64 total_ms = total_timer.Elapsed().InMilliseconds(); | 485 int64 total_ms = total_timer.Elapsed().InMilliseconds(); |
488 | 486 |
489 DLOG(INFO) << path_.BaseName().value() << | 487 DLOG(INFO) << path_.BaseName().value() << |
490 " built bloom filter in " << total_ms << " ms."; | 488 " built bloom filter in " << total_ms << " ms."; |
491 } | 489 } |
492 | 490 |
493 private: | 491 private: |
494 FilePath path_; | 492 FilePath path_; |
495 }; | 493 }; |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 // Test how long bloom filter creation takes. | 535 // Test how long bloom filter creation takes. |
538 TEST(SafeBrowsingDatabase, DISABLED_BuildBloomFilter250K) { | 536 TEST(SafeBrowsingDatabase, DISABLED_BuildBloomFilter250K) { |
539 SafeBrowsingDatabaseTest db(FilePath(FILE_PATH_LITERAL("SafeBrowsing250K"))); | 537 SafeBrowsingDatabaseTest db(FilePath(FILE_PATH_LITERAL("SafeBrowsing250K"))); |
540 db.BuildBloomFilter(); | 538 db.BuildBloomFilter(); |
541 } | 539 } |
542 | 540 |
543 TEST(SafeBrowsingDatabase, DISABLED_BuildBloomFilter500K) { | 541 TEST(SafeBrowsingDatabase, DISABLED_BuildBloomFilter500K) { |
544 SafeBrowsingDatabaseTest db(FilePath(FILE_PATH_LITERAL("SafeBrowsing500K"))); | 542 SafeBrowsingDatabaseTest db(FilePath(FILE_PATH_LITERAL("SafeBrowsing500K"))); |
545 db.BuildBloomFilter(); | 543 db.BuildBloomFilter(); |
546 } | 544 } |
OLD | NEW |