Advertisement
Guest User

Untitled

a guest
Jul 15th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 17.99 KB | None | 0 0
  1. /*
  2.  * Copyright (c) 2014, Oracle America, Inc.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions are met:
  7.  *
  8.  *  * Redistributions of source code must retain the above copyright notice,
  9.  *    this list of conditions and the following disclaimer.
  10.  *
  11.  *  * Redistributions in binary form must reproduce the above copyright
  12.  *    notice, this list of conditions and the following disclaimer in the
  13.  *    documentation and/or other materials provided with the distribution.
  14.  *
  15.  *  * Neither the name of Oracle nor the names of its contributors may be used
  16.  *    to endorse or promote products derived from this software without
  17.  *    specific prior written permission.
  18.  *
  19.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  20.  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  21.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  22.  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
  23.  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  24.  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  25.  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  26.  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  27.  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  28.  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  29.  * THE POSSIBILITY OF SUCH DAMAGE.
  30.  */
  31.  
  32. package net.darkseraphim;
  33.  
  34. import java.util.concurrent.ThreadLocalRandom;
  35. import java.util.HashMap;
  36. import java.util.Map;
  37. import java.util.concurrent.TimeUnit;
  38. import org.openjdk.jmh.annotations.*;
  39. import org.openjdk.jmh.infra.Blackhole;
  40. import gnu.trove.map.TIntIntMap;
  41. import gnu.trove.map.hash.TIntIntHashMap;
  42. import java.util.TreeSet;
  43. import java.util.HashSet;
  44. import java.util.LinkedHashSet;
  45. import java.util.Collection;
  46. import java.util.ArrayList;
  47. import java.util.LinkedList;
  48. import java.util.Iterator;
  49. import java.util.function.Supplier;
  50. import java.util.List;
  51. import java.util.Arrays;
  52. import java.util.Set;
  53.  
  54. public class MyBenchmark {
  55.  
  56.    @org.openjdk.jmh.annotations.State(Scope.Benchmark)
  57.     public static class State {
  58.         public Set<String> strings = new HashSet<>(Arrays.asList("JsjIhye9VR",
  59. "CCc1YX429h",
  60. "uUBUGEnBvv",
  61. "vZQp8aAlRu",
  62. "qJcAswhzrf",
  63. "dRf3ekDhhB",
  64. "W83oAxW0YW",
  65. "Iewrvk7t6k",
  66. "bV5CWYH1XQ",
  67. "lN2JsznJdM",
  68. "6oqeAavKTz",
  69. "EwKlo4OYdQ",
  70. "RLiKrQODoV",
  71. "Dp3TWL0XMJ",
  72. "yFtyqOEV2j",
  73. "YLuTeHetC2",
  74. "0eWj9GrXvg",
  75. "MAytsP2K5d",
  76. "2AHyLmGxIa",
  77. "qHBjF30QSX",
  78. "QadvjFO40d",
  79. "tIisSF5wzc",
  80. "PMr3151ft1",
  81. "SLhpic6IGE",
  82. "3KgB1Q1zFV",
  83. "BvMmXdVS24",
  84. "51s3dSLtUC",
  85. "2CehjW7AH6",
  86. "ef5w6elicn",
  87. "1IidSMjkKo",
  88. "XabWIiFP5F",
  89. "aGp3wDrrHZ",
  90. "DVjvwBTZQB",
  91. "hmC9rFzmVf",
  92. "icyKzBuykg",
  93. "c2OBP1QaW4",
  94. "1HOvN5uYsl",
  95. "kd7WzIlRtP",
  96. "REvUHuyZ8u",
  97. "KCY0Yxx2VF",
  98. "pvcQamXVac",
  99. "cKSekqFCfy",
  100. "M0fMmLmFzn",
  101. "qvHBebXpUS",
  102. "7bH6w3rCh6",
  103. "aNviXnneaR",
  104. "s5qTvzFOEf",
  105. "U9qkcbu8FL",
  106. "H9jkh0Yygd",
  107. "bhNxGIe3b2",
  108. "2JBzVhUZxR",
  109. "Hwp3K8rbuT",
  110. "RHa9nS7Xfj",
  111. "RTmd5Yc3Dv",
  112. "uAgFnfKhrw",
  113. "9dKo4sQleD",
  114. "JF59He9aaH",
  115. "cR3ICUGMec",
  116. "JfLImJ79i4",
  117. "4UWSpmV7nJ",
  118. "oNGsiKRA7G",
  119. "EamLgbPLOm",
  120. "QXmIYpZpLa",
  121. "gIK872cidZ",
  122. "YV4OPhEbmB",
  123. "hzebh4Da7k",
  124. "4bBXhWbKvG",
  125. "Uk5sNLz5kw",
  126. "nvWCNUojgP",
  127. "Twc3Z3CZMU",
  128. "vWtmu9Qwig",
  129. "81ExMyGafE",
  130. "zkoNzH2XsI",
  131. "T7l5QopdRU",
  132. "FnhwllSvFA",
  133. "ZxOJNmRA3U",
  134. "doHTx2AS9T",
  135. "2zY2Qb6gKr",
  136. "RvI1egf9wk",
  137. "EKPjuH47G9",
  138. "9jGZ29RUld",
  139. "qaacz7sH5s",
  140. "YGgaS1auSd",
  141. "l0KfHDjgY9",
  142. "SwqsKk06XT",
  143. "KcCiChQ1au",
  144. "1lc3eJBqVa",
  145. "BAmOswIZZY",
  146. "Sebn5SoANz",
  147. "9RQxwXKfQf",
  148. "QshigNTvno",
  149. "4LfS797AaY",
  150. "Wn6RvP2hHQ",
  151. "BjJGgndoG3",
  152. "neJeLGa3TK",
  153. "Xia47VU84s",
  154. "x2mwX1VWlQ",
  155. "5cc1nla4w0",
  156. "jJQgH8TBrF",
  157. "OVJ1p1UFcF",
  158. "50rK2fKUC2",
  159. "faDnMR68j5",
  160. "8h7xKi9Ka3",
  161. "yWxhtHROeT",
  162. "6fmphds4Yr",
  163. "QGrYLvuzHQ",
  164. "AKJwZTKSy4",
  165. "67nDges0SS",
  166. "aoLLCCMwCN",
  167. "fa5yWwyeXL",
  168. "CdtvTYhtKN",
  169. "gHwy9EawEh",
  170. "Hjrphk83qe",
  171. "hcLiOqj7ET",
  172. "k6kRrX2Uta",
  173. "lTe22ZfA2t",
  174. "5KRGTxfeVC",
  175. "4kZziSiiwf",
  176. "nOrS1amYzA",
  177. "2EMZI6lGn6",
  178. "rbY0n8EVI9",
  179. "zljFcqZp11",
  180. "9YaiYcTOIF",
  181. "ChHzJHg5bE",
  182. "l7yyrtmKql",
  183. "00wNvW1K1g",
  184. "eyjcB8REsH",
  185. "GwzBXSDSpX",
  186. "NBfj46sZCH",
  187. "Arv9r6J9FZ",
  188. "dt3XOegOCR",
  189. "Dfb7L0Rlc2",
  190. "RcUF0Vafd1",
  191. "Lur0NdJaUg",
  192. "8o2RugUMXJ",
  193. "sk0DoaA2nh",
  194. "O5GeE1BO5q",
  195. "sfzchlKvz3",
  196. "JwmAkdzFvV",
  197. "vdcAcHe3Vx",
  198. "BjK0TKuOEh",
  199. "CwTXqjwgaH",
  200. "N2hrcWuXl2",
  201. "RE4hsxSdYO",
  202. "Uij00LfSrI",
  203. "HL72NoDlcO",
  204. "k8pwHAGmtt",
  205. "FgpRWBUKQm",
  206. "IuaRHwdg7Y",
  207. "C39g5nMRQR",
  208. "uK1CaE6D32",
  209. "kTdYn9UoX3",
  210. "Km1TpweZVM",
  211. "CgeJ2jC9jU",
  212. "wXAjlrJmwV",
  213. "qipCGfIKhX",
  214. "2FMqUU2pVj",
  215. "3v3j4vHqxl",
  216. "XwAlb6WCph",
  217. "HoqwYNmwpQ",
  218. "fvbmJYBQX2",
  219. "2feufLZl2d",
  220. "zqh7CEMoqV",
  221. "oUv3IBL7Lr",
  222. "UHV6qKu3VR",
  223. "62pKKLr9ET",
  224. "hoB0DjEhw4",
  225. "ibFE8oEhna",
  226. "o0dUnhWvnM",
  227. "pec3dW5wo4",
  228. "Q0SyZTjpBF",
  229. "OwNNXK0QcA",
  230. "uZBOK3I9yK",
  231. "65smc87xIX",
  232. "oDTxwonZY7",
  233. "J2QnD2eDEH",
  234. "uKI1YOSP6C",
  235. "CWGczPphJ0",
  236. "oGVs7P6am4",
  237. "8EyLzWLQzM",
  238. "0V6gCrMdLg",
  239. "Mmu5VzAAz1",
  240. "yMNFQD2ara",
  241. "Zeke9jYOwf",
  242. "RrNMVWBdJw",
  243. "HHPA3mUnnE",
  244. "wyloQn8gsE",
  245. "3pBxzoVv4d",
  246. "7GzSmeFQP9",
  247. "RigUhwjFPO",
  248. "qC3r6eEiM5",
  249. "MhPXurkPiR",
  250. "Tdhht9j5iy",
  251. "fme1CpHQGv",
  252. "70iAHsEcHT",
  253. "nqgz8f87jO",
  254. "c9S83VsZFd",
  255. "1pdAM6PbUY",
  256. "mq5J7I7Dgu",
  257. "95Jwqvrs8u",
  258. "31dqtyw3Jp",
  259. "NNPZ5EkoQa",
  260. "1Yrd6CE2Xy",
  261. "VYFvW30w0v",
  262. "szTG35ei7P",
  263. "QZqOTV7aWr",
  264. "Wj5YxMslKB",
  265. "hx5jEP5bd2",
  266. "y9XhJiQu2S",
  267. "uaInnm8fEt",
  268. "XMYf6Svbsy",
  269. "HrGC9CWoiC",
  270. "WL3iCw95Tc",
  271. "5AuUnDWLy4",
  272. "N7ROQav07I",
  273. "fxMiIUPwQ9",
  274. "PFMNHsZJpC",
  275. "QC4lhS31xU",
  276. "9UlvPLVCof",
  277. "AedD1p89Ry",
  278. "kCfC7VgUzk",
  279. "M8EIXI1RXb",
  280. "OGR75Z7BSe",
  281. "gycHzTTsOD",
  282. "gsJjQYlVb7",
  283. "DFzEHxnJko",
  284. "ht7lRLZ2Av",
  285. "DCuvrjakct",
  286. "uNhdPkhTt1",
  287. "Y9i7hQ9pFn",
  288. "nAzswiVvh9",
  289. "c8eH9vNi4K",
  290. "RNkvwTemJe",
  291. "CFBg0curVN",
  292. "whUuyn9SFi",
  293. "aqW8rJNIVW",
  294. "kA3s9UZwcW",
  295. "rWvP9WgDuu",
  296. "NrJdQeJaZ3",
  297. "f3swb6C5BX",
  298. "4ulo4Jco7j",
  299. "VBfGoI69CW",
  300. "YhiYlTcxjE",
  301. "4HSHyoE24w",
  302. "DuYsvx6Eth",
  303. "jgdcIKeAYg",
  304. "lkuiRwDj2l",
  305. "6fdGlibIlS",
  306. "XbPg2DVlpU",
  307. "eRGmgVC8VI",
  308. "mzhNrhelUl",
  309. "BAqSTC5BgM",
  310. "Bhh5gfCfO5",
  311. "rea1086eLr",
  312. "TzFDxWq5vj",
  313. "FzQdo5pDH0",
  314. "FYczy8mrgy",
  315. "E0Wh0nRzv0",
  316. "ZSiMtVxguu",
  317. "fAGHmDzSiC",
  318. "NxN73reLUO",
  319. "M4hczkaJsL",
  320. "srCKbB5RMW",
  321. "ZX0XD5pXX8",
  322. "LGrA0jpJto",
  323. "kXWqrXLqBM",
  324. "Xx6yOBY1n6",
  325. "jYcXLUJlBt",
  326. "Tz2TagE1dO",
  327. "Wa26rOWnSj",
  328. "0u20N7pue3",
  329. "p3Okj5wuTU",
  330. "swdhzM2kfm",
  331. "SFJG5oFl8Q",
  332. "iWQKZIXZr2",
  333. "yXi6PZbqV4",
  334. "1TZuxuTgVf",
  335. "97wzOIjlnt",
  336. "ReRDq2FCsj",
  337. "4lv1xAa2Ys",
  338. "wgvMwfIhvJ",
  339. "bX1K0JnXvp",
  340. "EgpzJniUNm",
  341. "429Z0L7BX3",
  342. "yWBdonXsrD",
  343. "l29O9zZNYV",
  344. "kkK4FWmkvH",
  345. "ix5BCvXdKs",
  346. "whmCf7ARBL",
  347. "2IPrNmAKcj",
  348. "KojIiJEtSt",
  349. "p12v8g9zIg",
  350. "eneHpIiLXs",
  351. "DohbtfoFGT",
  352. "dqoouGVFbZ",
  353. "gTf0AyvG8H",
  354. "aXYjCxuzpK",
  355. "NqhXagCBHv",
  356. "ipsulUomcf",
  357. "jer8hKMl7R",
  358. "Fexef1fiNO",
  359. "jr6iDhmlvN",
  360. "tasAAIkejA",
  361. "LN7esO0HAs",
  362. "TajSAbvECY",
  363. "ZUJ524b84a",
  364. "Qbg8DpFLRa",
  365. "Y6fKRl57zH",
  366. "19UGnhPENs",
  367. "qTP6plMExj",
  368. "X1mZrKVZKw",
  369. "0SKU5Ny2Zx",
  370. "w69wHjHUvy",
  371. "fyeM3N9g8P",
  372. "78QRO0UMjd",
  373. "jktursAHTe",
  374. "D4qcKNRCiI",
  375. "gPQ4xJe2og",
  376. "R8AczOmRX9",
  377. "xDatZ1PxCO",
  378. "NXbDtyoFrS",
  379. "c0GxRfavP5",
  380. "PHqSmc0phC",
  381. "kPHOTCrwCq",
  382. "u6NfAW1M9D",
  383. "vaCPZUi0iP",
  384. "MnIBVKKwhd",
  385. "747uuc9qzx",
  386. "ur0aEwpvY8",
  387. "Jz9iwqHt4D",
  388. "VB6rmOCWum",
  389. "q9mgccWXLB",
  390. "XLzqKrtv7m",
  391. "VBQM6KNxGM",
  392. "9Fjumo95E9",
  393. "0C8uRBFVVz",
  394. "Wvcxv0lzqp",
  395. "6cYriGeaVV",
  396. "XlrKlZJvFE",
  397. "Li05Av5Y36",
  398. "62XjT76nQI",
  399. "SlegtaKpvR",
  400. "m4aV5fXzwn",
  401. "RoXjwIjucY",
  402. "YwJdsejU28",
  403. "dYBF9RM2St",
  404. "2qqBY04Aqy",
  405. "POJcY0TdVA",
  406. "nsxeFuQXE7",
  407. "ZEIDEXCRc2",
  408. "7DdBvpEnjP",
  409. "ndVFo6iV1R",
  410. "ASob2I0Eos",
  411. "QPXZ8si4Yu",
  412. "kUWPNjqsoF",
  413. "95Ed0QJWtw",
  414. "EvrhnGQSPl",
  415. "oygiIYkX9D",
  416. "WpzOhhnQ1D",
  417. "Mvud0qgL5X",
  418. "alRq2InEgP",
  419. "i7RxZTdXJw",
  420. "HhujK8g13t",
  421. "3ZQlngcYzw",
  422. "bvBKFhbGfN",
  423. "8K6dgDSQQz",
  424. "DdQPoWPTEC",
  425. "3dvlOyvLNm",
  426. "MnFDuLFLQB",
  427. "HkMAz55m7F",
  428. "1mIr6ydwhR",
  429. "tBy7yVL8UR",
  430. "nSv4C3ns8b",
  431. "oufFqIprHD",
  432. "kYiDhBtfwr",
  433. "sDf2D9CUSK",
  434. "jKuDsZv7Ef",
  435. "jSELXySrxt",
  436. "lKcUDK3dKt",
  437. "PaLjRV1MUz",
  438. "BibiruOzey",
  439. "TjczFc70iv",
  440. "9wlXfK67ac",
  441. "2UeaZ1MDdP",
  442. "Iw1CfnZeYY",
  443. "3Hf8RbmXTO",
  444. "NlgdopiN8u",
  445. "g1r4qS6pLb",
  446. "86wzcUhBzZ",
  447. "ktnYzvG3pR",
  448. "X6bXXGaCoh",
  449. "515pHulb4b",
  450. "0RHTiOLrsv",
  451. "3ebmgTwoHU",
  452. "qITiNsTG4A",
  453. "AXnmkBYNI1",
  454. "L2UAeMYZX3",
  455. "xeGpAbxHgf",
  456. "gEgswTlP5q",
  457. "fSUNGlLyhe",
  458. "fDLIxYcMzJ",
  459. "lf5GicNBKG",
  460. "3PQ0H5DiVH",
  461. "vGf3gLMUfl",
  462. "cMMjp1RDQv",
  463. "42Z2iDik6p",
  464. "Ko8H7PJGg9",
  465. "wGtCaYSo5g",
  466. "4L9eRVxaav",
  467. "Q3oaPCZIdx",
  468. "Mnf3xW7qdM",
  469. "HiAlXh1nYG",
  470. "QCUqeGEgSF",
  471. "ntqX0nq4P2",
  472. "FLjCtLbQ1D",
  473. "hjrLVH7hq4",
  474. "C8lXHcx4WV",
  475. "c5EH9RkLCo",
  476. "WBrrjpBczV",
  477. "hQggadWwuq",
  478. "Dt2aCyWBgm",
  479. "P7oePDkz04",
  480. "0bY6MTM7ei",
  481. "Sht32dAz6a",
  482. "NT4CGl4SMg",
  483. "Z47gbIPey8",
  484. "5q1UnsrWZf",
  485. "6sC4ez31GO",
  486. "rhbXgWRRoW",
  487. "oVIEK2fYN2",
  488. "bMuDrCQor0",
  489. "xJ1E891nd6",
  490. "TrOuNwcsi4",
  491. "CQqYw5ONem",
  492. "vzX27y3YGO",
  493. "Jy35gSyy5U",
  494. "oVOp0Pk4Fa",
  495. "m3VOwQcgeF",
  496. "1BeBZy2aCi",
  497. "Ibd5NL7DVu",
  498. "lLFIZSfWcp",
  499. "qremPApxHb",
  500. "YuWdzl0Jus",
  501. "AgB9WK5Rjn",
  502. "WMDptD1nGb",
  503. "alW63vVXOm",
  504. "LflK51x9qZ",
  505. "yz7ITPxUvc",
  506. "QvsNFphs4b",
  507. "zI5YzbRrVN",
  508. "KaZyWaoD3i",
  509. "odgGeEKk1x",
  510. "erkXLBoOPF",
  511. "7ZXeBmUURC",
  512. "5Fm1QRGy3k",
  513. "hs9EFcQeNM",
  514. "j5g7uzBEZN",
  515. "KazPRruzKs",
  516. "6zLC3czdsI",
  517. "vnPZHsHYhJ",
  518. "2CvcjyTbi0",
  519. "CiSN86sVi4",
  520. "FTeWmiFQa6",
  521. "uZJ2qGAhiB",
  522. "6dxkRaMDfP",
  523. "6JlTpmB8v6",
  524. "BGVOCrD9MH",
  525. "Y0AMINVbX1",
  526. "6AtEkO6QFz",
  527. "2pNGYVK9s5",
  528. "eUsjdqrF35",
  529. "yMbYRh5TJ1",
  530. "LzAdKddHDB",
  531. "ipHw2XQjvd",
  532. "mi7NvwKZYi",
  533. "NFN9gaFLD8",
  534. "maLU8nchmV",
  535. "hrcRMh5GFj",
  536. "PGgUpq9byC",
  537. "pytKAATQVz",
  538. "bpO61jTcfS",
  539. "FhVORYA6A9",
  540. "8IYbabExQK",
  541. "chPSUBVKNs",
  542. "PEf0zZE1nH",
  543. "RH7hRl2S5o",
  544. "I3iwUbwTHk",
  545. "cKhWfvwR5j",
  546. "Ca9qztdwAp",
  547. "AobpoJh2M9",
  548. "Hc9q4lvdd9",
  549. "VM5BXEfLVr",
  550. "0xCXxpFryG",
  551. "KL2Ta6NiKg",
  552. "WZRkCb3x0u",
  553. "eOogq2tyPP",
  554. "RFWr7jBM5V",
  555. "u0JYhXNPhn",
  556. "44P5u6bzr3",
  557. "oElii1luHq",
  558. "GAZcE4zdmD",
  559. "gkQc5AxdzM",
  560. "9VARWfthpD",
  561. "h1HcZFhlQm",
  562. "sddDlDde45",
  563. "IRDHvRtvww",
  564. "HZxlhqDn8o",
  565. "FXIodbb2lj",
  566. "ND8dBZUUjv",
  567. "g12rYHcqJ4",
  568. "5OpEXUy653",
  569. "Ht6F7ns8KZ",
  570. "aBtFzPojV2",
  571. "i146rDnWrQ",
  572. "uGSfFVgPav",
  573. "dnReMlJ44g",
  574. "s1hUpEcY18",
  575. "byrt70pAWR",
  576. "fV4xckhupY",
  577. "V7V3FGyAOD",
  578. "XcFu1ITnQY",
  579. "BLG7PWYk5o",
  580. "YxtRyDtgsJ",
  581. "c2m0LQeWBM",
  582. "JK2cwWuc2w",
  583. "yl6bbiBLkG",
  584. "wtpxxNwSyG",
  585. "09ZEgOWy6c",
  586. "gi01wdo0fx",
  587. "BkjHiqgWNV",
  588. "eVvav7rJNU",
  589. "hpccgLGy5E",
  590. "vo8SbYIXu2",
  591. "c8WwLVDyLI",
  592. "VMz9zboVvE",
  593. "feix4QnVaw",
  594. "BzEIVf72TZ",
  595. "P6k3m5U6vq",
  596. "yhO9IT1EdR",
  597. "qGyTBCVEI7",
  598. "CNRuQN1qHJ",
  599. "Uf7Mu3eTlH",
  600. "pwcVqVjXLl",
  601. "4Q6viPhJti",
  602. "zIlkzf6VaC",
  603. "uxo4k7F0yf",
  604. "reLzEeHSPG",
  605. "8M52Rj0TdI",
  606. "c33LoCqGid",
  607. "NI1OGtn66W",
  608. "BnfcGkqbCW",
  609. "O07Ncum6NR",
  610. "5BwTAgH7I3",
  611. "TJ48NqcB89",
  612. "sWqgv51afV",
  613. "o6JYKluMKH",
  614. "p9UDw7uau6",
  615. "OfOUUQjsyg",
  616. "ksrnFrgt1y",
  617. "lDcMbfnu80",
  618. "ecSzt15jX2",
  619. "ac6bgjOqg6",
  620. "fdWHafgteL",
  621. "A2abY75tVh",
  622. "O3GhfJDha2",
  623. "iPk35b3OYM",
  624. "85c1DaadM4",
  625. "St2dVn36Ee",
  626. "mYo4LFpIDP",
  627. "I58fOpKTrD",
  628. "espwjF1fFB",
  629. "S6QwS5MqIq",
  630. "1qgCJD69aZ",
  631. "x2w9KwmU5L",
  632. "LLgogmgbck",
  633. "3ZnSyytH1K",
  634. "VZ2CkS2v5X",
  635. "JNeJSM8GkN",
  636. "Y9QCAJRvpw",
  637. "cXeZchyecG",
  638. "S49DD4FoFv",
  639. "uArnEbXfYD",
  640. "1WtWrG9pFv",
  641. "1JOrPZYVWF",
  642. "pZUnmOUjmd",
  643. "B1OowlUYoa",
  644. "iYG6LRxEW7",
  645. "uW4pE8ZdKq",
  646. "P9G7l8tjBk",
  647. "sTDuIMyV6b",
  648. "wTsr8JP6Ii",
  649. "zs5aUSNgmZ",
  650. "L0Zw4lWzUH",
  651. "I3Rk5k5t0v",
  652. "APJk7fOokY",
  653. "T5zkd0pAjx",
  654. "OUKosqnzuQ",
  655. "lO0QqPe35I",
  656. "bPUZWKFzTh",
  657. "kZq3fOn7PQ",
  658. "YOhr0oK6Hn",
  659. "ErB4gFBVqh",
  660. "OwIBpRWlim",
  661. "ojFfALAkzt",
  662. "2LAYvDTojY",
  663. "irQT1Qivex",
  664. "586US2IlhL",
  665. "qs57AfjDoe",
  666. "bA7JCbtUn2",
  667. "C98SUxWtUE",
  668. "1yjR5wOVeB",
  669. "xo6GEwpnhy",
  670. "gs2zSsAjRJ",
  671. "RqK7tzH9I5",
  672. "wLrizvQOaT",
  673. "jizE9mYd7u",
  674. "PZAn76cyQo",
  675. "ZvQ6u3plnf",
  676. "NXS6e9TK7q",
  677. "4DTukZbPLs",
  678. "8DVnb2KM9z",
  679. "Q4aPcfwQyy",
  680. "RwG98VROVQ",
  681. "rhJUZr4xmE",
  682. "63UMTwVcvv",
  683. "U5xXVv5mYo",
  684. "oRSgKBZ5ap",
  685. "jotuGKYXhq",
  686. "28zhxBzFbH",
  687. "yGXdeQRbXY",
  688. "Y6sHFkEGfO",
  689. "hcQ9nzlDbU",
  690. "fwsuz8lSJ4",
  691. "qI1FRTKBFB",
  692. "3R3Rv3gsqy",
  693. "EgfHC6Gk4v",
  694. "3HRov49VBv",
  695. "s9FVTkE40x",
  696. "vsMIQ9emvH",
  697. "jxeyIg7afc",
  698. "U7siP45nmx",
  699. "fR9dEjQdwu",
  700. "SG4LeX2Vus",
  701. "A7SZC25dhs",
  702. "37eFWCM5Me",
  703. "CYJNml55fI",
  704. "4bpSQC4wjS",
  705. "R8CijADMf9",
  706. "qjG3LDF2KP",
  707. "XxqQLMAB3V",
  708. "kwKMrxSKoz",
  709. "HTABRNEOLa",
  710. "t7SWd5APxd",
  711. "tQZGmtNiva",
  712. "2YMEN51QsP",
  713. "I1GkekStLh",
  714. "24rr04l2Xd",
  715. "yszUXwkDqU",
  716. "U0hPlHZ3dn",
  717. "htBmfnrlfX",
  718. "H6hHW6TBPS",
  719. "QM2AI4LA8J",
  720. "hQNH3SNjbN",
  721. "oAWaWs500x",
  722. "l49RaxCynO",
  723. "LoRzBDkB1z",
  724. "l0izWfMQAD",
  725. "RWEOiuKkxX",
  726. "X7B6nZavdO",
  727. "g4qhyTDQ9s",
  728. "QyuMQxUmpv",
  729. "bkUfF2co8F",
  730. "bPDQp9slgV",
  731. "KJxxOkiFPs",
  732. "UdzDTbQYHa",
  733. "9VikWNwmdx",
  734. "ZH4STkuMGj",
  735. "amnZKy2qIV",
  736. "R48nPgOxdj",
  737. "Z4xWIFjPtn",
  738. "fvKGszuHDs",
  739. "cybqvfM5kk",
  740. "EFEp76jAoe",
  741. "f1NgXtnUp4",
  742. "wxOCzNkhxk",
  743. "Ug5TZ7UpOI",
  744. "8MNRAb7P8g",
  745. "RtH4o0H0xJ",
  746. "obpXL7B17C",
  747. "teUSD1K7sp",
  748. "P4V40NHStA",
  749. "oKfRlBNKnH",
  750. "6PdmIcRVja",
  751. "6DQe0wDYnM",
  752. "cBFQzh2A9b",
  753. "mt5yeas6QE",
  754. "gZjhKPqfJX",
  755. "vtMiYV91sk",
  756. "vHTjqEKZUM",
  757. "t1zTFOggjs",
  758. "Bmn8VkZd9I",
  759. "ye0vfyLxSX",
  760. "Ych8Q092Nu",
  761. "cHTw1jMXtz",
  762. "dJigZcNAKA",
  763. "y0gqpBux9q",
  764. "xB1ZEhna65",
  765. "FL4oPaDRnn",
  766. "bHsxkfZbW1",
  767. "1Osp5qtKWW",
  768. "Z9EsUNxNBi",
  769. "d91z5H9eq7",
  770. "mxMqEvM9KE",
  771. "43lYwDa1na",
  772. "jfpVR2YAAu",
  773. "HQIkVp7CUk",
  774. "YZ086hx2UP",
  775. "KuQJRt5uTJ",
  776. "IPlXpHCjZb",
  777. "PkMQjxJeXY",
  778. "ZGTY6DZxZY",
  779. "3MD46Ixlo5",
  780. "Ic1rhx8mhI",
  781. "YKpIT5LfPL",
  782. "Xh1hp2vpgL",
  783. "wksGriT7sJ",
  784. "jaQSX9qNif",
  785. "aeiqGalTMD",
  786. "zMA6MG845h",
  787. "gVx9N8PuEI",
  788. "k5BOv1c5VQ",
  789. "Vo5zswavPn",
  790. "ZP0ZBJX2GE",
  791. "n7jwgSYezP",
  792. "BQMYtBkrpf",
  793. "lFURLRWpBs",
  794. "dTebCIMJKe",
  795. "P5akR0pgyI",
  796. "2m8VMSig8T",
  797. "d6kzlfwDvA",
  798. "dkQttR8ewX",
  799. "2wsXmiH2fV",
  800. "4I4OfNvGs4",
  801. "yq5DevMOMj",
  802. "4yhNGSB4uO",
  803. "La3dv0uRRk",
  804. "HkU8OhuHqs",
  805. "RwANA3IV1r",
  806. "9Vk0xIzoCv",
  807. "Xojd8zITob",
  808. "88jI7RvFPm",
  809. "a7iXY4vyLu",
  810. "w2hk1xX0ZP",
  811. "Rqpg6GjKDz",
  812. "zVoEVKpYCh",
  813. "j9cYmWEboh",
  814. "QcwgdOsF95",
  815. "sH2i9uVrYi",
  816. "WcHZdmJD39",
  817. "miukOqN3jk",
  818. "encIyQXOuc",
  819. "sVvOfxmedI",
  820. "hoE1n6ZvnY",
  821. "Wb4WrVx5QX",
  822. "s0xpVfSfPW",
  823. "Ol6w3Wz2Oq",
  824. "KH8doe9Svy",
  825. "rMqVvLfwZY",
  826. "8HMqdvMWxY",
  827. "Vs9SXlU6wD",
  828. "jyWOA10H70",
  829. "TvLi619bUW",
  830. "BkJMWM8G8N",
  831. "RVVPanoWq7",
  832. "hawGjX10HN",
  833. "Af6VCN2SM9",
  834. "vU39VdThFm",
  835. "zDC30yvFEb",
  836. "L42JKLNSu1",
  837. "PPlQ1WdUWK",
  838. "fG3HNwQzYF",
  839. "kDp5RN8v27",
  840. "s1iqFcvYNr",
  841. "ZfMZYAV3HY",
  842. "rOcAW4z9Zv",
  843. "uamihBI41z",
  844. "1sRuODn75E",
  845. "gsT1GzJenZ",
  846. "bZ8xlfWilv",
  847. "0wNCEkFYPB",
  848. "U3x8U4Kh5R",
  849. "G6Glw6BaLc",
  850. "3IZj4jji0O",
  851. "V6Ks5A8ULW",
  852. "LIAhUfcVBU",
  853. "5Jvs9ZfTi4",
  854. "PdpxzxnUqL",
  855. "8fnMT2oQ4z",
  856. "45gwsx5fmb",
  857. "9dfWkJ28oD",
  858. "HqaSsDe5P9",
  859. "zhxqJMiiiP",
  860. "UfG7rbi38T",
  861. "M3UzkRDnd9",
  862. "1QOpYu0fE7",
  863. "O9Em0DT7J1",
  864. "YiBxt4dMMY",
  865. "VT3XdgxhQv",
  866. "Vg8qaju1S0",
  867. "lwPMraOxZH",
  868. "WJoCyQrNrD",
  869. "g3UhWGliuc",
  870. "wLBFaP1ulo",
  871. "t5ZzsASjKS",
  872. "CQdwHKG8Cx",
  873. "NRVsMvGuCN",
  874. "hohW9snnH9",
  875. "8w46nokZec",
  876. "xgiJJ6SpK3",
  877. "4ZIY6dA8ea",
  878. "rfJQIdF7E1",
  879. "eKbSXWI5rr",
  880. "pdqWS5RxHr",
  881. "LOvHsWBMqu",
  882. "N1Catvr1cI",
  883. "wi3p9aPAqU",
  884. "99g6Rk3ZTi",
  885. "Kr7YeAE1S6",
  886. "9hWnFVHPpL",
  887. "gbUJwdU4Uy",
  888. "z94EvazRGt",
  889. "a5zxLzBi1P",
  890. "n6YtuOXNbP",
  891. "TSRsCJ8Z11",
  892. "13wDF5d9rw",
  893. "685nYEE9t1",
  894. "VLkR4yP6QH",
  895. "0PmXrd7h6A",
  896. "glhy1c3BWv",
  897. "feO0tLjSR6",
  898. "GEirNJ5oPU",
  899. "LF3l0S1bZB",
  900. "25wnY33j8b",
  901. "OZ0tR48yoF",
  902. "PZ3jRaNFqa",
  903. "rrDpw9bKvF",
  904. "Q31rkSyr1H",
  905. "W5KoL8kYGS",
  906. "fiRGwKDSut",
  907. "b5qBsCfFvQ",
  908. "BQsexJsC0Y",
  909. "EQPITCqmgy",
  910. "h8G81wi2qc",
  911. "Q47lccuiig",
  912. "2ZnGkWKP7y",
  913. "cLbsB8f6f5",
  914. "Em5ycizmsH",
  915. "XFNyYTOGPP",
  916. "SqXZoOGUBX",
  917. "xG8UNDDwzQ",
  918. "NQvgA4bq5x",
  919. "O79qEDnu6r",
  920. "PwgppoVbKO",
  921. "MtT43OSiLG",
  922. "j70SqQDMhy",
  923. "RbowVXFFIk",
  924. "V4hUNPZHka",
  925. "J8BAc7En9p",
  926. "PKOvXCJZHB",
  927. "TBZqKZB3vR",
  928. "grYDyUkpQw",
  929. "IBZXKVTTML",
  930. "ruzrkl4HV6",
  931. "0MvxgSczlt",
  932. "HRVrpDuNjW",
  933. "CsQNEX2Jcy",
  934. "WYukKhAZAX",
  935. "N8DbJUaEja",
  936. "lsYQxGD25o",
  937. "9D0Inrxp6R",
  938. "8JIiW2BPuY",
  939. "ef4kmg6O80",
  940. "xzGUs7KnRS",
  941. "ssH1DgeETS",
  942. "Wk4CJU8tJm",
  943. "YZf2qJwHqD",
  944. "NdTFLaoyUh",
  945. "ZJeaiCaD0o",
  946. "rRmmMO6YDH",
  947. "WHqtcoVFFt",
  948. "ocDbiWtd6t",
  949. "oCp7BMoKzW",
  950. "n0V87Kx6YU",
  951. "cR0aq9J595",
  952. "iC4txwk860",
  953. "xrTYjKsBfC",
  954. "0MZWnqn541",
  955. "GUlzjLNYRd",
  956. "32yXviIbHF",
  957. "NROLtPn06P",
  958. "kwWUnwwsxE",
  959. "kB8YXsH1DK",
  960. "b4ZEQ39ujS",
  961. "x9SYx9N7ah",
  962. "WarLSZoYHU",
  963. "5QDjChcVGn",
  964. "NB2E5Jg1up",
  965. "KRK21mSs9g",
  966. "1eQQCrWofW",
  967. "AvI4Gyy59T",
  968. "ga4v4hmN8R",
  969. "Ha6k4koBSz",
  970. "Zb161c1k35",
  971. "ttAFXWMCI3",
  972. "Lb5ENA1YUW",
  973. "tJkSrC05Lz",
  974. "IjjZXelJLe",
  975. "K4leyOlAGV",
  976. "Tnz9AcufUw",
  977. "yAB99kia5I",
  978. "kxbTQBcslq",
  979. "oH5x5YNSqJ",
  980. "TAoUbOJ0I7",
  981. "OaVuoOdGQe",
  982. "zV3En25YIh",
  983. "XKDBu9u8Dk",
  984. "RxpbUuFNzZ",
  985. "vQG3QzrJOf",
  986. "iYqqKucEAx",
  987. "5Roe1SHJhU",
  988. "5EDKAF5Tnp",
  989. "lQOkxxFhfC",
  990. "BZR3VF7m8U",
  991. "5sDinGds8x",
  992. "KZ02UkQtkV",
  993. "HnejqQQ4YH",
  994. "Ka644WJgaY",
  995. "rCUptLoztC",
  996. "woJgDE3VAO",
  997. "rKJotnwBtr",
  998. "vOE6mFPZYm",
  999. "cLpsZPNyzY",
  1000. "k1vd0cMNyz",
  1001. "c63GHhE1T8",
  1002. "6CaAbZQH7q",
  1003. "Aprc3acQSz",
  1004. "PdVA6jeX5e",
  1005. "9GHZriP6uT",
  1006. "xLlItPhcM5",
  1007. "yhU5iM5zrP",
  1008. "orMDZ9SEo0",
  1009. "YQB3d2O8bZ",
  1010. "XEDsKU3q6K",
  1011. "GoaCfRlrkf",
  1012. "88lpTYqk0p",
  1013. "iva8Kl9yhH",
  1014. "zK8CzCUmRS",
  1015. "FvPlYqNUtf",
  1016. "EbDUsv6umv",
  1017. "vDLGofyxhT",
  1018. "gl1GoDn7NK",
  1019. "HpFvVWao4k",
  1020. "gYjpS3juDn",
  1021. "wK8dNyeEc2",
  1022. "TxJR0RGQqn",
  1023. "SLuvirPEds",
  1024. "STY8y42SRH",
  1025. "7vAn2kLtpG",
  1026. "QusQcBcePv",
  1027. "a9S7FVsFxX",
  1028. "wZ0f8MfYKa",
  1029. "4B0QBU0eJ8",
  1030. "dzwGuoSKs6",
  1031. "tMdcS8VSEk",
  1032. "TqzOxKhrgd",
  1033. "PUC5CSQe90",
  1034. "B27yGH5uvh",
  1035. "FwDZT5UFHm",
  1036. "ltguNv9Hka",
  1037. "5STgh2ivg6",
  1038. "kH41vTnj3p",
  1039. "9TTT14mTCD",
  1040. "Wm00u84ZKj",
  1041. "q8Z5EYc6vr",
  1042. "NO3tjauw2V",
  1043. "iAYpVacIup",
  1044. "ScpEoWWxse",
  1045. "QjWEAyhY7N",
  1046. "6tnyucbtuR",
  1047. "DbIWgGmsxx",
  1048. "TVU8d0gL3P",
  1049. "BbUqY0EhwC",
  1050. "1pPTjqJyu6",
  1051. "AMdg1QoRhP",
  1052. "1kceWCQntr",
  1053. "QnVABiUuU2",
  1054. "XhxFE5ox9R",
  1055. "DOQscV6edX",
  1056. "HAkaHLxHFS",
  1057. "WZd5Cvz4q9"));
  1058.     }
  1059.  
  1060.     @org.openjdk.jmh.annotations.State(Scope.Benchmark)
  1061.     public static class State2 extends State {
  1062.       public State2() {
  1063.         this.strings = new LinkedHashSet<>(this.strings);
  1064.       }
  1065.     }
  1066.  
  1067.  
  1068.     @Benchmark
  1069.     @BenchmarkMode(Mode.Throughput)
  1070.     @OutputTimeUnit(TimeUnit.MILLISECONDS)
  1071.     public void testSetIteration(State state, Blackhole bh) {
  1072.       for (String s : state.strings) {
  1073.         bh.consume(s);
  1074.       }
  1075.     }
  1076.  
  1077.     //@Benchmark
  1078.     //@BenchmarkMode(Mode.Throughput)
  1079.     //@OutputTimeUnit(TimeUnit.MILLISECONDS)
  1080.     //public void testListForI(State state, Blackhole bh) {
  1081.     //  for (int i = 0; i < 1000; i++) {
  1082.     //    bh.consume(state.strings.get(i));
  1083.     //  }
  1084.     //}
  1085.  
  1086.     @Benchmark
  1087.     @BenchmarkMode(Mode.Throughput)
  1088.     @OutputTimeUnit(TimeUnit.MILLISECONDS)
  1089.     public void testLinkedSetIteration(State2 state, Blackhole bh) {
  1090.       for (String s : state.strings) {
  1091.         bh.consume(s);
  1092.       }
  1093.     }
  1094. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement