diff options
author | Tsu Chiang Chuang <tsu@google.com> | 2013-03-26 17:38:46 -0700 |
---|---|---|
committer | Tsu Chiang Chuang <tsu@google.com> | 2013-03-28 14:47:03 -0700 |
commit | 5a7833b406bb2716b057d3ed923f22f1f86b2a20 (patch) | |
tree | 7d0e79a91c627918879d379bc6362d20f79b512f /benchmarks/regression/SSLSocketBenchmark.java | |
parent | 0b2e0fc3b8b8886cfebd27d279383d8cae61102d (diff) | |
download | libcore-5a7833b406bb2716b057d3ed923f22f1f86b2a20.zip libcore-5a7833b406bb2716b057d3ed923f22f1f86b2a20.tar.gz libcore-5a7833b406bb2716b057d3ed923f22f1f86b2a20.tar.bz2 |
Build Caliper microbenchmark tests.Also fix the URLConnectionBenchmark tests to use the external/mockwebserver.
Change-Id: I48ec32e94f992fe570a6d729bb38971b3f211188
Diffstat (limited to 'benchmarks/regression/SSLSocketBenchmark.java')
-rw-r--r-- | benchmarks/regression/SSLSocketBenchmark.java | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/benchmarks/regression/SSLSocketBenchmark.java b/benchmarks/regression/SSLSocketBenchmark.java deleted file mode 100644 index fd72a79..0000000 --- a/benchmarks/regression/SSLSocketBenchmark.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (C) 2010 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package benchmarks.regression; - -import com.google.caliper.Param; -import com.google.caliper.SimpleBenchmark; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.InetAddress; -import java.net.Socket; -import java.net.URL; -import javax.net.SocketFactory; -import javax.net.ssl.SSLContext; - -public class SSLSocketBenchmark extends SimpleBenchmark { - - private static final int BUFFER_SIZE = 8192; - - final byte[] buffer = new byte[BUFFER_SIZE]; - - @Param private WebSite webSite; - - public enum WebSite { - DOCS("https://docs.google.com"), - MAIL("https://mail.google.com"), - SITES("https://sites.google.com"), - WWW("https://www.google.com"); - final InetAddress host; - final int port; - final byte[] request; - WebSite(String uri) { - try { - URL url = new URL(uri); - - this.host = InetAddress.getByName(url.getHost()); - - int p = url.getPort(); - String portString; - if (p == -1) { - this.port = 443; - portString = ""; - } else { - this.port = p; - portString = ":" + port; - } - - this.request = ("GET " + uri + " HTTP/1.0\r\n" - + "Host: " + host + portString + "\r\n" - +"\r\n").getBytes(); - - } catch (IOException e) { - throw new RuntimeException(e); - } - } - } - - @Param private Implementation implementation; - - public enum Implementation { OPENSSL, HARMONY }; - - private SocketFactory sf; - - @Override protected void setUp() throws Exception { - SSLContext sslContext; - switch (implementation) { - case OPENSSL: - sslContext = SSLContext.getInstance("SSL", "AndroidOpenSSL"); - break; - case HARMONY: - sslContext = SSLContext.getInstance("SSL", "HarmonyJSSE"); - break; - default: - throw new RuntimeException(implementation.toString()); - } - sslContext.init(null, null, null); - this.sf = sslContext.getSocketFactory(); - } - - public void time(int reps) throws Exception { - for (int i = 0; i < reps; ++i) { - Socket s = sf.createSocket(webSite.host, webSite.port); - OutputStream out = s.getOutputStream(); - out.write(webSite.request); - InputStream in = s.getInputStream(); - while (true) { - int n = in.read(buffer); - if (n == -1) { - break; - } - } - in.close(); - } - } -} |