summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_perftests.cc
Commit message (Collapse)AuthorAgeFilesLines
* Add ipc_mojo_perftestsmorrita2014-09-091-305/+8
| | | | | | | | | | | | | | | | This change adds ipc_mojo_perftests that runs the same benchmark as of ipc_perftests. Now head-to-head comparison becomes possible. For this change, whole ipc_perftests logic is extracted to ipc_perftest_support.cc to make it reusable by ipc_mojo_perftests. TEST=none BUG=none R=jam@chromium.org, darin@chromium.org, yuzhu@chromium.org Review URL: https://codereview.chromium.org/536213002 Cr-Commit-Position: refs/heads/master@{#293988}
* Fix a DCHECK violation in ipc_perftestsyzshen2014-09-051-2/+2
| | | | | | | | | | | | | | | | | We only allow one MessageLoop instance alive at any given time on a thread. If we use IPCTestBase::set_message_loop(), we need to do it in two steps: first set the message loop to NULL, and then set it to a newly-created message loop. Therefore, I changed the interface of IPCTestBase to make it a little more friendly. BUG=None TEST=ipc_perftests should not crash in debug build. Review URL: https://codereview.chromium.org/538593002 Cr-Commit-Position: refs/heads/master@{#293439}
* Add ChannelProxy benchmark to ipc_perftests.morrita2014-08-291-12/+61
| | | | | | | | | | | | | | | | This CL add a ChannelProxy equivalent of the Channel benchmark to ipc_perftests. To use it in the benchmark, TestIOThread is extracted from mojo/system/ to base/test TEST=IPChannelPerfTest.ChannelProxyPingPong R=viettrungluu@chromium.org,brettw@chromium.org,darin@chromium.org BUG=none Review URL: https://codereview.chromium.org/488003003 Cr-Commit-Position: refs/heads/master@{#292518}
* Introduce IPC::Channel::Create*() to ensure it being heap-allocated.morrita@chromium.org2014-05-301-5/+4
| | | | | | | | | | | | | | | | | | | | | This change introduces IPC::Channel::Create*() API to turn IPC::Channel into a heap allocated object. This will allow us to make Channel a polymorphic class. This change also tries to hide Channel::Mode from public API so that we can simplify channel creation code paths cleaner in following changes. ChannelProxy has to follow same pattern to finish this cleanup. Such changes will follow. TEST=none BUG=377980 R=darin@chromium.org,cpu@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=273575 Review URL: https://codereview.chromium.org/307653003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273713 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 273575 "Introduce IPC::Channel::Create*() to ensure it be..."mattm@chromium.org2014-05-291-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Broke win compile. > Introduce IPC::Channel::Create*() to ensure it being heap-allocated. > > This change introduces IPC::Channel::Create*() API to turn > IPC::Channel into a heap allocated object. This will allow us to > make Channel a polymorphic class. > > This change also tries to hide Channel::Mode from public API > so that we can simplify channel creation code paths cleaner in > following changes. ChannelProxy has to follow same pattern to > finish this cleanup. Such changes will follow. > > TEST=none > BUG=377980 > R=darin@chromium.org,cpu@chromium.org > > Review URL: https://codereview.chromium.org/307653003 TBR=morrita@chromium.org Review URL: https://codereview.chromium.org/304153005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273596 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce IPC::Channel::Create*() to ensure it being heap-allocated.morrita@chromium.org2014-05-291-5/+4
| | | | | | | | | | | | | | | | | | | This change introduces IPC::Channel::Create*() API to turn IPC::Channel into a heap allocated object. This will allow us to make Channel a polymorphic class. This change also tries to hide Channel::Mode from public API so that we can simplify channel creation code paths cleaner in following changes. ChannelProxy has to follow same pattern to finish this cleanup. Such changes will follow. TEST=none BUG=377980 R=darin@chromium.org,cpu@chromium.org Review URL: https://codereview.chromium.org/307653003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273575 0039d316-1c4b-4281-b951-d872f2087c98
* IPC: Fix size_t to int cast for Win64 build.epenner@chromium.org2014-03-201-1/+1
| | | | | | | | | | | | BUG= TBR=cpu@chromium.org NOTRY=true No try as this is blocking the Win64 build. Review URL: https://codereview.chromium.org/206853002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258456 0039d316-1c4b-4281-b951-d872f2087c98
* IPC: Make ipc_perftests run on Android.epenner@chromium.org2014-03-191-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There was several minor issues: - Base perf logging file location was off-limits on Android - Printf needs to be flushed to be visible on Android. - Android needs to reset the 'PipeMap' manually since we can't 'exec' after forking a test process. If we don't do this the Channel thinks we are in a single- process test and tries to open an FD which was closed during forking. - Android's base file descriptor needs to be increased to prevent stomping the android native logging file-descriptor with the default pipe. - The test took too long, so the 'exponent' is reduced from 5 to 3 - We need an APK With this patch the test runs like on other platforms, and lots of testing code is fixed such that it works the same way on all platforms. BUG=345471 Review URL: https://codereview.chromium.org/196343019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257877 0039d316-1c4b-4281-b951-d872f2087c98
* Revert https://src.chromium.org/viewvc/chrome?view=rev&revision=231330bbudge@chromium.org2013-11-041-4/+4
| | | | | | | | | | This is a speculative revert to see if it's the cause of hanging renderers. BUG=313112 Review URL: https://codereview.chromium.org/57783006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232819 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused IPC::Message priority.bbudge@chromium.org2013-10-281-4/+4
| | | | | | | | | | | | | | | | | Removes the PriorityValue enum and field from IPC::Message. This doesn't appear to be used anywhere. Changes the data message ctor to take a size_t data_len parameter. This works around an ambiguity problem with the main ctor, which has a similar signature and would require lots of futzing with our test code to fix. To make this work, the matching Pickle constructor is also changed to take a size_t data_len parameter. BUG=194304 Review URL: https://codereview.chromium.org/35643005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231330 0039d316-1c4b-4281-b951-d872f2087c98
* base: Split logging functions and PerfTimeLogger out of perftimer.htfarina@chromium.org2013-09-171-3/+3
| | | | | | | | | | | | | | | | Soon PerfTimer will move into base/timer/ directory as it is already used by production code. This splits the logging stuff into their owns files and also moves PerfTimeLogger into its own files. BUG=None TEST=base_unittests, ipc_perftests, etc... R=brettw@chromium.org Review URL: https://chromiumcodereview.appspot.com/23985006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223486 0039d316-1c4b-4281-b951-d872f2087c98
* Move perftimer.* into base/test/ directory.tfarina@chromium.org2013-08-241-1/+1
| | | | | | | | | | | | | This should address the TODO from tools/gn/secondary/base/BUILD.gn BUG=None TEST=test_support_perf R=brettw@chromium.org TBR=cpu, dalecurtis, akalin, thestig Review URL: https://chromiumcodereview.appspot.com/22887041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219448 0039d316-1c4b-4281-b951-d872f2087c98
* Use a direct include of time headers in courgette/, crypto/, dbus/, device/, ↵avi@chromium.org2013-06-281-1/+1
| | | | | | | | | | | | google_apis/, gpu/, ipc/, jingle/. BUG=254986 TEST=none TBR=ben@chromium.org Review URL: https://codereview.chromium.org/18156002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209149 0039d316-1c4b-4281-b951-d872f2087c98
* Use a direct include of strings headers in ipc/, jingle/, media/.avi@chromium.org2013-06-111-2/+2
| | | | | | | | | | BUG=247723 TEST=none TBR=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/16684003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205436 0039d316-1c4b-4281-b951-d872f2087c98
* ipc: Use base::MessageLoop.xhwang@chromium.org2013-04-301-5/+5
| | | | | | | | | BUG=236029 R=agl@chromium.org Review URL: https://chromiumcodereview.appspot.com/14383024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197465 0039d316-1c4b-4281-b951-d872f2087c98
* Linux/ChromeOS Chromium style checker cleanup, ipc/ edition.rsleevi@chromium.org2013-02-061-4/+4
| | | | | | | | | | | Automated clean up of style checker errors that were missed due to the plugin not being executed on implementation files. BUG=115047 Review URL: https://chromiumcodereview.appspot.com/12220032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180954 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor (many) IPC tests, notably most of the multiprocess tests.viettrungluu@chromium.org2013-01-251-32/+22
| | | | | | | | | | | This factors out common code and, more importantly/usefully, makes test-specific code more local, and thus easier to add new tests and maintain existing ones. In particular, this allows you to add a new test "client" (running in another process) without modifying ipc_test_base.*. Review URL: https://codereview.chromium.org/12051048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178901 0039d316-1c4b-4281-b951-d872f2087c98
* Remove IPC::Channel::set_listener().viettrungluu@chromium.org2013-01-161-10/+26
| | | | | | | | | | It wasn't used anywhere other than in ipc_perftests (which, up till very recently, weren't even compiled) in a non-essential way. Review URL: https://chromiumcodereview.appspot.com/11964002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177192 0039d316-1c4b-4281-b951-d872f2087c98
* More IPC test header cleanup.viettrungluu@chromium.org2013-01-151-1/+0
| | | | | | Review URL: https://codereview.chromium.org/11858023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176983 0039d316-1c4b-4281-b951-d872f2087c98
* Automate ipc_perftests.viettrungluu@chromium.org2013-01-151-81/+151
| | | | | | | | | | Make it run with a decent spread of parameters. TBR=jam Review URL: https://codereview.chromium.org/11886009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176960 0039d316-1c4b-4281-b951-d872f2087c98
* Trim #includes in ipc tests.viettrungluu@chromium.org2013-01-111-6/+1
| | | | | | Review URL: https://codereview.chromium.org/11858018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176438 0039d316-1c4b-4281-b951-d872f2087c98
* Move IPC tests into anonymous namespaces.viettrungluu@chromium.org2013-01-111-0/+4
| | | | | | | | | This reduces chances of (very confusing) name collisions between different tests. Review URL: https://codereview.chromium.org/11865015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176430 0039d316-1c4b-4281-b951-d872f2087c98
* Make ipc_tests file structure a little saner and add an ipc_perftests target.viettrungluu@chromium.org2013-01-111-0/+205
This means that the (one, semi-manual) IPC perf test that we have will build without manual hackery (and do so separately from the ipc_tests target). Review URL: https://chromiumcodereview.appspot.com/11819041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176341 0039d316-1c4b-4281-b951-d872f2087c98