From f91fc1220f1b77c55317ff50f4dde8e6b043858f Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Wed, 13 May 2020 09:21:00 +0100 Subject: Optimizing: Run gtests without creating the Runtime. The only Optimizing test that actually needs a Runtime is the ReferenceTypePropagationTest, so we make it subclass CommonCompilerTest explicitly and change OptimizingUnitTest to subclass CommonArtTest for the other tests. On host, each test that initializes the Runtime takes ~220ms more than without initializing the Runtime. For example, the ConstantFoldingTest that has 10 individual tests previously took over 2.2s to run but without the Runtime initialization it takes around 3-5ms. On target, running 32-bit gtests on taimen with run-gtests.sh (single-threaded) goes from ~28m47s to ~26m13s, a reduction of ~9%. Test: m test-art-host-gtest Test: run-gtests.sh Change-Id: I43e50ed58e52cc0ad04cdb4d39801bfbae840a3d --- compiler/optimizing/optimizing_unit_test.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'compiler/optimizing/optimizing_unit_test.h') diff --git a/compiler/optimizing/optimizing_unit_test.h b/compiler/optimizing/optimizing_unit_test.h index 61e16800e5..c884f5b0a4 100644 --- a/compiler/optimizing/optimizing_unit_test.h +++ b/compiler/optimizing/optimizing_unit_test.h @@ -266,7 +266,7 @@ class OptimizingUnitTestHelper { std::vector parameters_; }; -class OptimizingUnitTest : public CommonCompilerTest, public OptimizingUnitTestHelper {}; +class OptimizingUnitTest : public CommonArtTest, public OptimizingUnitTestHelper {}; // Naive string diff data type. typedef std::list> diff_t; -- cgit v1.2.3-59-g8ed1b