diff options
author | Mathieu Chartier <mathieuc@google.com> | 2016-10-10 13:31:30 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2016-10-10 13:58:47 -0700 |
commit | e70784b5f86e28da09475d1d7c7d991d59ec8373 (patch) | |
tree | 2401f2b065f078a7aa74d148fbb21ae89c69c123 /benchmarks | |
parent | ebe73bd26534727a6f7a2acc47af426b02240517 (diff) |
Add object clone benchmark
Bug: 32012820
Test: vogar --benchmark libcore/benchmarks/src/benchmarks/CloneBenchmark.java
Change-Id: Icc5d4a758cb4f4e1686389bb0cb74ac08e554f04
Diffstat (limited to 'benchmarks')
-rw-r--r-- | benchmarks/src/benchmarks/CloneBenchmark.java | 1071 |
1 files changed, 1071 insertions, 0 deletions
diff --git a/benchmarks/src/benchmarks/CloneBenchmark.java b/benchmarks/src/benchmarks/CloneBenchmark.java new file mode 100644 index 0000000000..d05fb3d906 --- /dev/null +++ b/benchmarks/src/benchmarks/CloneBenchmark.java @@ -0,0 +1,1071 @@ +/* + * Copyright (C) 2016 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; + +public class CloneBenchmark { + static class CloneableObject implements Cloneable { + public Object clone() throws CloneNotSupportedException { + return super.clone(); + } + } + + static class CloneableManyFieldObject implements Cloneable { + public Object clone() throws CloneNotSupportedException { + return super.clone(); + } + + Object o1 = new Object(); + Object o2 = new Object(); + Object o3 = new Object(); + Object o4 = new Object(); + Object o5 = new Object(); + Object o6 = new Object(); + Object o7 = new Object(); + Object o8 = new Object(); + Object o9 = new Object(); + Object o10 = new Object(); + Object o11 = new Object(); + Object o12 = new Object(); + Object o13 = new Object(); + Object o14 = new Object(); + Object o15 = new Object(); + Object o16 = new Object(); + Object o17 = new Object(); + Object o18 = new Object(); + Object o19 = new Object(); + Object o20 = new Object(); + Object o21 = new Object(); + Object o22 = new Object(); + Object o23 = new Object(); + Object o24 = new Object(); + Object o25 = new Object(); + Object o26 = new Object(); + Object o27 = new Object(); + Object o28 = new Object(); + Object o29 = new Object(); + Object o30 = new Object(); + Object o31 = new Object(); + Object o32 = new Object(); + Object o33 = new Object(); + Object o34 = new Object(); + Object o35 = new Object(); + Object o36 = new Object(); + Object o37 = new Object(); + Object o38 = new Object(); + Object o39 = new Object(); + Object o40 = new Object(); + Object o41 = new Object(); + Object o42 = new Object(); + Object o43 = new Object(); + Object o44 = new Object(); + Object o45 = new Object(); + Object o46 = new Object(); + Object o47 = new Object(); + Object o48 = new Object(); + Object o49 = new Object(); + Object o50 = new Object(); + Object o51 = new Object(); + Object o52 = new Object(); + Object o53 = new Object(); + Object o54 = new Object(); + Object o55 = new Object(); + Object o56 = new Object(); + Object o57 = new Object(); + Object o58 = new Object(); + Object o59 = new Object(); + Object o60 = new Object(); + Object o61 = new Object(); + Object o62 = new Object(); + Object o63 = new Object(); + Object o64 = new Object(); + Object o65 = new Object(); + Object o66 = new Object(); + Object o67 = new Object(); + Object o68 = new Object(); + Object o69 = new Object(); + Object o70 = new Object(); + Object o71 = new Object(); + Object o72 = new Object(); + Object o73 = new Object(); + Object o74 = new Object(); + Object o75 = new Object(); + Object o76 = new Object(); + Object o77 = new Object(); + Object o78 = new Object(); + Object o79 = new Object(); + Object o80 = new Object(); + Object o81 = new Object(); + Object o82 = new Object(); + Object o83 = new Object(); + Object o84 = new Object(); + Object o85 = new Object(); + Object o86 = new Object(); + Object o87 = new Object(); + Object o88 = new Object(); + Object o89 = new Object(); + Object o90 = new Object(); + Object o91 = new Object(); + Object o92 = new Object(); + Object o93 = new Object(); + Object o94 = new Object(); + Object o95 = new Object(); + Object o96 = new Object(); + Object o97 = new Object(); + Object o98 = new Object(); + Object o99 = new Object(); + Object o100 = new Object(); + Object o101 = new Object(); + Object o102 = new Object(); + Object o103 = new Object(); + Object o104 = new Object(); + Object o105 = new Object(); + Object o106 = new Object(); + Object o107 = new Object(); + Object o108 = new Object(); + Object o109 = new Object(); + Object o110 = new Object(); + Object o111 = new Object(); + Object o112 = new Object(); + Object o113 = new Object(); + Object o114 = new Object(); + Object o115 = new Object(); + Object o116 = new Object(); + Object o117 = new Object(); + Object o118 = new Object(); + Object o119 = new Object(); + Object o120 = new Object(); + Object o121 = new Object(); + Object o122 = new Object(); + Object o123 = new Object(); + Object o124 = new Object(); + Object o125 = new Object(); + Object o126 = new Object(); + Object o127 = new Object(); + Object o128 = new Object(); + Object o129 = new Object(); + Object o130 = new Object(); + Object o131 = new Object(); + Object o132 = new Object(); + Object o133 = new Object(); + Object o134 = new Object(); + Object o135 = new Object(); + Object o136 = new Object(); + Object o137 = new Object(); + Object o138 = new Object(); + Object o139 = new Object(); + Object o140 = new Object(); + Object o141 = new Object(); + Object o142 = new Object(); + Object o143 = new Object(); + Object o144 = new Object(); + Object o145 = new Object(); + Object o146 = new Object(); + Object o147 = new Object(); + Object o148 = new Object(); + Object o149 = new Object(); + Object o150 = new Object(); + Object o151 = new Object(); + Object o152 = new Object(); + Object o153 = new Object(); + Object o154 = new Object(); + Object o155 = new Object(); + Object o156 = new Object(); + Object o157 = new Object(); + Object o158 = new Object(); + Object o159 = new Object(); + Object o160 = new Object(); + Object o161 = new Object(); + Object o162 = new Object(); + Object o163 = new Object(); + Object o164 = new Object(); + Object o165 = new Object(); + Object o166 = new Object(); + Object o167 = new Object(); + Object o168 = new Object(); + Object o169 = new Object(); + Object o170 = new Object(); + Object o171 = new Object(); + Object o172 = new Object(); + Object o173 = new Object(); + Object o174 = new Object(); + Object o175 = new Object(); + Object o176 = new Object(); + Object o177 = new Object(); + Object o178 = new Object(); + Object o179 = new Object(); + Object o180 = new Object(); + Object o181 = new Object(); + Object o182 = new Object(); + Object o183 = new Object(); + Object o184 = new Object(); + Object o185 = new Object(); + Object o186 = new Object(); + Object o187 = new Object(); + Object o188 = new Object(); + Object o189 = new Object(); + Object o190 = new Object(); + Object o191 = new Object(); + Object o192 = new Object(); + Object o193 = new Object(); + Object o194 = new Object(); + Object o195 = new Object(); + Object o196 = new Object(); + Object o197 = new Object(); + Object o198 = new Object(); + Object o199 = new Object(); + Object o200 = new Object(); + Object o201 = new Object(); + Object o202 = new Object(); + Object o203 = new Object(); + Object o204 = new Object(); + Object o205 = new Object(); + Object o206 = new Object(); + Object o207 = new Object(); + Object o208 = new Object(); + Object o209 = new Object(); + Object o210 = new Object(); + Object o211 = new Object(); + Object o212 = new Object(); + Object o213 = new Object(); + Object o214 = new Object(); + Object o215 = new Object(); + Object o216 = new Object(); + Object o217 = new Object(); + Object o218 = new Object(); + Object o219 = new Object(); + Object o220 = new Object(); + Object o221 = new Object(); + Object o222 = new Object(); + Object o223 = new Object(); + Object o224 = new Object(); + Object o225 = new Object(); + Object o226 = new Object(); + Object o227 = new Object(); + Object o228 = new Object(); + Object o229 = new Object(); + Object o230 = new Object(); + Object o231 = new Object(); + Object o232 = new Object(); + Object o233 = new Object(); + Object o234 = new Object(); + Object o235 = new Object(); + Object o236 = new Object(); + Object o237 = new Object(); + Object o238 = new Object(); + Object o239 = new Object(); + Object o240 = new Object(); + Object o241 = new Object(); + Object o242 = new Object(); + Object o243 = new Object(); + Object o244 = new Object(); + Object o245 = new Object(); + Object o246 = new Object(); + Object o247 = new Object(); + Object o248 = new Object(); + Object o249 = new Object(); + Object o250 = new Object(); + Object o251 = new Object(); + Object o252 = new Object(); + Object o253 = new Object(); + Object o254 = new Object(); + Object o255 = new Object(); + Object o256 = new Object(); + Object o257 = new Object(); + Object o258 = new Object(); + Object o259 = new Object(); + Object o260 = new Object(); + Object o261 = new Object(); + Object o262 = new Object(); + Object o263 = new Object(); + Object o264 = new Object(); + Object o265 = new Object(); + Object o266 = new Object(); + Object o267 = new Object(); + Object o268 = new Object(); + Object o269 = new Object(); + Object o270 = new Object(); + Object o271 = new Object(); + Object o272 = new Object(); + Object o273 = new Object(); + Object o274 = new Object(); + Object o275 = new Object(); + Object o276 = new Object(); + Object o277 = new Object(); + Object o278 = new Object(); + Object o279 = new Object(); + Object o280 = new Object(); + Object o281 = new Object(); + Object o282 = new Object(); + Object o283 = new Object(); + Object o284 = new Object(); + Object o285 = new Object(); + Object o286 = new Object(); + Object o287 = new Object(); + Object o288 = new Object(); + Object o289 = new Object(); + Object o290 = new Object(); + Object o291 = new Object(); + Object o292 = new Object(); + Object o293 = new Object(); + Object o294 = new Object(); + Object o295 = new Object(); + Object o296 = new Object(); + Object o297 = new Object(); + Object o298 = new Object(); + Object o299 = new Object(); + Object o300 = new Object(); + Object o301 = new Object(); + Object o302 = new Object(); + Object o303 = new Object(); + Object o304 = new Object(); + Object o305 = new Object(); + Object o306 = new Object(); + Object o307 = new Object(); + Object o308 = new Object(); + Object o309 = new Object(); + Object o310 = new Object(); + Object o311 = new Object(); + Object o312 = new Object(); + Object o313 = new Object(); + Object o314 = new Object(); + Object o315 = new Object(); + Object o316 = new Object(); + Object o317 = new Object(); + Object o318 = new Object(); + Object o319 = new Object(); + Object o320 = new Object(); + Object o321 = new Object(); + Object o322 = new Object(); + Object o323 = new Object(); + Object o324 = new Object(); + Object o325 = new Object(); + Object o326 = new Object(); + Object o327 = new Object(); + Object o328 = new Object(); + Object o329 = new Object(); + Object o330 = new Object(); + Object o331 = new Object(); + Object o332 = new Object(); + Object o333 = new Object(); + Object o334 = new Object(); + Object o335 = new Object(); + Object o336 = new Object(); + Object o337 = new Object(); + Object o338 = new Object(); + Object o339 = new Object(); + Object o340 = new Object(); + Object o341 = new Object(); + Object o342 = new Object(); + Object o343 = new Object(); + Object o344 = new Object(); + Object o345 = new Object(); + Object o346 = new Object(); + Object o347 = new Object(); + Object o348 = new Object(); + Object o349 = new Object(); + Object o350 = new Object(); + Object o351 = new Object(); + Object o352 = new Object(); + Object o353 = new Object(); + Object o354 = new Object(); + Object o355 = new Object(); + Object o356 = new Object(); + Object o357 = new Object(); + Object o358 = new Object(); + Object o359 = new Object(); + Object o360 = new Object(); + Object o361 = new Object(); + Object o362 = new Object(); + Object o363 = new Object(); + Object o364 = new Object(); + Object o365 = new Object(); + Object o366 = new Object(); + Object o367 = new Object(); + Object o368 = new Object(); + Object o369 = new Object(); + Object o370 = new Object(); + Object o371 = new Object(); + Object o372 = new Object(); + Object o373 = new Object(); + Object o374 = new Object(); + Object o375 = new Object(); + Object o376 = new Object(); + Object o377 = new Object(); + Object o378 = new Object(); + Object o379 = new Object(); + Object o380 = new Object(); + Object o381 = new Object(); + Object o382 = new Object(); + Object o383 = new Object(); + Object o384 = new Object(); + Object o385 = new Object(); + Object o386 = new Object(); + Object o387 = new Object(); + Object o388 = new Object(); + Object o389 = new Object(); + Object o390 = new Object(); + Object o391 = new Object(); + Object o392 = new Object(); + Object o393 = new Object(); + Object o394 = new Object(); + Object o395 = new Object(); + Object o396 = new Object(); + Object o397 = new Object(); + Object o398 = new Object(); + Object o399 = new Object(); + Object o400 = new Object(); + Object o401 = new Object(); + Object o402 = new Object(); + Object o403 = new Object(); + Object o404 = new Object(); + Object o405 = new Object(); + Object o406 = new Object(); + Object o407 = new Object(); + Object o408 = new Object(); + Object o409 = new Object(); + Object o410 = new Object(); + Object o411 = new Object(); + Object o412 = new Object(); + Object o413 = new Object(); + Object o414 = new Object(); + Object o415 = new Object(); + Object o416 = new Object(); + Object o417 = new Object(); + Object o418 = new Object(); + Object o419 = new Object(); + Object o420 = new Object(); + Object o421 = new Object(); + Object o422 = new Object(); + Object o423 = new Object(); + Object o424 = new Object(); + Object o425 = new Object(); + Object o426 = new Object(); + Object o427 = new Object(); + Object o428 = new Object(); + Object o429 = new Object(); + Object o430 = new Object(); + Object o431 = new Object(); + Object o432 = new Object(); + Object o433 = new Object(); + Object o434 = new Object(); + Object o435 = new Object(); + Object o436 = new Object(); + Object o437 = new Object(); + Object o438 = new Object(); + Object o439 = new Object(); + Object o440 = new Object(); + Object o441 = new Object(); + Object o442 = new Object(); + Object o460 = new Object(); + Object o461 = new Object(); + Object o462 = new Object(); + Object o463 = new Object(); + Object o464 = new Object(); + Object o465 = new Object(); + Object o466 = new Object(); + Object o467 = new Object(); + Object o468 = new Object(); + Object o469 = new Object(); + Object o470 = new Object(); + Object o471 = new Object(); + Object o472 = new Object(); + Object o473 = new Object(); + Object o474 = new Object(); + Object o475 = new Object(); + Object o476 = new Object(); + Object o477 = new Object(); + Object o478 = new Object(); + Object o479 = new Object(); + Object o480 = new Object(); + Object o481 = new Object(); + Object o482 = new Object(); + Object o483 = new Object(); + Object o484 = new Object(); + Object o485 = new Object(); + Object o486 = new Object(); + Object o487 = new Object(); + Object o488 = new Object(); + Object o489 = new Object(); + Object o490 = new Object(); + Object o491 = new Object(); + Object o492 = new Object(); + Object o493 = new Object(); + Object o494 = new Object(); + Object o495 = new Object(); + Object o496 = new Object(); + Object o497 = new Object(); + Object o498 = new Object(); + Object o499 = new Object(); + Object o500 = new Object(); + Object o501 = new Object(); + Object o502 = new Object(); + Object o503 = new Object(); + Object o504 = new Object(); + Object o505 = new Object(); + Object o506 = new Object(); + Object o507 = new Object(); + Object o508 = new Object(); + Object o509 = new Object(); + Object o510 = new Object(); + Object o511 = new Object(); + Object o512 = new Object(); + Object o513 = new Object(); + Object o514 = new Object(); + Object o515 = new Object(); + Object o516 = new Object(); + Object o517 = new Object(); + Object o518 = new Object(); + Object o519 = new Object(); + Object o520 = new Object(); + Object o521 = new Object(); + Object o522 = new Object(); + Object o523 = new Object(); + Object o556 = new Object(); + Object o557 = new Object(); + Object o558 = new Object(); + Object o559 = new Object(); + Object o560 = new Object(); + Object o561 = new Object(); + Object o562 = new Object(); + Object o563 = new Object(); + Object o564 = new Object(); + Object o565 = new Object(); + Object o566 = new Object(); + Object o567 = new Object(); + Object o568 = new Object(); + Object o569 = new Object(); + Object o570 = new Object(); + Object o571 = new Object(); + Object o572 = new Object(); + Object o573 = new Object(); + Object o574 = new Object(); + Object o575 = new Object(); + Object o576 = new Object(); + Object o577 = new Object(); + Object o578 = new Object(); + Object o579 = new Object(); + Object o580 = new Object(); + Object o581 = new Object(); + Object o582 = new Object(); + Object o583 = new Object(); + Object o584 = new Object(); + Object o585 = new Object(); + Object o586 = new Object(); + Object o587 = new Object(); + Object o588 = new Object(); + Object o589 = new Object(); + Object o590 = new Object(); + Object o591 = new Object(); + Object o592 = new Object(); + Object o593 = new Object(); + Object o594 = new Object(); + Object o595 = new Object(); + Object o596 = new Object(); + Object o597 = new Object(); + Object o598 = new Object(); + Object o599 = new Object(); + Object o600 = new Object(); + Object o601 = new Object(); + Object o602 = new Object(); + Object o603 = new Object(); + Object o604 = new Object(); + Object o605 = new Object(); + Object o606 = new Object(); + Object o607 = new Object(); + Object o608 = new Object(); + Object o609 = new Object(); + Object o610 = new Object(); + Object o611 = new Object(); + Object o612 = new Object(); + Object o613 = new Object(); + Object o614 = new Object(); + Object o615 = new Object(); + Object o616 = new Object(); + Object o617 = new Object(); + Object o618 = new Object(); + Object o619 = new Object(); + Object o620 = new Object(); + Object o621 = new Object(); + Object o622 = new Object(); + Object o623 = new Object(); + Object o624 = new Object(); + Object o625 = new Object(); + Object o626 = new Object(); + Object o627 = new Object(); + Object o628 = new Object(); + Object o629 = new Object(); + Object o630 = new Object(); + Object o631 = new Object(); + Object o632 = new Object(); + Object o633 = new Object(); + Object o634 = new Object(); + Object o635 = new Object(); + Object o636 = new Object(); + Object o637 = new Object(); + Object o638 = new Object(); + Object o639 = new Object(); + Object o640 = new Object(); + Object o641 = new Object(); + Object o642 = new Object(); + Object o643 = new Object(); + Object o644 = new Object(); + Object o645 = new Object(); + Object o646 = new Object(); + Object o647 = new Object(); + Object o648 = new Object(); + Object o649 = new Object(); + Object o650 = new Object(); + Object o651 = new Object(); + Object o652 = new Object(); + Object o653 = new Object(); + Object o654 = new Object(); + Object o655 = new Object(); + Object o656 = new Object(); + Object o657 = new Object(); + Object o658 = new Object(); + Object o659 = new Object(); + Object o660 = new Object(); + Object o661 = new Object(); + Object o662 = new Object(); + Object o663 = new Object(); + Object o664 = new Object(); + Object o665 = new Object(); + Object o666 = new Object(); + Object o667 = new Object(); + Object o668 = new Object(); + Object o669 = new Object(); + Object o670 = new Object(); + Object o671 = new Object(); + Object o672 = new Object(); + Object o673 = new Object(); + Object o674 = new Object(); + Object o675 = new Object(); + Object o676 = new Object(); + Object o677 = new Object(); + Object o678 = new Object(); + Object o679 = new Object(); + Object o680 = new Object(); + Object o681 = new Object(); + Object o682 = new Object(); + Object o683 = new Object(); + Object o684 = new Object(); + Object o685 = new Object(); + Object o686 = new Object(); + Object o687 = new Object(); + Object o688 = new Object(); + Object o734 = new Object(); + Object o735 = new Object(); + Object o736 = new Object(); + Object o737 = new Object(); + Object o738 = new Object(); + Object o739 = new Object(); + Object o740 = new Object(); + Object o741 = new Object(); + Object o742 = new Object(); + Object o743 = new Object(); + Object o744 = new Object(); + Object o745 = new Object(); + Object o746 = new Object(); + Object o747 = new Object(); + Object o748 = new Object(); + Object o749 = new Object(); + Object o750 = new Object(); + Object o751 = new Object(); + Object o752 = new Object(); + Object o753 = new Object(); + Object o754 = new Object(); + Object o755 = new Object(); + Object o756 = new Object(); + Object o757 = new Object(); + Object o758 = new Object(); + Object o759 = new Object(); + Object o760 = new Object(); + Object o761 = new Object(); + Object o762 = new Object(); + Object o763 = new Object(); + Object o764 = new Object(); + Object o765 = new Object(); + Object o766 = new Object(); + Object o767 = new Object(); + Object o768 = new Object(); + Object o769 = new Object(); + Object o770 = new Object(); + Object o771 = new Object(); + Object o772 = new Object(); + Object o773 = new Object(); + Object o774 = new Object(); + Object o775 = new Object(); + Object o776 = new Object(); + Object o777 = new Object(); + Object o778 = new Object(); + Object o779 = new Object(); + Object o780 = new Object(); + Object o781 = new Object(); + Object o782 = new Object(); + Object o783 = new Object(); + Object o784 = new Object(); + Object o785 = new Object(); + Object o786 = new Object(); + Object o787 = new Object(); + Object o788 = new Object(); + Object o789 = new Object(); + Object o790 = new Object(); + Object o791 = new Object(); + Object o792 = new Object(); + Object o793 = new Object(); + Object o794 = new Object(); + Object o795 = new Object(); + Object o796 = new Object(); + Object o797 = new Object(); + Object o798 = new Object(); + Object o799 = new Object(); + Object o800 = new Object(); + Object o801 = new Object(); + Object o802 = new Object(); + Object o803 = new Object(); + Object o804 = new Object(); + Object o805 = new Object(); + Object o806 = new Object(); + Object o807 = new Object(); + Object o808 = new Object(); + Object o809 = new Object(); + Object o810 = new Object(); + Object o811 = new Object(); + Object o812 = new Object(); + Object o813 = new Object(); + Object o848 = new Object(); + Object o849 = new Object(); + Object o850 = new Object(); + Object o851 = new Object(); + Object o852 = new Object(); + Object o853 = new Object(); + Object o854 = new Object(); + Object o855 = new Object(); + Object o856 = new Object(); + Object o857 = new Object(); + Object o858 = new Object(); + Object o859 = new Object(); + Object o860 = new Object(); + Object o861 = new Object(); + Object o862 = new Object(); + Object o863 = new Object(); + Object o864 = new Object(); + Object o865 = new Object(); + Object o866 = new Object(); + Object o867 = new Object(); + Object o868 = new Object(); + Object o869 = new Object(); + Object o870 = new Object(); + Object o871 = new Object(); + Object o872 = new Object(); + Object o873 = new Object(); + Object o874 = new Object(); + Object o875 = new Object(); + Object o876 = new Object(); + Object o877 = new Object(); + Object o878 = new Object(); + Object o879 = new Object(); + Object o880 = new Object(); + Object o881 = new Object(); + Object o882 = new Object(); + Object o883 = new Object(); + Object o884 = new Object(); + Object o885 = new Object(); + Object o886 = new Object(); + Object o887 = new Object(); + Object o888 = new Object(); + Object o889 = new Object(); + Object o890 = new Object(); + Object o891 = new Object(); + Object o892 = new Object(); + Object o893 = new Object(); + Object o894 = new Object(); + Object o895 = new Object(); + Object o896 = new Object(); + Object o897 = new Object(); + Object o898 = new Object(); + Object o899 = new Object(); + Object o900 = new Object(); + Object o901 = new Object(); + Object o902 = new Object(); + Object o903 = new Object(); + Object o904 = new Object(); + Object o905 = new Object(); + Object o906 = new Object(); + Object o907 = new Object(); + Object o908 = new Object(); + Object o909 = new Object(); + Object o910 = new Object(); + Object o911 = new Object(); + Object o912 = new Object(); + Object o913 = new Object(); + Object o914 = new Object(); + Object o915 = new Object(); + Object o916 = new Object(); + Object o917 = new Object(); + Object o918 = new Object(); + Object o919 = new Object(); + Object o920 = new Object(); + Object o921 = new Object(); + Object o922 = new Object(); + Object o923 = new Object(); + Object o924 = new Object(); + Object o925 = new Object(); + Object o926 = new Object(); + Object o927 = new Object(); + Object o928 = new Object(); + Object o929 = new Object(); + Object o930 = new Object(); + Object o931 = new Object(); + Object o932 = new Object(); + Object o933 = new Object(); + Object o934 = new Object(); + Object o935 = new Object(); + Object o936 = new Object(); + Object o937 = new Object(); + Object o938 = new Object(); + Object o939 = new Object(); + Object o940 = new Object(); + Object o941 = new Object(); + Object o942 = new Object(); + Object o943 = new Object(); + Object o944 = new Object(); + Object o945 = new Object(); + Object o946 = new Object(); + Object o947 = new Object(); + Object o948 = new Object(); + Object o949 = new Object(); + Object o950 = new Object(); + Object o951 = new Object(); + Object o952 = new Object(); + Object o953 = new Object(); + Object o954 = new Object(); + Object o955 = new Object(); + Object o956 = new Object(); + Object o957 = new Object(); + Object o958 = new Object(); + Object o959 = new Object(); + Object o960 = new Object(); + Object o961 = new Object(); + Object o962 = new Object(); + Object o963 = new Object(); + Object o964 = new Object(); + Object o965 = new Object(); + Object o966 = new Object(); + Object o967 = new Object(); + Object o968 = new Object(); + Object o969 = new Object(); + Object o970 = new Object(); + Object o971 = new Object(); + Object o972 = new Object(); + Object o973 = new Object(); + Object o974 = new Object(); + Object o975 = new Object(); + Object o976 = new Object(); + Object o977 = new Object(); + Object o978 = new Object(); + Object o979 = new Object(); + Object o980 = new Object(); + Object o981 = new Object(); + Object o982 = new Object(); + Object o983 = new Object(); + Object o984 = new Object(); + Object o985 = new Object(); + Object o986 = new Object(); + Object o987 = new Object(); + Object o988 = new Object(); + Object o989 = new Object(); + Object o990 = new Object(); + Object o991 = new Object(); + Object o992 = new Object(); + Object o993 = new Object(); + Object o994 = new Object(); + Object o995 = new Object(); + Object o996 = new Object(); + Object o997 = new Object(); + Object o998 = new Object(); + Object o999 = new Object(); + } + + static class Deep0 {} + static class Deep1 extends Deep0 {} + static class Deep2 extends Deep1 {} + static class Deep3 extends Deep2 {} + static class Deep4 extends Deep3 {} + static class Deep5 extends Deep4 {} + static class Deep6 extends Deep5 {} + static class Deep7 extends Deep6 {} + static class Deep8 extends Deep7 {} + static class Deep9 extends Deep8 {} + static class Deep10 extends Deep9 {} + static class Deep11 extends Deep10 {} + static class Deep12 extends Deep11 {} + static class Deep13 extends Deep12 {} + static class Deep14 extends Deep13 {} + static class Deep15 extends Deep14 {} + static class Deep16 extends Deep15 {} + static class Deep17 extends Deep16 {} + static class Deep18 extends Deep17 {} + static class Deep19 extends Deep18 {} + static class Deep20 extends Deep19 {} + static class Deep21 extends Deep20 {} + static class Deep22 extends Deep21 {} + static class Deep23 extends Deep22 {} + static class Deep24 extends Deep23 {} + static class Deep25 extends Deep24 {} + static class Deep26 extends Deep25 {} + static class Deep27 extends Deep26 {} + static class Deep28 extends Deep27 {} + static class Deep29 extends Deep28 {} + static class Deep30 extends Deep29 {} + static class Deep31 extends Deep30 {} + static class Deep32 extends Deep31 {} + static class Deep33 extends Deep32 {} + static class Deep34 extends Deep33 {} + static class Deep35 extends Deep34 {} + static class Deep36 extends Deep35 {} + static class Deep37 extends Deep36 {} + static class Deep38 extends Deep37 {} + static class Deep39 extends Deep38 {} + static class Deep40 extends Deep39 {} + static class Deep41 extends Deep40 {} + static class Deep42 extends Deep41 {} + static class Deep43 extends Deep42 {} + static class Deep44 extends Deep43 {} + static class Deep45 extends Deep44 {} + static class Deep46 extends Deep45 {} + static class Deep47 extends Deep46 {} + static class Deep48 extends Deep47 {} + static class Deep49 extends Deep48 {} + static class Deep50 extends Deep49 {} + static class Deep51 extends Deep50 {} + static class Deep52 extends Deep51 {} + static class Deep53 extends Deep52 {} + static class Deep54 extends Deep53 {} + static class Deep55 extends Deep54 {} + static class Deep56 extends Deep55 {} + static class Deep57 extends Deep56 {} + static class Deep58 extends Deep57 {} + static class Deep59 extends Deep58 {} + static class Deep60 extends Deep59 {} + static class Deep61 extends Deep60 {} + static class Deep62 extends Deep61 {} + static class Deep63 extends Deep62 {} + static class Deep64 extends Deep63 {} + static class Deep65 extends Deep64 {} + static class Deep66 extends Deep65 {} + static class Deep67 extends Deep66 {} + static class Deep68 extends Deep67 {} + static class Deep69 extends Deep68 {} + static class Deep70 extends Deep69 {} + static class Deep71 extends Deep70 {} + static class Deep72 extends Deep71 {} + static class Deep73 extends Deep72 {} + static class Deep74 extends Deep73 {} + static class Deep75 extends Deep74 {} + static class Deep76 extends Deep75 {} + static class Deep77 extends Deep76 {} + static class Deep78 extends Deep77 {} + static class Deep79 extends Deep78 {} + static class Deep80 extends Deep79 {} + static class Deep81 extends Deep80 {} + static class Deep82 extends Deep81 {} + static class Deep83 extends Deep82 {} + static class Deep84 extends Deep83 {} + static class Deep85 extends Deep84 {} + static class Deep86 extends Deep85 {} + static class Deep87 extends Deep86 {} + static class Deep88 extends Deep87 {} + static class Deep89 extends Deep88 {} + static class Deep90 extends Deep89 {} + static class Deep91 extends Deep90 {} + static class Deep92 extends Deep91 {} + static class Deep93 extends Deep92 {} + static class Deep94 extends Deep93 {} + static class Deep95 extends Deep94 {} + static class Deep96 extends Deep95 {} + static class Deep97 extends Deep96 {} + static class Deep98 extends Deep97 {} + static class Deep99 extends Deep98 {} + static class Deep100 extends Deep99 {} + + static class DeepCloneable extends Deep100 implements Cloneable { + public Object clone() throws CloneNotSupportedException { + return super.clone(); + } + } + + public void time_Object_clone(int reps) { + try { + CloneableObject o = new CloneableObject(); + for (int rep = 0; rep < reps; ++rep) { + o.clone(); + } + } catch (Exception e) { + throw new AssertionError(e.getMessage()); + } + } + + public void time_Object_manyFieldClone(int reps) { + try { + CloneableManyFieldObject o = new CloneableManyFieldObject(); + for (int rep = 0; rep < reps; ++rep) { + o.clone(); + } + } catch (Exception e) { + throw new AssertionError(e.getMessage()); + } + } + + public void time_Object_deepClone(int reps) { + try { + DeepCloneable o = new DeepCloneable(); + for (int rep = 0; rep < reps; ++rep) { + o.clone(); + } + } catch (Exception e) { + throw new AssertionError(e.getMessage()); + } + } + + public void time_Array_clone(int reps) { + int[] o = new int[32]; + for (int rep = 0; rep < reps; ++rep) { + o.clone(); + } + } + + public void time_ObjectArray_smallClone(int reps) { + Object[] o = new Object[32]; + for (int i = 0; i < o.length / 2; ++i) { + o[i] = new Object(); + } + for (int rep = 0; rep < reps; ++rep) { + o.clone(); + } + } + + public void time_ObjectArray_largeClone(int reps) { + Object[] o = new Object[2048]; + for (int i = 0; i < o.length / 2; ++i) { + o[i] = new Object(); + } + for (int rep = 0; rep < reps; ++rep) { + o.clone(); + } + } +} |