Skip to content

Instantly share code, notes, and snippets.

@Shilo
Last active June 24, 2022 22:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Shilo/aa8edee7105256524ca9dcd9f1d13d3f to your computer and use it in GitHub Desktop.
Save Shilo/aa8edee7105256524ca9dcd9f1d13d3f to your computer and use it in GitHub Desktop.
Dirty benchmarking for legacy and new networking GET requests. (Java)
ATTEMPTS: 100
NEW first site elapsed: 0.923s
NEW single site elapsed: 12.887s
NEW toggle sites elapsed: 23.576s
LEGACY first site elapsed: 0.373s
LEGACY single site elapsed: 29.188s
LEGACY toggle sites elapsed: 30.302s
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URI;
import java.net.URL;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
public class App {
public static void main(String[] args) throws Exception {
int attempts = 100;
var googleElapsedTimes = benchmarkGetRequests(attempts, false, false);
var googleBingElapsedTimes = benchmarkGetRequests(attempts, true, !(googleElapsedTimes[2] == 1 ? true : false));
System.out.println("ATTEMPTS: " + attempts);
System.out.println("NEW first site elapsed: " + (googleElapsedTimes[2] / 1000.0) + "s");
System.out.println("NEW single site elapsed: " + (googleElapsedTimes[0] / 1000.0) + "s");
System.out.println("NEW toggle sites elapsed: " + (googleBingElapsedTimes[0] / 1000.0) + "s");
System.out.println("LEGACY first site elapsed: " + (googleElapsedTimes[3] / 1000.0) + "s");
System.out.println("LEGACY single site elapsed: " + (googleElapsedTimes[1] / 1000.0) + "s");
System.out.println("LEGACY toggle sites elapsed: " + (googleBingElapsedTimes[1] / 1000.0) + "s");
}
static long[] benchmarkGetRequests(int attempts, boolean toggleBetweenGoogleBing, boolean isBing) throws Exception {
String google = "https://google.com";
String bing = "https://www.bing.com";
long newElapsed = 0;
long legacyElapsed = 0;
long newFirstElapsed = 0;
long legacyFirstElapsed = 0;
var urlString = isBing ? bing : google;
for (int i = 0; i < attempts; i++) {
System.out.println("========================");
System.out.println(urlString);
// Java 11+ approach
System.out.println("========");
var newStart = System.currentTimeMillis();
var start = System.currentTimeMillis();
HttpRequest request = HttpRequest.newBuilder(new URI(urlString)).build();
System.out.println("HttpRequest: " + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
HttpClient client = HttpClient.newBuilder().build();
System.out.println("HttpClient: " + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
client.send(request, HttpResponse.BodyHandlers.ofString()).body();
System.out.println("GET BODY client.send: " + (System.currentTimeMillis() - start));
client = null;
request = null;
var elapsed = System.currentTimeMillis() - newStart;
newElapsed += elapsed;
if (newFirstElapsed == 0)
newFirstElapsed = elapsed;
System.out.println("NEW end: " + elapsed);
if (i == attempts - 1)
System.out.println("========================");
if (toggleBetweenGoogleBing)
urlString = urlString == google ? bing : google;
}
urlString = isBing ? bing : google;
for (int i = 0; i < attempts; i++) {
System.out.println("========================");
System.out.println(urlString);
// Legacy approach
System.out.println("========");
var legacyStart = System.currentTimeMillis();
var start = System.currentTimeMillis();
URL url = new URL(urlString);
System.out.println("URL: " + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
System.out.println("HttpURLConnection: " + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
InputStream inputStream = new BufferedInputStream(urlConnection.getInputStream());
System.out.println("GET BODY getInputStream: " + (System.currentTimeMillis() - start));
start = System.currentTimeMillis();
String body = new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
System.out.println("inputStream -> String: " + (System.currentTimeMillis() - start));
urlConnection.disconnect();
var elapsed = System.currentTimeMillis() - legacyStart;
legacyElapsed += elapsed;
if (legacyFirstElapsed == 0)
legacyFirstElapsed = elapsed;
System.out.println("LEGACY end: " + elapsed);
if (i == attempts - 1)
System.out.println("========================");
if (toggleBetweenGoogleBing)
urlString = urlString == google ? bing : google;
}
return new long[] { newElapsed, legacyElapsed, newFirstElapsed, legacyFirstElapsed, urlString == bing ? 1 : 0 };
}
}
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 311
NEW end: 313
========================
https://google.com
========
HttpRequest: 0
HttpClient: 3
GET BODY client.send: 120
NEW end: 124
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 3
GET BODY client.send: 801
NEW end: 806
========================
https://google.com
========
HttpRequest: 1
HttpClient: 3
GET BODY client.send: 120
NEW end: 124
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 0
GET BODY client.send: 308
NEW end: 311
========================
https://google.com
========
HttpRequest: 0
HttpClient: 2
GET BODY client.send: 113
NEW end: 118
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 2
GET BODY client.send: 313
NEW end: 317
========================
https://google.com
========
HttpRequest: 0
HttpClient: 2
GET BODY client.send: 117
NEW end: 121
========================
https://www.bing.com
========
HttpRequest: 1
HttpClient: 1
GET BODY client.send: 299
NEW end: 302
========================
https://google.com
========
HttpRequest: 0
HttpClient: 2
GET BODY client.send: 122
NEW end: 126
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 2
GET BODY client.send: 310
NEW end: 313
========================
https://google.com
========
HttpRequest: 0
HttpClient: 0
GET BODY client.send: 121
NEW end: 122
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 238
NEW end: 240
========================
https://google.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 114
NEW end: 115
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 319
NEW end: 321
========================
https://google.com
========
HttpRequest: 0
HttpClient: 3
GET BODY client.send: 127
NEW end: 131
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 318
NEW end: 320
========================
https://google.com
========
HttpRequest: 0
HttpClient: 2
GET BODY client.send: 119
NEW end: 124
========================
https://www.bing.com
========
HttpRequest: 1
HttpClient: 3
GET BODY client.send: 308
NEW end: 313
========================
https://google.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 126
NEW end: 128
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 453
NEW end: 455
========================
https://google.com
========
HttpRequest: 0
HttpClient: 3
GET BODY client.send: 114
NEW end: 119
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 0
GET BODY client.send: 339
NEW end: 341
========================
https://google.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 121
NEW end: 122
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 311
NEW end: 313
========================
https://google.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 111
NEW end: 114
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 946
NEW end: 947
========================
https://google.com
========
HttpRequest: 0
HttpClient: 0
GET BODY client.send: 117
NEW end: 120
========================
https://www.bing.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 312
NEW end: 314
========================
https://google.com
========
HttpRequest: 0
HttpClient: 4
GET BODY client.send: 119
NEW end: 126
========================
https://www.bing.com
========
HttpRequest: 1
HttpClient: 1
GET BODY client.send: 297
NEW end: 299
========================
https://google.com
========
HttpRequest: 0
HttpClient: 1
GET BODY client.send: 118
NEW end: 119
========================
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 217
inputStream -> String: 94
LEGACY end: 314
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 257
inputStream -> String: 29
LEGACY end: 288
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 229
inputStream -> String: 124
LEGACY end: 355
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 258
inputStream -> String: 18
LEGACY end: 278
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 256
inputStream -> String: 95
LEGACY end: 353
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 265
inputStream -> String: 19
LEGACY end: 285
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 205
inputStream -> String: 101
LEGACY end: 308
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 254
inputStream -> String: 22
LEGACY end: 278
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 243
inputStream -> String: 93
LEGACY end: 337
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 254
inputStream -> String: 20
LEGACY end: 276
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 262
inputStream -> String: 90
LEGACY end: 355
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 260
inputStream -> String: 33
LEGACY end: 295
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 202
inputStream -> String: 89
LEGACY end: 295
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 258
inputStream -> String: 29
LEGACY end: 290
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 230
inputStream -> String: 102
LEGACY end: 332
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 268
inputStream -> String: 20
LEGACY end: 290
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 213
inputStream -> String: 80
LEGACY end: 296
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 290
inputStream -> String: 27
LEGACY end: 319
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 208
inputStream -> String: 87
LEGACY end: 296
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 248
inputStream -> String: 16
LEGACY end: 268
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 222
inputStream -> String: 94
LEGACY end: 320
========================
https://google.com
========
URL: 0
HttpURLConnection: 1
GET BODY getInputStream: 264
inputStream -> String: 20
LEGACY end: 287
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 253
inputStream -> String: 81
LEGACY end: 337
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 276
inputStream -> String: 27
LEGACY end: 306
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 206
inputStream -> String: 101
LEGACY end: 311
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 238
inputStream -> String: 32
LEGACY end: 271
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 224
inputStream -> String: 89
LEGACY end: 316
========================
https://google.com
========
URL: 0
HttpURLConnection: 1
GET BODY getInputStream: 245
inputStream -> String: 23
LEGACY end: 270
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 217
inputStream -> String: 81
LEGACY end: 299
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 257
inputStream -> String: 17
LEGACY end: 274
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 227
inputStream -> String: 86
LEGACY end: 315
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 263
inputStream -> String: 24
LEGACY end: 289
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 218
inputStream -> String: 82
LEGACY end: 300
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 261
inputStream -> String: 20
LEGACY end: 282
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 219
inputStream -> String: 104
LEGACY end: 326
========================
https://google.com
========
URL: 0
HttpURLConnection: 1
GET BODY getInputStream: 258
inputStream -> String: 25
LEGACY end: 285
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 214
inputStream -> String: 96
LEGACY end: 312
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 272
inputStream -> String: 23
LEGACY end: 296
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 1
GET BODY getInputStream: 208
inputStream -> String: 77
LEGACY end: 287
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 266
inputStream -> String: 19
LEGACY end: 285
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 224
inputStream -> String: 92
LEGACY end: 317
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 257
inputStream -> String: 19
LEGACY end: 277
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 211
inputStream -> String: 90
LEGACY end: 302
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 251
inputStream -> String: 17
LEGACY end: 271
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 196
inputStream -> String: 93
LEGACY end: 292
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 253
inputStream -> String: 20
LEGACY end: 277
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 219
inputStream -> String: 87
LEGACY end: 310
========================
https://google.com
========
URL: 1
HttpURLConnection: 0
GET BODY getInputStream: 269
inputStream -> String: 19
LEGACY end: 292
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 218
inputStream -> String: 91
LEGACY end: 311
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 273
inputStream -> String: 19
LEGACY end: 295
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 212
inputStream -> String: 86
LEGACY end: 301
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 326
inputStream -> String: 24
LEGACY end: 352
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 231
inputStream -> String: 91
LEGACY end: 325
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 274
inputStream -> String: 20
LEGACY end: 295
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 207
inputStream -> String: 77
LEGACY end: 285
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 255
inputStream -> String: 21
LEGACY end: 277
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 271
inputStream -> String: 107
LEGACY end: 380
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 262
inputStream -> String: 17
LEGACY end: 280
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 232
inputStream -> String: 84
LEGACY end: 317
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 270
inputStream -> String: 22
LEGACY end: 293
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 359
inputStream -> String: 114
LEGACY end: 476
========================
https://google.com
========
URL: 0
HttpURLConnection: 1
GET BODY getInputStream: 268
inputStream -> String: 21
LEGACY end: 291
========================
https://www.bing.com
========
URL: 1
HttpURLConnection: 0
GET BODY getInputStream: 208
inputStream -> String: 86
LEGACY end: 296
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 247
inputStream -> String: 24
LEGACY end: 273
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 216
inputStream -> String: 123
LEGACY end: 342
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 251
inputStream -> String: 18
LEGACY end: 272
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 208
inputStream -> String: 95
LEGACY end: 306
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 269
inputStream -> String: 18
LEGACY end: 290
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 204
inputStream -> String: 95
LEGACY end: 302
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 244
inputStream -> String: 23
LEGACY end: 269
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 1
GET BODY getInputStream: 217
inputStream -> String: 100
LEGACY end: 319
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 265
inputStream -> String: 20
LEGACY end: 287
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 213
inputStream -> String: 106
LEGACY end: 322
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 257
inputStream -> String: 18
LEGACY end: 277
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 231
inputStream -> String: 81
LEGACY end: 313
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 273
inputStream -> String: 21
LEGACY end: 297
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 204
inputStream -> String: 78
LEGACY end: 285
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 408
inputStream -> String: 17
LEGACY end: 427
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 210
inputStream -> String: 97
LEGACY end: 308
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 285
inputStream -> String: 24
LEGACY end: 311
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 213
inputStream -> String: 88
LEGACY end: 303
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 272
inputStream -> String: 20
LEGACY end: 295
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 221
inputStream -> String: 87
LEGACY end: 311
========================
https://google.com
========
URL: 0
HttpURLConnection: 1
GET BODY getInputStream: 260
inputStream -> String: 27
LEGACY end: 290
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 211
inputStream -> String: 85
LEGACY end: 299
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 270
inputStream -> String: 17
LEGACY end: 289
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 212
inputStream -> String: 85
LEGACY end: 299
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 250
inputStream -> String: 23
LEGACY end: 275
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 216
inputStream -> String: 81
LEGACY end: 300
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 271
inputStream -> String: 19
LEGACY end: 291
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 210
inputStream -> String: 86
LEGACY end: 298
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 240
inputStream -> String: 21
LEGACY end: 264
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 1
GET BODY getInputStream: 202
inputStream -> String: 84
LEGACY end: 288
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 330
inputStream -> String: 19
LEGACY end: 350
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 222
inputStream -> String: 88
LEGACY end: 313
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 257
inputStream -> String: 25
LEGACY end: 286
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 219
inputStream -> String: 87
LEGACY end: 308
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 264
inputStream -> String: 19
LEGACY end: 285
========================
https://www.bing.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 208
inputStream -> String: 84
LEGACY end: 295
========================
https://google.com
========
URL: 0
HttpURLConnection: 0
GET BODY getInputStream: 252
inputStream -> String: 20
LEGACY end: 275
========================
ATTEMPTS: 100
NEW first site elapsed: 0.923s
NEW single site elapsed: 12.887s
NEW toggle sites elapsed: 23.576s
LEGACY first site elapsed: 0.373s
LEGACY single site elapsed: 29.188s
LEGACY toggle sites elapsed: 30.302s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment