ループ処理にかかるコストの見直しへの考察
前提条件:
初期処理がある。その後、継続するループ処理がある。
手法Aの場合。
初期処理には50のコストがかかる。その後のループ処理では毎回40のコストがかかる。
手法Bの場合。
初期処理には300のコストがかかる。その後のループ処理では毎回5のコストがかかる。
初期処理及び29回のループ処理への試算。
| 回数 | 手法A | 手法B |
|---|---|---|
| 50 | 300 | |
| 1 | 90 | 305 |
| 2 | 130 | 310 |
| 3 | 170 | 315 |
| 4 | 210 | 320 |
| 5 | 250 | 325 |
| 6 | 290 | 330 |
| 7 | 330 | 335 |
| 8 | 370 | 340 |
| 9 | 410 | 345 |
| 10 | 450 | 350 |
| 11 | 490 | 355 |
| 12 | 530 | 360 |
| 13 | 570 | 365 |
| 14 | 610 | 370 |
| 15 | 650 | 375 |
| 16 | 690 | 380 |
| 17 | 730 | 385 |
| 18 | 770 | 390 |
| 19 | 810 | 395 |
| 20 | 850 | 400 |
| 21 | 890 | 405 |
| 22 | 930 | 410 |
| 23 | 970 | 415 |
| 24 | 1010 | 420 |
| 25 | 1050 | 425 |
| 26 | 1090 | 430 |
| 27 | 1130 | 435 |
| 28 | 1170 | 440 |
| 29 | 1210 | 445 |
この場合、7回目のループあたりで分岐点が訪れる。
ここから何が言えるか?
次。もうちょっとターゲットを恣意的にあるジャンルへ。
ループ処理の「途中で」分岐点の存在に気づき、英断なのか暴挙なのか、途中で手法Aから手法Bに置き換えてみることを考えてみた。
壮絶な無駄が発生することが予測されたりするのだが。
試算では、乗せ変えのために「手法Bの初期コスト300がまるまる発生する」とみなした。
| 回数 | 手法A | 手法B | 途変(5) | 途変(10) | 途変(15) | 途変(20) |
|---|---|---|---|---|---|---|
| 50 | 300 | |||||
| 1 | 90 | 305 | ||||
| 2 | 130 | 310 | ||||
| 3 | 170 | 315 | ||||
| 4 | 210 | 320 | ||||
| 5 | 250 | 325 | 550 | |||
| 6 | 290 | 330 | 555 | |||
| 7 | 330 | 335 | 560 | |||
| 8 | 370 | 340 | 565 | |||
| 9 | 410 | 345 | 570 | |||
| 10 | 450 | 350 | 575 | 750 | ||
| 11 | 490 | 355 | 580 | 755 | ||
| 12 | 530 | 360 | 585 | 760 | ||
| 13 | 570 | 365 | 590 | 765 | ||
| 14 | 610 | 370 | 595 | 770 | ||
| 15 | 650 | 375 | 600 | 775 | 950 | |
| 16 | 690 | 380 | 605 | 780 | 955 | |
| 17 | 730 | 385 | 610 | 785 | 960 | |
| 18 | 770 | 390 | 615 | 790 | 965 | |
| 19 | 810 | 395 | 620 | 795 | 970 | |
| 20 | 850 | 400 | 625 | 800 | 975 | 1150 |
| 21 | 890 | 405 | 630 | 805 | 980 | 1155 |
| 22 | 930 | 410 | 635 | 810 | 985 | 1160 |
| 23 | 970 | 415 | 640 | 815 | 990 | 1165 |
| 24 | 1010 | 420 | 645 | 820 | 995 | 1170 |
| 25 | 1050 | 425 | 650 | 825 | 1000 | 1175 |
| 26 | 1090 | 430 | 655 | 830 | 1005 | 1180 |
| 27 | 1130 | 435 | 660 | 835 | 1010 | 1185 |
| 28 | 1170 | 440 | 665 | 840 | 1015 | 1190 |
| 29 | 1210 | 445 | 670 | 845 | 1020 | 1195 |
forループやwhileループの内側の処理とか「OOで作る暇ないからベタで作って変更が連日のように雨あられと振ってくる現場」のお話とか色々聞きながら考えた雑感。
経済のほうだと、たとえば損益分岐点なんてぇものがありますな。
それでも人はやめられない抜けられない止まらない。
水からゆっくりと茹でられる蛙のように。