Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1348)

Side by Side Diff: third_party/tcmalloc/chromium/src/tests/profiler_unittest.cc

Issue 9311003: Update the tcmalloc chromium branch to r144 (gperftools 2.0), and merge chromium-specific changes. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Rebasec Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2005, Google Inc. 1 // Copyright (c) 2005, Google Inc.
2 // All rights reserved. 2 // All rights reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // * Redistributions of source code must retain the above copyright 8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer. 9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above 10 // * Redistributions in binary form must reproduce the above
(...skipping 23 matching lines...) Expand all
34 // Define WITH_THREADS to add pthread functionality as well (otherwise, btw, 34 // Define WITH_THREADS to add pthread functionality as well (otherwise, btw,
35 // the num_threads argument to this program is ingored). 35 // the num_threads argument to this program is ingored).
36 36
37 #include "config_for_unittests.h" 37 #include "config_for_unittests.h"
38 #include <stdio.h> 38 #include <stdio.h>
39 #include <stdlib.h> 39 #include <stdlib.h>
40 #ifdef HAVE_UNISTD_H 40 #ifdef HAVE_UNISTD_H
41 #include <unistd.h> // for fork() 41 #include <unistd.h> // for fork()
42 #endif 42 #endif
43 #include <sys/wait.h> // for wait() 43 #include <sys/wait.h> // for wait()
44 #include "google/profiler.h" 44 #include "gperftools/profiler.h"
45 #include "base/simple_mutex.h" 45 #include "base/simple_mutex.h"
46 #include "tests/testutil.h" 46 #include "tests/testutil.h"
47 47
48 static int result = 0; 48 static int result = 0;
49 static int g_iters = 0; // argv[1] 49 static int g_iters = 0; // argv[1]
50 50
51 Mutex mutex(Mutex::LINKER_INITIALIZED); 51 Mutex mutex(Mutex::LINKER_INITIALIZED);
52 52
53 static void test_other_thread() { 53 static void test_other_thread() {
54 #ifndef NO_THREADS 54 #ifndef NO_THREADS
55 ProfilerRegisterThread(); 55 ProfilerRegisterThread();
56 56
57 int i, m; 57 int i, m;
58 char b[128]; 58 char b[128];
59 MutexLock ml(&mutex); 59 MutexLock ml(&mutex);
60 for (m = 0; m < 1000000; ++m) { // run millions of times 60 for (m = 0; m < 1000000; ++m) { // run millions of times
61 for (i = 0; i < g_iters; ++i ) { 61 for (i = 0; i < g_iters; ++i ) {
62 result ^= i; 62 result ^= i;
63 } 63 }
64 snprintf(b, sizeof(b), "%d", result); // get some libc action 64 snprintf(b, sizeof(b), "other: %d", result); // get some libc action
65 } 65 }
66 #endif 66 #endif
67 } 67 }
68 68
69 static void test_main_thread() { 69 static void test_main_thread() {
70 int i, m; 70 int i, m;
71 char b[128]; 71 char b[128];
72 MutexLock ml(&mutex); 72 MutexLock ml(&mutex);
73 for (m = 0; m < 1000000; ++m) { // run millions of times 73 for (m = 0; m < 1000000; ++m) { // run millions of times
74 for (i = 0; i < g_iters; ++i ) { 74 for (i = 0; i < g_iters; ++i ) {
75 result ^= i; 75 result ^= i;
76 } 76 }
77 snprintf(b, sizeof(b), "%d", result); // get some libc action 77 snprintf(b, sizeof(b), "same: %d", result); // get some libc action
78 } 78 }
79 } 79 }
80 80
81 int main(int argc, char** argv) { 81 int main(int argc, char** argv) {
82 if ( argc <= 1 ) { 82 if ( argc <= 1 ) {
83 fprintf(stderr, "USAGE: %s <iters> [num_threads] [filename]\n", argv[0]); 83 fprintf(stderr, "USAGE: %s <iters> [num_threads] [filename]\n", argv[0]);
84 fprintf(stderr, " iters: How many million times to run the XOR test.\n"); 84 fprintf(stderr, " iters: How many million times to run the XOR test.\n");
85 fprintf(stderr, " num_threads: how many concurrent threads.\n"); 85 fprintf(stderr, " num_threads: how many concurrent threads.\n");
86 fprintf(stderr, " 0 or 1 for single-threaded mode,\n"); 86 fprintf(stderr, " 0 or 1 for single-threaded mode,\n");
87 fprintf(stderr, " -# to fork instead of thread.\n"); 87 fprintf(stderr, " -# to fork instead of thread.\n");
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 #endif 133 #endif
134 134
135 test_main_thread(); 135 test_main_thread();
136 136
137 if (filename) { 137 if (filename) {
138 ProfilerStop(); 138 ProfilerStop();
139 } 139 }
140 140
141 return 0; 141 return 0;
142 } 142 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698