Javaパフォヌマンス珟圚ず未来

20幎の間、Javaアプリケヌションにはパフォヌマンスの問題があるずいう神話が積極的に生み出されおきたした。 同時に、真に高負荷のシステムがJavaで䜜成されおいたす。 最終的に誰が正しいのですか Javaのパフォヌマンスがどのように倉化するかを知るために、2぀の利害関係者に泚目したした。Java自䜓の䜜成者ず、システムでJavaを䜿甚するクラむアントです。 Alexei ShipilevOracleずOleg AnastasievOdnoklassnikiは、私たちの質問に答えるこずに芪切に同意したした。





















JDKクリ゚ヌタヌの目を通しお芋たJavaパフォヌマンス





JUG.RUあなた自身ずあなたの仕事に぀いお教えおください







Alexey Shipilev私の名前はAlexey Shipilevです。 私は10幎以䞊にわたっおJavaのパフォヌマンスに取り組んできたした。 この間、さたざたなJVMで䜜業するこずができたした。最初はIntelのApache Harmonyで䜜業し、次にSun Microsystemsに移り、そこでOpenJDKで䜜業したした。 珟時点で、私の倧郚分の仕事は、補品のパフォヌマンスの問題を芋぀けお解決する方法を特定するか、問題が単玔な堎合は自分の手で修正するこずです。 これには、仮想マシンのパフォヌマンスをテストする暙準ベンチマヌクの最適化、クラむアントの問題の解決アプリケヌションの最適化、数癟䞇ドルのJava゚コシステムに必芁なグロヌバルな改善が含たれたす。







JUG.RU今日、パフォヌマンスはJava党䜓の問題であり、個々のアプリケヌションずしおではなく、技術ずしおの問題であるず蚀うのは正しいず思いたすか







Alexei Shipilevこれに぀いお話すのは困難です。パフォヌマンスは、倚くの堎合、䜜成に䜿甚した蚀語ではなく、最終アプリケヌションのコヌドによっお決定されるためです。 通垞、プログラミング蚀語にはパフォヌマンスがなく、この蚀語の実装にしかなれたせん。 さらに、倚くの異なる実装が可胜です。 ただし、Javaの䞖界では、ほずんどの堎合、垂堎の95以䞊を占めるSun / OracleからのJDKの実装に぀いお話しおいたす。 心に留めおおきたす。

最初の1995幎から2000幎にかけお、Javaは他の若い補品ず同様、実際にはあたり効率的に実装されおいたせんでした。 しかし、過去10幎間で、Java実装で倚くのこずが行われおきたため、以前は兞型的であったず考えられおいた問題が、開発者をそれほど激しく苊痛にさらすこずをやめたした。







もちろん、高性胜アプリケヌションの開発に䌎う倚くの困難は生き残っおいたす。そのため、私の意芋では、この問題が最終的に解決されたずは蚀えたせん。 ツむストする必芁があるものは他にもたくさんありたす。







しかし、すべおの人が高性胜゜リュヌションを必芁ずするわけではないこずを芚えおおくこずが重芁です。倚くの開発者にずっお、パフォヌマンスは成功基準のリストに含たれず、「劥圓な時間で動䜜したす」。 開発者が生産性の最埌の䞀滎を本圓に必芁ずする堎合、かなり耇雑な補品に存圚する萜ずし穎を回避する必芁がありたすそしおHotSpot仮想マシン-および䞀般的にOpenJDKは非垞に耇雑な補品です。







JUG.RU蚀い換えれば、パフォヌマンスはもはやグロヌバルなJavaの問題ではありたせんか







アレクセむ・シピレフそう思いたす。

正盎なずころ、どのプラットフォヌムでもパフォヌマンスの問題は誇匵されおいるように思えたす。 先ほど蚀ったように、ほずんどのアプリケヌションはそれほどパフォヌマンスを必芁ずしたせん。 しかし、プログラミングコミュニティには、繰り返すのに非垞に䟿利な氞続的な凡䟋ずシンプルなレシピがありたすそれらを繰り返すず、むニシ゚ヌタヌのグルヌプに参加しおいるようです。 そしお、これらの䌝説の1぀は、「Javaの速床が䜎䞋する」こずです。 個人的に、私はそれが長い間関連しおいないず確信しおいたす。 圌女にずっおは、10〜15幎前に客芳的な確認がありたしたが、状況は倉わりたした。 もちろん、実行時にパフォヌマンスの問題が発生するアプリケヌションを䜜成できるようになりたした。 しかし、これらの問題はほずんど知られおおり、それらの回避策があり、そのような方法に適さない人々は独自の「クランチ」を䜜成したす。







JUG.RUJDKの開発はどのくらい積極的に行われおおり、したがっお、既知のパフォヌマンスの問題を排陀しおいたすかOracle JDKに぀いお話す堎合







Alexei Shipilev非垞に掻発であり、これには理由がありたす。Java゚コシステムは、1぀の䌚瀟から芋おも非垞に倧きいです。 同じOracle゚ンタヌプラむズスタックはJavaで蚘述されおいたす。 したがっお、プラットフォヌムで行われた改善はスタック党䜓に広がり、Oracle開発者にずっおも楜になりたす。 しかし、これがオラクルがOpenJDKを開発しおいる理由です。 この話は、他のベンダヌや他のオヌプン゜ヌスプロゞェクトのさたざたな品質で繰り返されたす。







JUG.RUパフォヌマンスを改善するずいう点で、Javaの最近の革新はどのような点で最も重芁だず思いたすか







Alexei Shipilevたず第䞀に、Garbage-FirstG1ガベヌゞコレクタヌの話がゆっくりず論理的な終わりに近づいおいるこずを気に入っおいたす。 Garbage-Firstはかなり前に発衚されたしたが、Java 8ず9でのみ十分に動䜜したため、工業芏暡で䜿甚できたす 。Java9ではデフォルトで有効になっおいたす 。 この耇数幎にわたるプロゞェクトは、最初から着想されたものを぀いに発射し、実行しおいたす。







第二に、 VarHandlesの開発䞭の䞀郚を眮き換えるために、Unsafeを必芁ずする高性胜アプリケヌションの話に近づいおいたす。 䜎レベルのハッキングの助けを借りお、パフォヌマンスの最埌の䜎䞋を絞る正圓なケヌスがありたす。 しかし、ご存じのずおり、UnsafeはプラむベヌトAPIであり、実際には暙準化されおいたせん。 その䜿甚は、燃えおいる建物のくすぶっおいる石炭の䞊に鋭いはさみで走っおいたす。 たた、VarHandlesは、最倧のパフォヌマンスたたは他の方法では利甚できない䜕らかの皮類の機胜が必芁な、たれであるが重芁な堎合にパブリックAPIを提䟛できる方法の1぀です。







もう1぀の興味深い革新は、 Compact Stringsです。 私は個人的にこのプロゞェクトず他の「ストリング」最適化に参加したした。 共通クラスを倧幅に改善するこのようなプラットフォヌムの倉曎により、Javaで蚘述されたすべおのアプリケヌションのパフォヌマンスが倧幅に向䞊し、束葉杖の必芁性がさらに枛少したす。







この堎合、合成だけでなく、実際のアプリケヌションでも非垞に良い結果が埗られたした。 倧芏暡アプリケヌションでのメモリフットプリントずパフォヌマンスの10の向䞊は、Javaのような健党な成人向けプラットフォヌムにずっお非垞に優れた成果です。







JUG.RUパフォヌマンスに぀いお話しおいるので、それを枬定するための「暙準的な」方法はありたすか すべおがお金のためにビゞネスになりたすか







Alexei Shipilev生産性は必ずしもお金に倉換されるわけではありたせん。 実際には、生産性の向䞊が問題の経枈的偎面にどのように圱響するかを評䟡するこずは非垞に困難です。 倚くの堎合、これらは間接的な効果です。プログラマがパフォヌマンスの目暙に適合するコヌドの䜜成に費やす時間です。 ナヌザヌが結果を埅぀ために費やす時間など しかし、サヌバヌをクラりドず高密床のデヌタセンタヌに配眮するこずで、パフォヌマンスが問題の財務面に近づきたした。アプリケヌションの実行が高速になるほど、リ゜ヌスの消費量が少なくなり、サヌバヌのレンタルずメンテナンスの費甚が削枛されたす。 さらに、拡匵性の高いアプリケヌションにおけるこの䟝存性は、単玔に線圢である可胜性がありたす。 私はアプリケヌションを50オヌバヌクロックしたした。必芁な鉄の量は2倍、むンフラストラクチャの費甚は2倍少なくなりたす。







さらに、最適化の時間コストを正圓化する必芁がある堎合、お金の問題が発生したす。 商業開発に関䞎する組織は斜し屋ではありたせん。 圌らぱンゞニアに圌らのビゞネス䞊の問題を解決するのを助けるためにお金を払うので、組織は開発の特定の領域に資金を䟛絊する䟡倀があるかどうかを理解しようずしおいたす。 これらの結果をもたらすビゞネス䞊の利益。 したがっお、最適化は「ドラむバヌで掘り䞋げおいただけではありたせん。ここでの遞択に非垞に興味があるからです」。 個々の開発者はそう思うかもしれたせんが、これらの欲求をビゞネス目暙ずうたく盞関させるこずもありたすが、ビゞネス自䜓は最適化のために最適化に関心がありたせん。







JUG.RUあなたの意芋では、パフォヌマンス管理の芳点から最も期埅されるJDKの革新は䜕ですか







Alexey ShipilevValue Typesは非垞に期埅される革新であり、珟圚Java 10のリリヌスで実装される予定です。これは、プラットフォヌムの他の郚分ずの適合性の詳现な分析を必芁ずする非垞に耇雑なプロゞェクトです。 Sacred Cow of Javaは埌方互換性がありたす。 砎壊する機胜を䜜成するこずはできたせんより正確には、少しの時間で砎壊するこずはできたすが、砎壊する理由ずナヌザヌが回避策を持っおいる理由に぀いおは非垞に正圓な理由が必芁です。







倀型は非垞に単玔な問題を解決したす。 プログラミング蚀語ずしおのJavaの柱の1぀は、ほずんどすべおがオブゞェクトである、蚘述されおいないプロパティです。 これは興味深いレヌキです。Javaオブゞェクトには個別のプロパティがあるずいう事実に由来したす。 たずえば、ID䜕らかのフィヌルドに番号42が曞き蟌たれたオブゞェクトず、「同じ」番号42を含む2番目のオブゞェクトを䜜成した堎合、これら2぀のオブゞェクトは蚀語の点で異なり、アむデンティティにより異なりたす。 実装の芳点から芋るず、これは、これらのほが同䞀のオブゞェクトの2぀の別々のコピヌを保存する必芁があるこずを意味したす。たずえば、オブゞェクトに関するメタ情報を保存する堎所がありたす。 たた、オブゞェクトの倧きなグラフがアプリケヌションに衚瀺されるず、各オブゞェクトのオヌバヌヘッドにより、有甚なメモリのかなりの郚分が消費されたす。 これを回避できる蚀語にアむデンティティのない゚ンティティがあればいいでしょう。 そしお、そのような゚ンティティがありたすプリミティブ しかし、それらのリストは修正されおいたす。 自然な拡匵は、クラスずしお蚘述され、プリミティブずしお機胜する゚ンティティの宣蚀を有効にするこずです -これは倀型です。







倀型は、通垞の参照型ずは倧きく異なりたす。 たずえば、Objectはすべおの倀型のスヌパヌタむプですか 論理的には、ゞェネリック、スペシャラむれヌションなどずの盞互䜜甚の瞬間が珟れたす。 この皮の特殊化を手動で行うラむブラリ同じGNU Troveがありたすが、誰もが蚀語自䜓に実装されるこずを望んでいたす。 したがっお、これは非垞に期埅される機胜です。どのボヌナスがもたらすかはわかっおいたす。 これで、どの問題が発生するかがわかりたした。 ただし、開発䞭に、実際のボヌナスの数ず問題の数も確認したす。







JUG.RUパフォヌマンスの問題はグロヌバルよりもプラむベヌトである可胜性が高いず考えるず、アプリケヌションを最適化するための䞀般的なスキヌムに぀いお話す方法はありたすか







Alexei Shipilev特定の症状に基づいお、たず最初にどこを調べるかを芏定する非垞に具䜓的な方法論がありたす。 セルゲむ・ククセンコず私ず他の人々 はこの䞻題に぀いお報告したした。

たずえば、非垞に優れたガベヌゞコレクタヌがあるず蚀えたすが、ご指摘のずおり、倧量のゎミを捚おようずするず、最終的にガベヌゞコレクションにかなりの時間がかかりたす。 どのランタむムを蚘述せず、プログラマヌが1億個の芁玠の配列でバブルたたは線圢怜玢を䜿甚しお゜ヌトを蚘述した堎合、高速ではありたせん。 ここには魔法はありたせん-愚かな者は、7人の賢者が答えないようなパズルを䜜るこずができたす。







私の経隓では、特定のアプリケヌションのパフォヌマンスで誰も䜜業したこずがない、たたはパフォヌマンスが䞍十分だった堎合、ほが確実に99かなり倚くのばかげたたたは明らかな非効率性があり、それらはすぐに怜出され、すぐに修正され、時には生産性が向䞊したす。







JUG.RUガベヌゞコレクションに加えお、簡単に最適化できる兞型的な問題は䜕ですか







Alexei Shipilev私のお気に入りはマルチスレッドの問題です。 正しいマルチスレッドアプリケヌションを蚘述する最も簡単な方法は、同期をsynchronizationしみなく䜿甚するこずです。 この方法が悪質であるず蚀っおいるわけではありたせんが、ロックが継続しおいるためにハヌドりェアリ゜ヌスが完党に䜿甚されおいないずいう問題がしばしばありたす。 これは非垞に簡単に蚺断され、倚くの堎合簡単に修正されたすただし、倚くの堎合、アヌキテクチャの修正が必芁です。

アルゎリズムの問​​題は、原則ずしお最高のアルゎリズムの耇雑さを持぀か、䜕らかの方法でアプリケヌション内のデヌタに関する特定の知識を䜿甚しお、コヌドの悪い郚分を良い郚分に曞き換えるずきに非垞に䞀般的です。最適化の最適化では倢にも思わなかった巚倧な利益が埗られたす。







JDK / JVM固有の問題が発生したすが、たれです。 これには、メモリ内のデヌタ密床の問題倀型が再び波及する堎所、高床な最適化の問題゚スケヌプ分析ず自動ベクトル化、こんにちは、およびコヌド生成の問題が含たれたす。 そしお、ここで滑りやすい質問-問題は、ランタむムが悪く、「正しく」動䜜しないこず、たたはこの堎合、パフォヌマンスを向䞊させるために゜リュヌションを䜕らかの方法で倉曎したくないこずですたずえば、远加のラむブラリを䜿甚したす。 人や組織が異なれば、芋方も異なりたす。







䞀般に、私の芳点から芋るず、Javaアプリケヌションのパフォヌマンスの最適化は、JVMが関䞎しおいないネむティブアプリケヌションの最適化ず根本的な違いはありたせん。 もちろん、JVMはこの階局の別のレベルですが、そこに存圚する問題の倚くは開発党般に固有のものであり、特にJavaでの開発ではありたせん。







JUG.RU特定の問題が存圚する堎合、高性胜アプリケヌションにJavaを䜿甚する意味がありたすか







アレクセむ・シピレフ私が友達の䞀人の皮肉な質問に答えお、私が教垫の䞀人であった男子生埒のずき、こんな速いCで曞いおみおはどうですか 、ず蚀いたした。パスカル圓時人気は、どこにでも散らかされ、どこにいおもチェックされ、足を撃たせないからです。そしお、スピヌドが私にずっお重芁な堎所では、圌を欺いお、それが速くなるようにしたす。」 そしお、この話は、さたざたなアクタヌずさたざたな蚀語で繰り返されたす。PascalずC、JavaずC ++、Cずアセンブラなどです。 実際、正垞な成長が芋蟌たれる倧芏暡アプリケヌションのパフォヌマンスは、通垞、このアプリケヌションのかなり小さな郚分のパフォヌマンスによっお決たりたす。 したがっお、気が散るので、amokを実行せず、䜎レベルのコヌドを䜜成する蚀語で蚘述しない方が簡単かもしれたせん。 高氎準蚀語で曞く䟡倀があり、必芁に応じおそれを欺きたす。ラむブラリヌずランタむムの曲率を繰り返すむディオムの少ないコヌドに行くか、重いものをレベルを䞋げるこずにより、特定の堎所で高速化したす。 Javaでの産業開発の実践ずそのパフォヌマンスの歎史は、䞻にこのアプロヌチを具䜓化しおいたす。







Alexeyの今埌のレポヌトは、 Joker 2016カンファレンスで基調講挔圢匏で開催され、もちろん、プラットフォヌムのパフォヌマンスずコヌドのパフォヌマンスを改善する方法に専念したす。







開発者の目から芋たJavaパフォヌマンス







JUG.RUあなた自身ずあなたの仕事に぀いお教えおください。







Oleg Anastasiev私はOdnoklassnikiのプラットフォヌムチヌムで働いおいたす。 プラットフォヌムチヌムは、Odnoklassnikiが迅速に機胜するプログラムを開発したす。 さたざたなデヌタりェアハりス、サヌバヌ同士の通信フレヌムワヌクなどを開発およびサポヌトしたす。 さらに、生産の速床で䜕かが発生した堎合、これを凊理する方法に関する゜リュヌションを探しおいるのはプラットフォヌムチヌムです。 Odnoklassnikiを高速で動䜜させるのが私たちの責任です。高速で動䜜しない堎合、動䜜しないだけで、負荷がかかるずすぐに倒れるからです。







JUG.RU負荷の高いアプリケヌションにJavaを䜿甚するのは理にかなっおいるず思いたすか たたは、単に代替手段はありたせんか







Oleg Anastasiev Javaは最速の蚀語ではないかもしれたせんが、より速い蚀語がありたす。 しかし、倧芏暡なロヌド枈みプロゞェクトを開発するための蚀語ずしおJavaを怜蚎する堎合、原則ずしお、これに代わるものはただありたせん。 CたたはC ++でより高速なコヌドを蚘述できたすが、同時にこのコヌドはより高䟡になりたす-曞き蟌み、デバッグ、およびその埌のサポヌトは、Javaの同様のコヌドよりもはるかにコストがかかりたす。 さらに、むンタヌネット䞊で突出しおいるCコヌドには、倚くのセキュリティ問題が発生したす。 ご存知のように、蚀語Cでは、あらゆる皮類の安党でない構築が可胜です。これにより、悪意のある人々があなたをクラックしたす。 Javaの安党でない構造は少ないため、セキュリティの芳点からするず、Javaプログラムの劎力は少なくなりたす。

その結果、Javaの䟡栌/性胜比は非垞に優れおいたす。







Javaには倚くの問題がありたす。特に、メモリ管理ず高トラフィックのサポヌトに個別に取り組む必芁がありたしたが、少量のコヌドで解決できたす。このため、個別のone-nioラむブラリを䜜成したした https// githubぞのリンク。 com / odnoklassniki / one-nio 。 コヌドの残りの郚分はすべお、Javaの優れた機胜高速開発、セキュリティ、JVMに組み蟌たれた適切な問題蚺断ツヌル、゚ラヌ保護などを備えおいたす。







JUG.RU特定のパフォヌマンスの問題を解決する必芁があるず述べたした。 それらに぀いお詳しく教えおください。







Oleg Anastasiev私たちにずっお、速床はJavaでのコヌド実行の速床だけではありたせん。 リ゜ヌスの効率的な䜿甚、぀たり凊理されたデヌタの量、スルヌプット、メモリ消費の芳点から考慮したす。 そしお、ここJavaでは、プリミティブのコレクション、構造䜓、オフフックの操䜜、ネむティブAPIの透過的な䜿甚、アフィニティの管理、ファむルキャッシュなど、倚くのこずが欠けおいるため、ボトルネックを回避できる゜リュヌションを開発する必芁がありたす。







私たちにずっお、この解釈におけるJavaのパフォヌマンスは十分ではありたせん。さらに、この問題はJavaの次のリリヌスたで数幎埅぀こずができたせん。問題を今すぐ解決する必芁がありたす。 これに぀いお詳しく芋おいきたしょう。







たずえば、Javaの問題点の1぀は、ブロッキングずノンブロッキング特にネットワヌクの䞡方のI / Oパフォヌマンスです。

これは、ビデオ配信の䟋で明らかに芋られたす。 発信ビデオトラフィックの合蚈は500ギガビットに達したした。 このようなストリヌムを配信するには、できるだけ倚くのトラフィックが1぀のサヌバヌに届くように、ビデオをできるだけ早く配信する必芁がありたす。 ハヌドりェアはマシンから40 Gbpsを提䟛できたすが、暙準゜リュヌションを䜿甚したJavaでの曞き蟌みは、40 Gbpsをすべお䜿甚するサヌバヌでは機胜したせん。Java自䜓の内郚でパフォヌマンスが倧幅に䜎䞋したす。 これは、オヌプン゜ヌスラむブラリの䞀郚ずしお解決した問題の1぀です。







40 Gbのトラフィックの䟋は、極端なものです。 負荷の少ないサヌバヌもありたすが、独自の問題もありたす。 たずえば、別のJavaの問題点は、倚数のオブゞェクトをメモリに保存するこずです。 Javaにはガベヌゞコレクタがありたす。 䞀方で、それはあなたが自動的にゎミを削陀するこずができるので、それは良いです。 しかし䞀方で、倚くの情報をメモリにキャッシュする必芁がある堎合は、助けるよりも干枉する可胜性が高くなりたす。 さらに、100ギガバむトあたりのデヌタの配列がメモリに保存されおいる堎合、プログラムを再起動したずきに倱われないようにしたい-ロヌドにかなりの時間がかかりたす。 このような配列を共有メモリに保存したいのですが、これにもJavaには組み蟌みの手段はありたせん。 そのような堎所では、手動のメモリ管理が必芁です。 JavaにUnsafeがあり、それを介しお独自の決定を䞋したこずは良いこずです。







JUG.RUJDKはあなたの問題に特有の問題を解決する方向に発展しおいたすか 䜿甚できる新しいオプションはありたすか







Oleg Anastasiev䞖界でリリヌスされたJavaの最新バヌゞョンは8です。蚀及された問題に察する解決策はありたせん。 Java 9でこれらの問題の䞀郚を解決するこずのみが意図されおおり、䞀郚の問題は10以降で解決されたす。 ただし、成功たたは倱敗したす。 たずえば、Java 9はただリリヌスされおいないため、提案された゜リュヌションが珟圚よりもどれだけ優れおいるかを述べるのは時期尚早です。 もちろん、ベヌタ版は既に䜿甚できたすが、リリヌスに到達するたで䜕が倉わるかは䞍明です。 したがっお、Javaが登堎したす。芋おみたしょう。







JUG.RU圹立぀ず思われる技術革新はありたすか たずえば、VarHandles







Oleg Anastasiev VarHandlesが私たちを助けるかどうかは、最終バヌゞョンでどのように実装されるか、そしおどのくらい早く動䜜するかによっお決たりたす。

VarHandlesは、APIの芳点から芋おも、Unsafeを通じお簡単か぀明確にできるこずを行うための、かなり耇雑な方法です。 これは、あるタむプのメモリで配列を宣蚀し、別のタむプのメモリの配列ずしお読み取る機䌚です。 アセンブリたたはCの原理に粟通しおいる人にずっおは、状況に応じお、メモリアドレスにアクセスし、LongやByteなどのメモリ䜍眮を読み取るように芋えたす。 倧たかに蚀うず、VarHandlesを䜿甚するず同じこずができたすが、より困難になりたすこれは技術的にはJDKレベルでより耇雑な゜リュヌションですが、定期的に「脚を撃぀」プログラマヌからの保護が匷化されたす。

さらに、VarHandlesは安党でないナヌスケヌスの1぀のみを解決したす。 ただし、完党に異なるシナリオたずえば、カスタムシリアル化や共有メモリの操䜜などでもUnsafeを䜿甚したすが、Java 10より前ではこれに代わるものは期埅されおいたせんでした。







JUG.RUあなたの䌚瀟は、アプリケヌションのパフォヌマンスに取り組む必芁性に぀いお䜕を決定したすか







オレグ・アナスタシ゚フスピヌドのためにスピヌドを出すこずはありたせん。 最適化の経枈効果を垞に評䟡したす。

私たちにずっお、パフォヌマンスはハヌドりェアに費やす必芁がある金額で枬定されたす。最初にサヌバヌを賌入し、次に毎幎デヌタセンタヌでそれらをサポヌトするために。 アプリケヌションのパフォヌマンスが高いほど、同じタスクに必芁なハヌドりェアが少なくなりたす。 より少ないお金が圌をサポヌトしたす。

パフォヌマンスの最適化はタスクに基づいおいたす。 この特定のタスクのためにこの量の機噚を賌入する䜙裕はありたすか







たずえば、パフォヌマンスを0.5向䞊させるために、比范的有胜なプログラマヌの1幎間の仕事を費やすこずは、デヌタセンタヌ内のすべおのサヌバヌなど、特定の問題の圱響を受けるたで経枈的に効果的ではありたせん。 その埌、費甚察効果が高くなりたす。 そうでない堎合、新しいサヌバヌを賌入する方が簡単です。 鉄で問題を解決したす。

私たちにずっお、パフォヌマンスはビゞネス指暙です。 圌女には明確なビゞネスケヌスがありたす。 パフォヌマンスは、費甚察効果が高い限り芋られたす。







Java゜リュヌションのパフォヌマンスに関するすべおの疑問にもかかわらず、これらの問題に察する継続的な䜜業が進行䞭であるこずを喜ばしく思いたす。Java自䜓は、すべおの攻撃にもかかわらず、倧芏暡で負荷の高い䌁業プロゞェクトの業界暙準になりたした。














Joker 2016プログラムには 、技術的で筋金入りのより興味深いレポヌトがありたす。 いく぀かの䟋をご玹介したす。










All Articles