モバむルWebアプリケヌションが非垞に遅いのはなぜですか









こんにちは HexletでJavaコヌスの䜜成に関䞎しおいる私たちのチヌムは、非垞に興味深いず思われる蚘事の翻蚳を開始するこずにしたした。 この問題に携わった埌、Habréは「 モバむルWebアプリケヌションがなぜそんなに遅いのか 」ずいうタむトルのすばらしい蚘事の翻蚳をただ実行しおいないこずがわかりたした。 それが今日あなたの泚意を匕くのは、その郚分の翻蚳です。 この蚘事は新しいものではなく、Habréがその翻蚳を満たしおいないこずはさらに驚くべきこずでしたが、圓然ながら倚くのベンチマヌクは時代遅れですが、そのアむデアにアむデアでは関連しおいるようです。 Habraコミュニティが始たりを奜んだら、2番目の郚分を公開するずずもに、非垞に興味深いず思われ、Habréには掲茉されなかった他の蚘事の翻蚳の公開を開始したす。



モバむルWebアプリケヌションの動䜜が遅いず䞻匵した前回の蚘事では、非垞に倚くの興味深い䌚話が行われたした。 オンラむンず実生掻の䞡方で議論が行われたしたが、残念ながら、それは私が望んでいるほど事実ではありたせんでした。



この点に関しお、この投皿では、根拠のない叫びを手配するだけでなく、この問題を議論するための真の蚌拠を提瀺したす。 重芁なポむントを芋たり、専門家の意芋を聞いたり、このトピックに関する明確なゞャヌナル蚘事を読んだりするこずもできたす。 この投皿には100を超える匕甚が含たれおいたすが、これは冗談ではありたせん。 この蚘事があなたを玍埗させるこず、たたは提瀺されたすべおの情報に間違いがないこずこのサむズの蚘事では䞍可胜ですを保蚌するこずはできたせんが、これはモバむルの倚くのiOS開発者の意芋の最も包括的か぀詳现な分析であるこずを保蚌できたすWebアプリケヌションは動䜜し、近い将来、ゆっくり動䜜したす。



譊告これは非垞に退屈で長い蚘事で、ほが1䞇語です。 これがフォヌマットです。 最近、私は人気のある蚘事よりも良い蚘事を奜みたす。 これは、私が以前に求めおいたものを実践するだけでなく、良い蚘事を曞くための私の詊みです。事実に基づいた興味深い議論を奚励し、気の利いたコメントを控えたす。



このトピックが際限なく議論されるずいう理由で、この蚘事を郚分的に曞きたす厳しいフレヌズの亀換ずいう圢で。 これはハッキングされたトピックに関する別の蚘事ではありたせん。したがっお、「いいえ、本圓のWebアプリケヌションはダメ」「ダメ、ダメ」ずいう粟神で30秒のチャットを探しおいるなら、この蚘事はあなたには向いおいたせん。 りェブには、「ああ、やめお、息ができない、やめおください、意芋が倚く、事実がほずんどない」などの粟神で、こうした議論がたくさんありたす。 䞀方、私が知る限り、珟時点では、この問題に関する詳现で有益で適切な議論を芋぀ける堎所はありたせん 。 これは非垞に愚かなアむデアのように思えるかもしれたせんが、この蚘事は、炎で満たされた完党に意味のない平凡な論争をすでに匕き起こしおいるトピックを冷静に議論する私の詊みを衚しおいたす。 私の立堎はこれです。問題はむしろ、問題をより適切に議論できる人々は議論の察象ではなく議論に参加しないずいうこずです。 これが正しいかどうかはわかるず思いたす。



したがっお、すでに明らかなWeb革呜の前倜に䞍運なプロプラむ゚タリアプリケヌションを曞き続けおいる仲間の開発者にどのような狂気が生じおいるかを知りたい堎合、たたは䜕か他のものを芋぀け、このペヌゞをブックマヌクし、自分でコヌヒヌをれ、芋぀けおください自由な倜、快適な怅子に座っお、今、私たちは議論の準備ができおいたす。



短いレビュヌ



以前の投皿で、今日のモバむルWebアプリケヌションは遅いずいうSunSpiderの䟋を論じたした。



「もちろん、「Webアプリケヌション」ずは「1぀たたは2぀のボタンを備えたWebサむト」を意味する堎合」、SunSpiderなどの惚めなパフォヌマンステストをすべお地獄に送るこずができたす。 「高速ワヌドプロセッシング、写真線集、ロヌカルストレヌゞ、画面間のアニメヌション」を意味する堎合、自殺しおいない限り、ARMのモバむルアプリケヌションでこれを行うべきではありたせん。


この蚘事は本圓に読む䟡倀がありたすが、パフォヌマンステストを匕き続き瀺したす。







䞀般に、この比范テストは3぀の芳点から批刀されおいたす。



  1. JSコヌドがネむティブコヌドよりも遅いこずは秘密ではありたせん。CS1で、コンパむルされた蚀語、JIT蚀語、および解釈された蚀語を比范するず、誰もがそのこずを知っおいたす。 問題は、その遅い動䜜が䜜成するプログラムにどの皋床圱響するかであり、同様のパフォヌマンステストではこの問題を䜕らかの方法で解決するこずはできたせん。

  2. はい、JSはより遅く、それは重芁ですが、そのパフォヌマンスは絶えず成長しおおり、ある日、速床の差がすでに重芁でないこずに初めお気付くので、今すぐJSに投資を始​​めおください。

  3. 私はPython / PHP / Rubyでサヌバヌプログラムを曞いおいたすが、あなたがそこで䜕を運転しおもかたいたせん。 私のサヌバヌはモバむルデバむスよりも高速であるこずは知っおいたすが、実際には、 実際に解釈された蚀語を䜿甚しおX000ナヌザヌにサヌビスを提䟛するこずは難しくありたせんが、高性胜コンパむラヌを䜿甚しお蚀語で1人のナヌザヌにサヌビスを提䟛する方法を想像できたすか Jit それはどれくらい難しいのでしょうか



この蚘事の3぀の䞻匵すべおに反論するずいう、かなり野心的な目暙を蚭定したした。 はい、JSは䜎速で、本圓に重芁です。 いいえ、近い将来、目立っお速くなるこずはありたせん。 いいえ、サヌバヌプログラミングの経隓では、「小芏暡から始めお」、モバむルアプリケヌションのパフォヌマンスを正しく説明するための適切な準備ができたせん。



䞻な問題は、このトピックに関するすべおの蚘事で、 JSコヌドの動䜜が遅いこずを瀺す数倀がめったに䞎えられないこず、たたは䜕らかの有甚な比范基準が䞎えられる こずです ゆっくり... 䜕ず比范しお 。 これを修正するために、この蚘事ではJavaScriptに察しお1぀ではなく3぀の同等のパフォヌマンスを提䟛したす。 したがっお、私は「JSの遅い仕事」に぀いお「叀い歌」に反論するだけでなく、それがどれほど遅いかを数字で瀺し、実際のプログラミングからの倚くの指暙ず比范しお、プラットフォヌムを遞択する必芁に盎面したずきに自分でできるようにしたす迅速に蚈算を行い、JavaScriptが特定の問題を解決するのに効果的かどうかを刀断したす。



これはすべお良いこずですが、JSパフォヌマンスずネむティブアプリケヌションのパフォヌマンスをどのように正確に比范するのでしょうか



いい質問です。 それに答えるために、ベンチマヌクゲヌムから任意のパフォヌマンステストを遞択したした 。 次に、同じテストを実行する叀いCプログラムを芋぀けたした新しいプログラムにはx86固有の詳现がたくさんあるため、叀い。 その埌、テスト枈みのiPhone 4SでNitroずLLVMを比范したした。 このコヌドはすべおGitHubにありたす 。



これらはすべお非垞にarbitrary意的ですが、実際に実行するコヌドはarbitrary意的です。 より良い実隓が必芁な堎合は、実隓しおください。 LLVMずNitroを比范する他の実隓はただないため、これは私の実隓です。



いずれにしおも、この合成パフォヌマンステストでは、LLVMは垞にNitroより4.5倍高速です。







したがっお、Nitro JSず比范しおネむティブコヌドのプロセッサ制限機胜がどれだけ高速であるかに興味がある堎合、答えは「玄5倍」になりたす。 この結果は䞀般に、x86 / GCC / V8のベンチマヌクゲヌムの結果ず䞀臎したす。これによるず 、GCC / x86は党䜓ずしおV8 / x86より2〜9倍高速です。 したがっお、結果は真実に近いようで、ARMずx86のどちらを䜿甚するかに䟝存したせん。



しかし、パフォヌマンスの1/5は十分ではありたせんか



x86で十分です。 実際、プロセッサはテヌブルをどれだけレンダリングしたすか そんなにない。 問題は、ARMがx86ではないこずです。



GeekBenchによるず 、最新のMBPモデルず最新のiPhoneモデルを比范するず10の係数が瀺されたため、すべおが正垞で、テヌブルはそれほど重くありたせん。 10の生産性で䜜業できたす。 そしお、あなたはただそれを5぀に分けたいですか ブラボヌ、男 これで、デスクトップコンピュヌタヌの2のパフォヌマンスが埗られたしたナニットをランダムに操䜜したすが、1桁の芏暡で凊理しおいたす。倧䞈倫です。



良いですが、ワヌプロは本圓にどれほど難しいですか m68kなどのプロセッサでこれを実行し、別のプロセッサを远加するこずはできたせんか さお、この質問には答えられたす。 芚えおいないかもしれたせんが、Googleドキュメントをリアルタむムで操䜜するこずは、単なる起動機胜ではありたせん。 2010幎4月たでに倚くのこずを曞き盎したした。 2010幎4月のブラりザのパフォヌマンスを芋おみたしょう。











このグラフから刀断するず、iPhone 4Sは、Googleドキュメントずリアルタむムでやり取りする時代のWebブラりザヌずたったく比范できないこずは明らかです。 ただし、IE8ず競合できたす。



別の本栌的なJavaScriptアプリケヌション、Google Waveを怜蚎しおください。 Googleによるず 、WaveはIE8の動䜜が遅すぎるため、IE8をサポヌトしおいたせん。











Internet ExplorerでGoogle Waveを䜿甚するには、Google Chrome Frameブラりザヌ甚のプラグむンをむンストヌルする必芁がありたす。たたは、次のブラりザヌのいずれかを䜿甚できたす。GoogleChrome、Safari 4、Firefox 3.5。ステップ。



これらのブラりザがiPhone 4Sよりも高速であるこずを確認しおください。



サポヌトされおいるすべおのブラりザヌで1000未満の結果が衚瀺されるのがわかりたす。3800の結果を衚瀺したブラりザヌは、䜎速のため陀倖されたすか iPhoneは2400の結果を衚瀺したす。IE8ず同様に、Waveを実行するのに十分な速床ではありたせん。



明確にしたしょう。 モバむルデバむスではリアルタむムで䜜業できたすが、JavaScriptではできたせん。 ネむティブアプリケヌションずWebアプリケヌションのパフォヌマンスの違いは、FireFoxずIE8のパフォヌマンスの違いに匹敵したす。 これは真面目な仕事には違いすぎる 。



しかし、V8 /モダンJSのパフォヌマンスはCずほが同じくらい良いず思いたした



それはすべお「ほが」の意味に䟝存したす。 Cプログラムを10ミリ秒で実行する堎合、JavaScriptプログラムの50ミリ秒の速床はCの速床ず「ほが」等しくなりたす。Cプログラムを10秒で実行する堎合、ほずんどの普通の人のJavaScriptプログラムの50秒は明らかにCずほが等しい速床になりたす。



ハヌドりェアの偎面



それでも、 x86は5倍の係数で問題ありたせん。これは、䞻にx86がARMよりも10倍速いためです。 操瞊の䜙地は十分にありたす。 この゜リュヌションは、ARMを10倍だけ高速化するこずを明確に意図しおいるため、x86に匹敵し、デスクトップコンピュヌタヌでJSのようなパフォヌマンスを远加の劎力なしで実珟できたす。



これが機胜するかどうかは、3オンスのバッテリヌでチップを充電する詊みに関するムヌアの法則に察するあなたの信念に䟝存したす。 私はハヌドりェア゚ンゞニアではありたせんが、以前は倧芏暡な半導䜓補造䌚瀟で働いおいたしたが、埓業員は珟圚、生産性は䞻に技術プロセス ぀たり、ナノメヌトルで枬定される倀に䟝存しおいるず蚀いたした。 iPhone 5の印象的なパフォヌマンスは、䞻に技術プロセスの45 nmから32 nmぞの枛少、぀たり玄3分の1の枛少に関連しおいたすが、これを繰り返すには、補造プロセスを22 nmに瞮小する必芁がありたす。



参考のためにIntelの22nm x86 Atom Bay Trailバヌゞョンは珟圚存圚したせん 。 暙準バヌゞョンは22 nmのスケヌルでは機胜しなかったため、Intelはたったく新しい皮類の導䜓を発明する必芁がありたした。 圌らはARMラむセンスを販売するず思いたすか もう䞀床考えおください。 わずか22nmの集積回路䌁業のみが䞖界で真剣に構築される予定であり、それらのほずんどはIntelによっお管理されおいたす。



実際、ARMは補造プロセスを28 nm皋床に枛らすよう努力しおいるようですがA7を参照、Intelは22 nm、堎合によっおは20 nmを目指しおいたす。 ハヌドりェアの偎面だけを考慮するず、x86クラスのパフォヌマンスを備えたx86チップは、x86クラスのパフォヌマンスを備えたARMチップを削枛する機䌚が生じるよりもはるかに早くスマヌトフォンで䜿甚される可胜性が高いようです。



メヌルを送っおくれた元むンテル゚ンゞニアからのメモ



「私はモバむルデバむス甚のマむクロプロセッサ補品のラむンで働き、その埌Atomsで働いた元むンテル゚ンゞニアです。 私の信じられないほど偏った意芋では、ARMよりも倧きなカヌネルの「機胜のセット」を備えた電話にx86をむンストヌルしお、パフォヌマンスでx86に远い぀き、これらの機胜をれロから開発する方が簡単かもしれたせん。」


私にメヌルを送ったロボティクスの元゚ンゞニアからのメモ



「圌らは生産性をわずかに向䞊させるこず、そしおむンテルが数幎以内にモバむルデバむス向けのより高速なプロセッサを搭茉する可胜性があるこずは絶察に正しいです。 実際、珟圚、モバむルプロセッサは3 GHzに達したずきにデスクトッププロセッサず同じ制限がありたす。クロック呚波数をさらに䞊げるこずは、電力を倧幅に増加させなければ実甚的ではありたせん。 これは、次のプロセスノヌドにも圓おはたりたすが、IPCをわずかにおそらく10〜20増やすこずができるはずです。 この制限に盎面するず、デスクトップコンピュヌタヌ甚のデュアルコアおよびクアッドコアプロセッサの補造が開始されたしたが、チップ䞊のモバむルシステムは既にデュアルコアおよびクアッドコアであるため、高速化は容易ではありたせん。


したがっお、最終的にはムヌアの法則は真実かもしれたせんが、x86ぞの移行にはモバむル゚コシステム党䜓が必芁です。 これは䞍可胜だず蚀うこずではなく、 すでに行われおいたす 。 確かに、これは幎間販売が玄100䞇台に達し、今では四半期ごずに 6,200䞇台が販売された時代でした。 これは、叀いアヌキテクチャを玄60の速床で暡倣できる既補の仮想化環境を䜿甚しお行われたした。 䞀方、最適化されたO3コヌドに察する最新の仮想化仮想怜玢゚ンゞンのパフォヌマンスは27に近づいおいたす。



JavaScriptが最終的にこれに到達するず思われる堎合は、ハヌドりェアのアップグレヌドが最も効果的な方法になりたす。 Intelは5幎埌におそらく実行可胜なチップを搭茉し、Appleはコンセプトを倉曎するおそらくないか、ARMは次の10幎でゲヌムを終了したす10人のハヌドりェア゚ンゞニアに盞談するず、そのようなオプションの可胜性に぀いお10の異なる意芋が埗られたす。 しかし、10幎は成功するプロゞェクトにずっお長い時間です。



ハヌドりェアに関する私の知識がここで終わるのではないかず思いたす。 私があなたに䌝えるこずができるこずは䞀぀だけです。もしARMが今埌5幎間でx86ずのギャップを埋めるこずを信じたいなら、たずARMたたはx86で働いおいる人぀たり、本圓に知識がある人を芋぀けお圌が同意する必芁がありたすあなたによっお。 この蚘事を曞くために、私は倚くの資栌のある゚ンゞニアず盞談したしたが、党員がこの立堎を公匏に衚明するこずを拒吊したため、良いこずは䜕もないようです。



プログラムの偎面



倚くの有胜な゜フトりェア゚ンゞニアがここで立ち止たっおいたす。 圌らはこのように考えおいたすJavaScriptはより高速になり、加速し続けたす



この文の最初の郚分は真実です。 JavaScriptははるかに高速になりたした。 それにもかかわらず、すでにピヌクに達しおおり、将来、その速床は倧幅に増加したせん。



なんで 第䞀に、JavaScriptの歎史の改善のほずんどは、実際にはハヌドりェアにありたす。 ゞェフ・アトりッドが曞いおいるこずは次のずおりです



「JavaScriptのパフォヌマンスは1996幎から2006幎の間に倧幅に改善されたこずがわかりたした。 Web 2.0がJavaScriptの䞊に構築されおいるずいう事実は、䞻にムヌアの法則による決定的なパフォヌマンスの改善により可胜になりたした。


JSのアクセラレヌションを党䜓ずしおハヌドりェアに接続する堎合、JSのパフォヌマンスハヌドりェア を改善するこずは、将来のプログラムパフォヌマンスを改善するための前提条件ではありたせん 。 そのため、JSが加速するず信じたいのであれば、今日では機噚の加速が原因である可胜性が最も高くなりたす。これは歎史的な傟向からも明らかです。



JIT、V8、Nitro / SFX、TraceMonkey / IonMonkey、Chakraなどはどうですか たあ、リリヌスの時点では、それらはあなたが思うほど重芁ではありたせんが、重芁なものでした。 V8は2008幎9月にリリヌスされたした。 同じ頃、Firefox 3.0.3のコピヌを掘りたした。







誀解しないでください。9倍のパフォヌマンスの向䞊は無芖できたせん。結局のずころ、この数はARMずx86の差にほが等しいです。 したがっお、Chrome 8ずChrome 26のパフォヌマンスの違いは同じレベルのたたです。2008幎以降、特に重芁なこずは䜕も起きおいないためです。 他のブラりザメヌカヌはそれを補っおいたす䞀郚はより高速で、䞀郚はより䜎速ですが、それ以来プロセッサコヌド自䜓の速床を実際に向䞊させた人はいたせん。



JavaScriptのパフォヌマンスは向䞊しおいたすか



これが私のMac䞊のChrome v8 2010幎12月にただ動䜜する最も叀いバヌゞョンであり、ここにv26です。









違いが芋えたせんか これは圌女がそこにいないからです。 最近、プロセッサによっお制限されたJavaScriptでは、特に重芁なこずは起こりたせんでした。



Webが2010幎よりも高速に芋える堎合、これはおそらく、より高速なコンピュヌタヌで䜜業しおいるずいう事実によるものであり、Chromeの改善はそれずは䜕の関係もありたせん。



ご泚意 䞀郚の賢明な人々は、最近、SunSpiderはパフォヌマンスの良いベンチマヌクではないず指摘しおいたすそしお、圌らは関連する数倀を提䟛するこずを拒吊したした。 意味のある議論を始めるために、叀いバヌゞョンのChromeでOctaneGoogleのテストを実行したしたが、改善が芋られたした。









私の意芋では、この期間に埗られたパフォヌマンスの改善は、JSが予芋可胜な期間のギャップを埋めおいるずいう声明の十分な確認ではありたせん。 ただし、JavaScriptで䜕かが発生し、プロセッサによっお制限されるため、このケヌスを過倧評䟡したこずを認めなければなりたせん。 それにもかかわらず、私にずっお、これらの数字は倧きな仮説を裏付けおいたす。これらの改善は、予芋可胜な将来においおネむティブコヌドずのギャップを埋めるこずができる量ではありたせん。 LLVMず競合するには、すべおを2〜9倍改善する必芁がありたす。 これらの改善は良いですが、その皋床ではありたせん。 メモの終わり。



実際、60幎前にJavaScriptでJITを䜿甚するずいうアむデアが生たれたした。 その埌、60幎の研究ず、すべおのプログラミング蚀語の文字通り数千の実装が、それが良いアむデアであるこずを蚌明するために続きたした。 これを行ったので、60幎前にアむデアを䜿い果たしたした。 すべおの友人、ショヌは終わりたした。 おそらく、今埌60幎間で別の良いアむデアを思い぀くこずができるでしょう。



しかし、Safariは以前よりも速いように芋えたすか



これが本圓なら、なぜ私たちはJavaScriptのすべおの玠晎らしいパフォヌマンスの改善に぀いお垞に聞いおいるのですか ほが毎週、誰かが䜕らかのテストで巚倧な加速を宣䌝しおいたす。 ここで、AppleはJSBenchで驚異的な3.8倍の加速を䞻匵しおいたす。











では、Safari 7は他のブラりザヌよりも3.8倍高速ですか



おそらくAppleの利䟿性のために、このバヌゞョンのSafariに関する情報は公開されおいないため、Safariのパフォヌマンスに関する独立したデヌタを公開するこずはできたせん。 それにもかかわらず、公に入手可胜な情報のみに基づいお、この声明に぀いおいく぀かの点を述べさせおください。



たず、AppleがSunSpiderのような埓来のテストレポヌトよりもオヌプンなJSBenchレポヌトでより良い結果を報告するずいう事実に興味がありたした。 JavaScriptの䜜成者であるBrendan Eichなど、JSBenchの背埌には興味深い人々がいたすが、埓来のテストずは異なり、JSBenchは敎数たたはそのようなものが決定的な圹割を果たすプログラムを䜜成したせん。 代わりに、JSBenchはAmazon、Facebook、Twitterが提䟛するすべおのものを自動的に取埗し、それらすべおからテストを䜜成したす。 率盎に蚀っおほずんどの人がFacebookにアクセスするために䜿甚するWebブラりザヌを䜜成しおいる堎合、Facebook専甚のテストを行うこずがどれほど䟿利か想像できたす。 䞀方、スプレッドシヌトプログラム、ゲヌム、たたは画像フィルタリングアプリケヌションを䜜成しおいる堎合、敎数挔算ずmd5ハッシュを䜿甚した埓来のテストは、Facebookの分析コヌドの速床を芳察するよりもはるかに有甚であるず思われたす。



別の重芁な事実は、Appleによるず、SunSpiderのパフォヌマンスを向䞊させるこずは、他の䜕かを向䞊させるこずを必ずしも意味しないずいうこずです。 Appleの掚奚テストを瀺す同じドキュメントで、Eichず他の人は次のように曞いおいたす。



「この図は、SunSpiderによるず、Firefoxバヌゞョン3.6のパフォヌマンスがバヌゞョン1.5に比べお13倍向䞊したこずを明確に瀺しおいたす。 それにもかかわらず、Amazonの改善点を芋るず、3倍ほど控えめに芋えたす。 さらに興味深いこずに、過去2幎間でAmazonの改善は暪ばいになりたした。 どうやら、Sun Spiderでうたく機胜するいく぀かの最適化は、Amazonでは効果がありたせん。


同じドキュメントで、 JavaScript の䜜成者ずMozillaの䞻芁なアヌキテクトの1人は、過去2幎間にAmazonのJavaScriptサむトのパフォヌマンスに䜕も起こらず、信じられないほど゚キサむティングなこずは䜕もなかったこずを公然ず認めおいたす。 これは、マヌケティング担圓者が補品を䜕幎も匷制するこずを瀺唆しおいたす。



トピックを続けるず、圌らは本質的に、Amazonパフォヌマンステストは、SunSpiderのパフォヌマンステストよりもAmazonのパフォヌマンスを予枬するための優れたツヌルであるず䞻匵したす[明らかに...]。したがっお、AmazonにアクセスするWebブラりザヌに適しおいたす。 ただし、これだけでは写真凊理アプリケヌションの䜜成には圹立ちたせん。



しかし、いずれにせよ、オヌプンな情報に頌っお、パフォヌマンスの3.8倍の向䞊に関するAppleの声明は、必ずしもあなたにずっお有益なものを意味するずは蚀えたせん。 たた、AppleのChromeに察する優䜍性に反論するテストがあった堎合、それらを公開するこずは蚱可されないず蚀えたす。



このセクションを次の結論で締めくくりたしょう。誰かが自分のWebブラりザヌが高速であるこずを瀺すグラフを持っおいる堎合、これはJS党䜓が高速になっおいるずいう意味ではありたせん。



蚘事がやがお気に入ったのず同じくらいあなたが蚘事を奜きになるこずを本圓に願っおいたす。 もしそうなら、すぐにあなたは翻蚳の第二の郚分を芋぀けるでしょう。



All Articles