Cliff ááá¯ááŸáááºáá«á â Cratus á CTO (áá¯ááºáááºážá
ááºááá¯ážáááºááŸá¯á¡ááœáẠIoT á¡á¬áá¯á¶áá¶áááááá¬áá»á¬áž)á á¡á±á¬ááºááŒááºáá±á¬ ááœááºáá±á«ááºáá»á¬ážá
áœá¬ááŒáá·áº (Rocket Realtime Schoolá Neurensic ááŸáá·áº H2O.ai á¡áá«á¡áááº) á
áááºáááºáá±á¬ááºáá°ááŸáá·áº ááœá²áááºáááºáá±á¬ááºáá°á¡áá»á¬ážá¡ááŒá¬ážá Cliff ááẠá¡ááẠ15 ááŸá
áºá¡ááœááºááœáẠáááºážá ááááá¯á¶áž compiler (TRS Z-80 á¡ááœáẠPascal) ááᯠáá±ážáá¬ážáá²á·áááºá áá°ááẠJava ááŸá C2 (the Sea of ââNodes IR) ááœáẠáá°áá¡áá¯ááºá¡ááœáẠáá°áááá»á¬ážáááºá ဠcompiler ááẠJIT ááẠJava ááᯠáááºááá±ááºáá®áá±á¬á·ááºáá²ááºááááºáá±á¬ááºážáá
áºáá¯á¡ááŒá
Ạáá±á«áºááœááºážáá¬ááŸá¯ááœáẠá¡ááŒá±á¬ááºážáááºážáá
áºáá¯ááŒá
áºááá·áº á¡áááºá¡ááœá±ážááŒáá·áºáá¯ááºáá»á¬ážááᯠáá¯ááºáá¯ááºááá¯ááºááŒá±á¬ááºáž ááá¹áá¬ááá¯ááŒááá²á·áááºá ááá¯á·áá±á¬áẠCliff ááẠ864 áá®áá®á
áá¹ááá·áºá¡ááœááºáž 500-gigabyte á¡á
á¯á¡áá±ážááœáẠGC áá±áá¹ááááºááŒááºážááᯠáá¶á·ááá¯ážáá±ážááá·áº 10-core áááºááááááºááᯠAzul Systems á០áááºáá®ážáá±ážáá²á·áááºá áá±áá°áá»á¡á¬ážááŒáá·áºá Cliff ááẠJVM á ááá¹áá¡á¬ážáá¯á¶ážááᯠáá¯ááºáá±á¬ááºááá¯ááºáá²á·áááºá
ဠhabrapost ááẠCliff ááŸáá·áº áá±á¬ááºážááœááºáá±á¬ á¡ááºáá¬áá»á°ážáá
áºáá¯ááŒá
áºáááºá á¡á±á¬ááºáá«á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠááœá±ážááœá±ážáá«áááºá
- á¡ááá·áºáááá·áºáá±á¬ ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážááá¯á· áá°ážááŒá±á¬ááºážááŒááºážá
- á¡ááŒá®ážááŒá®áž refactoring áá¯ááºáááºáž
- áá±á¬áºáááºáá¯ááºáá»á ááááº
- á¡ááá·áºáááá·áºáá±á¬ optimization áááºáááºáž
- á áœááºážáá±á¬ááºáááºááŒáŸáá·áºáááºááŒááºážá áááºááœá±á·á¥ááá¬áá»á¬áž
- ááá·áºááá¯ááºááá¯áẠprogramming language ááᯠáá¬ááŒá±á¬áá·áº áááºáá®ážáá¬áá²á
- Performance Engineer á¡áááºááœá±ážáááºážááŒá±á¬ááºáž
- áááºážááá¬ááá¯ááºáá¬á áááºáá±á«áºááŸá¯áá»á¬áž
- á á¬áááºážááœááºážááœá²áá±ááŒááºážááŸáá·áº cores áá»á¬ážá áœá¬á¡ááŒá±á¬ááºáž á¡áááºážáááº
- ááááŸá¬ á¡ááŒá®ážáá¬ážáá¯á¶ážá áááºáá±á«áºááŸá¯
á¡ááºáá¬áá»á°ážáá»á¬ážááᯠáá±á¬ááºááœááºáá±ážáááº-
- Andrey Satarin Amazon Web Services á០áá°áá¡áááºááœá±ážáááºážááŒá±á¬ááºážááœááºá áá°ááẠáá¯á¶ážáááœá²ááŒá¬ážááŒá¬ážáá¬ážáá±á¬ááá±á¬áá»ááºáá»á¬ážááœáẠá¡áá¯ááºáá¯ááºááá¯ááºáááº- Yandex ááœáẠNewSQL ááŒáá·áºáá±áá¬ážáá±á¬áá±áá¬áá±á·á áºá Kaspersky Lab ááŸá cloud detection á áá áºá Mail.ru ááŸá multiplayer ááááºážááŸáá·áº Deutsche Bank ááŸá ááá¯ááºáá¶ááŒá¬ážááœá±áá²ááŸááºááŸá¯ááºážááœááºáá»ááºááŒááºážáááºáá±á¬ááºááŸá¯ááá¯á·ááᯠá ááºážáááºáá²á·áááºá ááŒá®ážáá¬ážáá±á¬ backend ááŸáá·áº ááŒáá·áºáá±ááŸá¯á áá áºáá»á¬ážááᯠá ááºážáááºááẠá áááºáááºá á¬ážáááºá
- ááá¬áá®áᬠSitnikov Netcracker á០ááœááºáááºááŸáá·áº ááœááºáááºá
ááºáá
á¹á
ááºážá
á®áá¶ááá·áºááœá²ááŸá¯ áá¯ááºáááºážá
ááºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááẠáááºáá®ááœááºážá¡á±á¬áºááá±áá¬áá»á¬ážá¡áá¯á¶ážááŒá¯ááá·áº NetCracker OS á á
áœááºážáá±á¬ááºáááºááŸáá·áº á¡ááá¯ááºážá¡áá¬á¡áá áááºááŸá
áºááŒá¬ áá¯ááºáá±á¬ááºáá²á·áááºá Java ááŸáá·áº Oracle Database á
áœááºážáá±á¬ááºáááºááá¯ááºáᬠááŒá¿áá¬áá»á¬ážááᯠá
áááºáááºá
á¬ážáááºá ááá¬ážááẠPostgreSQL JDBC áááá¯ááºáá¬ááœáẠá
áœááºážáá±á¬ááºáááºááá¯ážáááºááŸá¯ áá
áºáá«áááºáá»á±á¬áºááᯠáá±ážáá¬ážáá°á
á¡ááá·áºáááá·áºáá±á¬ ááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážááá¯á· áá°ážááŒá±á¬ááºážááŒááºážá
ÐМЎÑейJIT compilation, Java, and performance work áá±áá¯áá»á¡á¬ážááŒáá·áº áááºážá áá¬áááºá¡ááŒá®ážáá¯á¶ážáá²á
áá»á±á¬ááºáááºážáá«áž: áá®ááá¯áá«áá²!
ÐМЎÑей: á áœááºážáá±á¬ááºáááºá¡áá¯ááºá¡ááŒá±á¬ááºáž áá±áá°áá»áá±ážááœááºážá¡áá»áá¯á·áá²á· á ááá¯ááºáá¡á±á¬ááºá CPU á¡ááá·áºááœááºá¡áá¯ááºáá¯ááºááŒááºážáá²á·ááá¯á·áá±á¬á¡ááá·áºááŒáá·áºááŸáá·áºá¡áááá·áºá¡ááá·áºááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááŒááºážá¡ááŒá¬ážááœá±ážáá»ááºááŸá¯ááŸáá·áº áááºáááºá áááºáááºááá¯á·áááºááááºážá
áá»á±á¬ááºáááºážáá«áž: áá¯ááºáá²á·á á¡á¬ážáá¯á¶ážá ááá¯ážááŸááºážáá«áááºá á¡áá»ááºááŒááºáá¯á¶ážáá¯ááºááẠáááºáá±á¬á·á០ááááºáááºááá¯ááºáá«á ááá¯á·ááŒá±á¬áá·áºá áááºá¡ááŒá²áááºážááŒáá·áºáá¬ážáá±á¬á¡ááá·áºááŸá áááºáááºá algorithms ááá¯áá¯ááºáá±á¬ááºáááºááá¯á¡ááºáááºá ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ O áááºá¹áá±áááẠáá¯á¶áá±á¬ááºáá±á¬ ááááºážáá±á¡áá»áá¯á·ááᯠáá áœááºáááºáá«á ááá¯ááá¯ážáá±á¬ O áááºá¹áá±áááᯠá¡ááá¯ááºáá°áááá·áºáááºá á¡ááá·áºáááá·áºáá±á¬á¡áá¬áá»á¬ážááẠáá±á¬ááºáá¯á¶ážááŒá áºáááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áááºááẠáááºáá¡á á¯á¡áá±ážááá»ááºáá»á¬ážááᯠáá±á¬ááºážá áœá¬ááŒááºáááºáá¬ážááŒá®áž á áááºáááºá á¬ážá áá¬á¡áá»áá¯á·áá»ááºáá±áá±ážáá«áá áááºážááẠá¡ááá·áºáááá·áºáá«áááºá áá«áá±ááá·áº ááŒáá·áºáá¬ážáá²á·á¡ááá·áºááá± áááºááá¯á áááºááá²á á¡ááá·áºááŒáá·áºá¡áá¯ááºááœá± áá¯á¶áá¯á¶áá±á¬ááºáá±á¬áẠááŒá®ážááŒá®ááá¯áᬠáááºááá¯áááá²á á¡ááºáž... áááºááá¯á០áááŒá áºáá°ážá á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ áá»ááºááŒá¯ááºáááºážáá»á¬áž áááŸááá«á áááºááẠááŒá¿áá¬ááᯠáá¬ážáááºááẠááá¯á¡ááºááŒá®áž áááºáá¬áá¯ááºáááºááᯠáá¯á¶ážááŒááºááẠ(á¡áá¬áááºááœáẠáááá¯á¡ááºáá±á¬ ááŒá±ááŸááºážáá»á¬áž áááŒá¯áá¯ááºááá á±áááº) ááá¯á·áá±á¬áẠá¡áá¯á¶ážáááºáá±á¬ á¡áá¬áá áºáá¯áᯠááŒá±á¬ááá¯ááºááá·áº áááá¯ááá¯ááºááᯠáááºáá±á¬áºáá¯ááºááá¯ááºáááºááŒá áºáááºá áá áºáá»áááºáá»áááºááœááºá áááºááẠáááá¯á¡ááºáá±á¬á¡áá¬áá»á¬ážááᯠáááºááŸá¬ážááá¯ááºááŒá®ááŒá áºááŒá±á¬ááºážááŸáá·áº á¡ááá·áºáááá·áºáá±á¬ áá»áááºááŸáááŸá¯á¡áá»áá¯á·ááᯠááŒá¯áá¯ááºááẠá¡áá»áááºáááºááŒá®ááŒá áºááŒá±á¬ááºáž áááºááá¯ááºááá¯áẠááááŸááá¬ážáááºáá¬áá«áááºá áá±áá»á¬áá¬ááá±á¬á· áá°ážááŒá¬ážáá²á· á¡áá¯ááá¬áá áºáá»áá¯ážáá«áá²á áááá¯á¡ááºáá²á·á¡áá¬ááœá±ááᯠáá¯ááºáá±áá²á·áá°ááœá± á¡áá»á¬ážááŒá®ážááŸááá±ááá·áº áá¯ááºáá¯ááºá áœááºážá¡á¬ážá¡ááœáẠá áááºáá°ááá¯á· á¡áá»áááºáááŸááá±á¬ááºá¡á±á¬áẠááŒááºááŒááºáááºááẠááœá±á·áá»á¬ážáá±áá«áááºá áá«áá±ááá·áº áá®áá±ážááœááºážá ááŒááºááŒááºáá¬ážáá¬áž áá±á«áºáá¬áá²á·á¡áááá«áá²á áá¯á¶ááŸááºá¡á¬ážááŒáá·áºáá±á¬á· 99% á áá«áá¬áá¯ááºáá±áá² áááºáá°áá០ááá¯áá áá¯ááºáá°ážá á¡áá±ážááŒá®ážáá²á·á¡áá¬áá áºáá¯á áááºáá°á·ááá¯á០ááá¯áá áá¯ááºáá²á· á¡áá±ážááŒá®ážáá²á·áááºážááᯠáá»áŸá±á¬ááºáá¬áá²á·á¡ááá¯ááºá¡ááá·áºáá«áá²á á€ááœáẠáá°ááá¯ááºážá "á¡á ááááºážá ááŒá®ážááŒáá·áºá á¯á¶á áœá¬ á¡áá¯ááºááá¯ááºáá²á·áᬠáá¬ááŒá±á¬áá·áºáá²" ááá¯á· ááŒá®ážááœá¬ážáá¬áá«áá±á¬á·áááºá áá±áá°áá»á¡á¬ážááŒáá·áº á áœááºážáá±á¬ááºááẠááá¯ážáááºááẠáá áºáá¯áᯠá¡ááŒá²ááŸááá±áá«áááºá áá«áá±ááá·áº ááá·áºááŸá¬ 99% á áŠážáá±á¬ááºáááºážáጠáááŸááá«áá°ážá áááºááẠáá áºáá¯áá¯ááᯠá¡áá¯ááºááŒá áºá¡á±á¬áẠááŒáá¯ážá á¬ážáá±ááŒá®áž áá¯ááºáááºážá ááºááœáẠá¡áá±ážááŒá®ážáá±á¬á¡áá¬ááᯠáááºááŸá¬ááœá±áá±áá«áááºá á€á¡ááá¯ááºážááẠááŒá®ážááŒáá·áºá á¯á¶ááẠááá¯á¡ááºááŒá±á¬ááºáž áááºáááºáá±á¬á·á០ááŒáá¯ááááá¯ááºáááºááá¯ááºáá±á¬ááŒá±á¬áá·áº á¡ááŸááºááááºááœáẠáááºááẠá¡áá¬áá¬á ááŒá®ážááŒáá·áºá á¯á¶áá±ááẠááá¯á¡ááºáá«áááºá áá«áá±ááá·áº áá«á áááŒá áºááá¯ááºáá°ážá áááºážááá¯ááºáá°ážá ááŒááºá áá¬ááœá± á¡ááŒá²ááŸááá±ááẠ- á¡á²áá«á áá¯á¶ážááá¯á¶ááŸááºáá«áá²á
á¡ááŒá®ážááŒá®áž refactoring áá¯ááºáááºáž
ÐМЎÑей: áááºáž áááºááᯠáá»á±á¬áºááŒá±ááŸá¯áá»áá¯áž áá¯ááºáá¬áá²á áá«á ááŒááºáá±á¬ááºáá²á· ááŒá¿áá¬áá«á á¥ááá¬á¡á¬ážááŒáá·áºá ááŸáááŒá®ážáá¬ážáá¯ááºáá±á¬ááºááá¯ááºá áœááºážáá»á¬ážá áœá¬ááááºážáá¯á¶ááŸááŒá áºáá±á«áºáá¬áá±á¬ááŒá¿áá¬áá»á¬ážááá¯áááºáá¯ááºáá±á¬ááºáá²á·áá°ážáá«ááá¬ážá
áá»á±á¬ááºáááºážáá«áž: áá« á¡á²áá«ááᯠááŸá±á¬ááºááá¯á· ááŒáá¯ážá
á¬ážáááºá á
áœááºážáá±á¬ááºáááºá ááŒá¿áá¬ááŒá
áºáááºááá¯áᬠáááááºá á¡áá°ážáááŒáá·áº áá±áá¬áááºáá±á¬ááºáá¯á¶ááœá±áá²á· coding áá
ááẠá¡á²áá«ááᯠá
ááºážá
á¬ážáá«áááºá áá«áá±ááá·áº áá±á¬ááºááá¯ááºážááŸá¬ áá«ááœá±á¡á¬ážáá¯á¶ážááᯠáááºááŸá¬ááœá±ááœá±á·ááŸááááºáá«áááºá ááŒá®ážáá±á¬á· áááºážáᬠááŒááºážáááºáá²á· á¡ááá¯ááºážá¡áá¬ááᯠááœá¬ážááŒá®áž "ááŒááºáá±ážááŒá®áž á¡á±á¬ááºááá¯ááº" ááá¯á· áá±á«áºáá²á· á¡áá¬ááᯠáá¯ááºááááº- áá¯á¶áá±á¬ááºáá²á· á¡ááá¯ááºážááᯠáááºážááááºá á
áœááºážáá±á¬ááºáááºááŒá¿áᬠááá¯á·ááá¯áẠá¡ááŒá¬ážá¡áá¬áá
áºáá¯áá¯ááŒá±á¬áá·áº á¡áá»áá¯á·áá¯ááºá¡áá»áá¯á·ááᯠááŒááºáááºáá±ážáá¬ážááŠážáááºááŒá
áºáááºá áá¯ááºááᯠááŒááºáá±ážáááŒááºážá á¡ááŒá±á¬ááºážáááºážááŸá¬ áá±ážáááºáá±á¬ á¡ááá¯ááºážááẠááá¯ááŒá®ážáá±á¬ á¡ááá¯ááºážááᯠááŒááºáá±ážááŒááºážááẠá¡ááŒá²áááºážáá®ážáá«áž ááá¯áá±á¬ááºážáááºá á€á¡ááá¯ááºá¡ááá·áºááœááºá áá°ááá¯ááºážááẠááŒá±á¬ááºááœá¶á·áá¯ááºááŸá¯ááºáá±ááŒáááº- "á¡áᯠáá¯áá¬ážááááºá áá¯ááºááᯠá¡áá»á¬ážááŒá®áž áááááá¯ááºáá«áá°áž!" áá«áá±ááá·áº ááááºáá±á¬á· áá®áá»ááºážáááºááŸá¯á á¡ááŒá²áááºážáá®ážáá«áž ááá¯áá±á¬ááºážáááºá áááºááẠááŒá¿áá¬ááŒá®ážáá
áºáá¯ááᯠáá»ááºáá»ááºážááŒá±ááŸááºážááẠááá¯á¡ááºááŒá®áž áááºážáááºáááºáááºááœáẠá
ááºááá¯ááºážááŒá®ážáá
áºáá¯ááœá²ááŒá®áž á
ááºááá¯ááºážá¡ááœááºážááŸá á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá«ááŒááºáá±ážáááºáᯠááŒá±á¬áááºááá¯áááºá á¡á
á¬ážááá¯ážááẠááá¯á¡ááºáá±á¬ áá±á¬ááºááẠá¡ááœááºážááŸá á¡ááŒá±á¬ááºážá¡áá¬ááẠáá»á¬ážá
áœá¬ áá±ážáááºáááºá ááá¯áá²á·ááá¯á· áááºááááááºáá»ááºážáá»á¬ážááẠááá·áºá¡ááœááºážááá¯ááºážá¡áá¯ááºááᯠááŒá®ážááŒáá·áºá
á¯á¶á
áœá¬ áá¯ááºáá±á¬ááºááá¯ááºáá»áŸáẠááá·áºáááºáá»á¬ážááẠááœááºáááºáááºá áááºá¡ááá¯ááŸááá¬ááᯠáá¯ááºáá±á¬ááºáá«á ááŒá¿áá¬ááᯠáá¬ážáááºááŒá®ážáááºááŸáá·áºá ááŒááºáááºáá±ážááŒááºážáá¯ááºáááºážá
ááºááẠááá¯ááá¯ááœááºáá°áá¬áá±á¬ááŒá±á¬áá·áº áá»á¬ážáá»á¬ážá
á¬ážáá«á
áá
áºáá»áááºáááºážááŸá¬ááẠáááºááẠááŒá®ážáá¬ážáá±á¬ ááŒááºáááºáá±ážáá¬ážááŸá¯áá
áºáá¯ááᯠááŒá¯áá¯ááºááŒá®áž á
áœááºážáá±á¬ááºáááºááẠááŒá¿áá¬áá
áºáá¯ááŒá
áºáá±á¬á·áááºááᯠááááá¯ááºáá±á¬á¡áá«ááœáẠáááºážááŸáá·áºáááºáááºá áááºáá»ááºáá»ááºážá
áá¯ážááááºáá¬ááá¯ááºáááºá áááºážááẠá¡áá»á¬ážá¡á¬ážááŒáá·áº "áá±áá¬ááᯠáá°ážáá°á áá±áá¬ááᯠáááºááá¯ááºááá»áŸ ááá¯ážááŸááºážá¡á±á¬áẠá
á®áá¶áá«á áá±ážáááºá¡á±á¬ááºáá¯ááºáá«" áá²á·ááá¯á·áá±á¬ ááá¯ážááŸááºážáá±á¬á¡áá¬áá»á¬ážá¡ááŒá
áºááá¯á· ááŒá±á¬ááºážáá²ááœá¬ážáá«áááºá ááŒá®ážáá¬ážáá±á¬ ááŒááºáááºáá±ážáá¬ážááŸá¯áá»á¬ážááœáẠá
áœááºážáá±á¬ááºáááºááᯠááŒáŸáá·áºáááºááẠá
á¶áááºážáááºážáá»á¬ážááŸááááºá ááŒá®ážáá±á¬á· áá°ááá¯á·á áá±áá¬ááᯠá¡ááŒá²áááºážáá®ážáá«áž ááŸáá·áºáááºáá±áááºá
áá±á¬áºáááºáá¯ááºáá»á ááááº
ÐМЎÑей: ááẠáá±á«á·ááºáá¬á áºáá»á¬ážáá²á០áá áºáá¯ááœáẠáá¯ááºáá¯ááºá áœááºážá¡á¬ážááá¯ááºáᬠá¡ááŒá±á¡áá±ááœáẠáá¯ááºáá»á ááááºáá±á¬áºáááºáá»á¬ážá¡ááŒá±á¬ááºáž áááºááŒá±á¬áá²á·áááºá áá«á áá¬ááá¯ááá¯ááá¯áááºááá¯áᬠááŸááºážááŒááá¯ááºááá¬ážá
áá»á±á¬ááºáááºážáá«áž: áá±áá»á¬áá«áááºá áááá¯áááºáá¬á
áœááºážáá±á¬ááºáááºá á¡ááœááºá¡áá±ážááŒá®ážáá²á·áá±ááºááŸá¬ ááœá±ážááœá¬ážáá¬áá¬áá«á ááŒá®ážáá±á¬á· áá®áá±ááºá áá
áºáááºááŒááºááŒá
áºáá¬ááŒááºááẠ- áá¶ááŒáá¹áá¬á áá±á·áá±á«á·á
áᬠáááŸááá«áá°ážá ááŸá
áºáá
áºá
ááºááœá± áááºáááºááŸá¬ á
áááºá¡áááºááœá±ážáá²á·áááºá áá»áœááºáá±á¬á·áºáá²á· ááááá¯á¶áž ááœááºáá»á°áá¬á 256 bytes áá²á· á¡áá¯ááºáá¯ááºáááºá ááá¯ááºááááá á¡áá¬á¡á¬ážáá¯á¶ážáᬠá¡ááœááºáá±ážáááºáá²á·áá«áááºá ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠáá±ááœááºááẠááá¯á¡ááºááŒá®áž áá»áœááºá¯ááºááá¯á·ááẠáááá¯ááááºážáááºážáá¬áá¬á
áá¬áž á¡á
á¯á¡áá±ážááᯠá
áááºááœá±á·áá»á¬ážáá¬áááºááŸáá·áºá¡áá»áŸ áá¬áá¬á
áá¬ážáá»á¬ážááẠááá¯áá»á¬ážáá¬áá«áááºá Assembler ááŸáááŒá®ážá ááá¯á·áá±á¬áẠBasicá ááá¯á·áá±á¬áẠCá ááŸáá·áº C ááẠregister allocation ááŸáá·áº instruction selection áá²á·ááá¯á·áá±á¬ á¡áá±ážá
áááºá¡áá»ááºá¡áááºáá»á¬ážá
áœá¬ááᯠááá¯á
áá¯ááºáá²á·áááºá áá«áá±ááá·áº á¡áá¬á¡á¬ážáá¯á¶ážá á¡á²áá®áá±áá¬ááŸá¬ áá±á¬áºáá±á¬áºááŸááºážáá±ááŒá®ážá ááááºážááŸááºáá
áºáá¯áá²á· á¥ááá¬ááᯠááœáŸááºááŒááá¯ááºáááºá áá« load áááŒá®áž áá®ááœáŸááºááŒá¬ážáá»ááºáá²á· áá¯ááºáá»á
ááááºááᯠáááááºá áá¬á·ááºáá²ááẠá
ááºáááºáááºááŸá¯ á¡áá»á¬ážá¡ááŒá¬ážááᯠáá¯ááºáá¯ááºáá±ážáá±á¬ááŒá±á¬áá·áº ááá°áá®áá±á¬ á¡áá¬áá»á¬ážá áá¯ááºáá±á¬ááºááŸá¯á¡ááŒááºááŸá¯ááºážááᯠáááºáá¯ááºáá±á¬ááºááá·áº ááœáŸááºááŒá¬ážáá»ááºá¡á¬ážáá¯á¶ážááᯠáá±á«ááºážááá·áºááŒááºážááŒáá·áº ááá¯ážááá¯ážááŸááºážááŸááºáž ááœááºáá»ááºááá¯ááºáá«áááºá ááŸáá¯ááºážááŸááº/á
ááºážáááºááŸá¯/áá¬áááœá²/áá±á«áºááá¯ááŸá¯/áá±á«ááºážáá¯ááº/á
ááá¯ážáá
áºáá¯á
á®ááá¯ááºážááᯠáá±á«ááºážááá·áºááá¯ááºááŒá®ážá áááºážááẠááá·áºá¡ááœáẠáá¯ááºáá±á¬ááºáááá·áºá¡áá»áááºááŒá
áºáááºá á
áœááºážáá±á¬ááºáááºááᯠááŒáŸáá·áºáááºááẠáá¯ááºáá±á¬ááºááá·áºá¡áá«á áá±ážáááºáá±á¬ áá°áá±á¬á
ááºáááºážáá»á¬ážááŸáá·áº áááºááá¯ááºááá·áº ááááºážááááºážáá»á¬ážááᯠáá±áá»á¬á
áœá¬ á¡á¬áá¯á¶á
áá¯ááºáá«áááºá
ááá¯á·áá±á¬áº áááºááẠJavaá Python ááŸáá·áº á¡áá¬ážáá°áá±á¬á¡áá¬áá»á¬ážááᯠááŒá±á¬ááºážááŒá®ážáááºááŸáá·áº áááºááẠá¡ááá·áºáááá·áº hardware á០á¡ááœááºáá»ááºááŒááºá
áœá¬ ááœááºááœá¬ááœá¬ážáá«áááºá Java ááœáẠgetter ááá¯áá±á«áºááá¯ááŒááºážá¡ááœááºáá¯ááºáá»á
ááááºáááºáá±á¬ááºáá²á á¡áááºá HotSpot ááœáẠJIT ááŸááºáá«ááá¬ážá
ááᯠáá»áœááºá¯ááºááá¯á·ááẠáááá¯áááºáá¬á¡ááŒááºááŸá¯ááºážáá»á¬áž áááºá
á¯ááŸá
áºáá
áºáá¯ááŒá¬áá»áŸ ááá¯ážááŒáá·áºáá¬ááŒááºážáááŸááá±á¬ á¡ááŒá±á¡áá±áá
áºáá¯ááœáẠáá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯áẠááœá±á·ááŸáááá«áááºá âááŸá±ážâáá±á¬ááºážâáá±á·âááœá± ááŒááºâáá¬âááŒá®á single-threaded á
áœááºážáá±á¬ááºáááºáá±á¬ááºážááᯠááẠá¡á¬ážáááá¯ážááá¯ááºáá±á¬á·áá«á áá«áá±ááá·áº áááºáá¯ááºáááẠáá»ááºážááŒáá¯ááºááœááºááŒá°áá¬áá² áááºááœá¬ážáááºáá±á¬á· áá«áᬠááá¯á¶ááá¯ááºáá±á¬ááºá¡á±á¬áẠáááºáá²áá«áááºá áá°ááá¯ááºážá ááá·áºááᯠJames Bond ááá¯á· ááŒááºáá«áááºá á€áá±áá¬ááœáẠáááºá á¡ááŸáááºááŒáŸáá·áºááŒááºážááẠáá»á¬ážáá±á¬á¡á¬ážááŒáá·áº áá
áºá
á¯á¶áá
áºáŠáž áá
áºáá¯áᯠááŸá¯ááºááŸááºáááºáá±ááá·áº áá±áá¬áá»á¬ážááœáẠááŒá
áºáááºáááºá Concurrency ááẠá¡áá¯ááºáá»á¬ážá
áœá¬ ááá¯á¡ááºáááºá ááᯠXNUMXx á¡ááŸáááºááŒáŸáá·áºáááºá áá¯ááºáá»á
ááááºáá±á¬áºáááºááᯠáá¬ážáááºááẠááá¯á¡ááºáááºá áá¬áá²á· áááºáá±á¬ááºáá¯ááºáá»áá²á áá«ááá¯áá¯ááºááá¯á·á áá»áŸá¬áᬠá¡áááºážáá¶áá¬á·ááºáá²áá²á· áááºááᯠá¡á¶áááºááœááºáá»ááŒá
áºááá²ááá¯áᬠáá¬ážáááºááá¯á· ááá¯áá«áááºá
Martin Thompson ááẠáá°áááá±á¬á·ááºá¡ááœáẠáá±á¬ááºážááœááºáá±á¬á
áá¬ážáá¯á¶ážááᯠááœá±ážáá»ááºáá²á·áááºá
ÐМЎÑей: ááŒá®ážáá±á¬á· áá®ááá¯á¡áá¶ááá¬áááᯠáááºážáá±á«ááºážáá²ááŸá¬ áááºááá¯ááááºážáá¬ážááá¯ááºááá²á á¡ááœá±á·á¡ááŒá¯á¶ááá¯ááŸáááá¯á· á¡á±á¬ááºááŒááºáá¬áá¬ážá áá®ááá¯á¡ááœá±á·á¡ááŒá¯á¶á áááºááá¬áá¬áá²á
áá»á±á¬ááºáááºážáá«áž: áá±á¬ááºážááŒá®á áá»áœááºá¯ááºá á¡ááœá±á·á¡ááŒá¯á¶ááᯠá¡ááœááºáá¯á¶ážáááºážááŒáá·áº áááá²á·áá«á ááœááºááŒá¬ážáá»ááºááá¯ááºážááᯠáá¬ážáááºááá¯ááºáá²á·áá±ááºáá¯ááºážá á
ááºážáá±ážááœá²ááŸá¬ áá»áœááºáá±á¬áº á¡á
á®á¡á
ááºáá»áá²á·áááºá áá«áᬠááá¯ááºáá²áá²á·á¡áá¶á áá«áá±ááá·áº á¡á²á·áá®á¡áá»áááºáá
ááŒá®áž Z80 ááœáŸááºááŒá¬ážáá»ááºáᬠáá«á·áá²á·ááŸááºáá¬ááºáá²ááŸá¬ á¡ááŒá²ááŸááá±áá²á·áááºá á
áá¬ážááŒá±á¬ááŒá®áž áá
áºáááá
áºá¡ááœááºážááŸá¬ áá°ááœá±áá²á· áá¬áááºááœá±ááᯠáááŸááºáááá±ááá·áº ááœááºáá²á·áá²á· ááŸá
Ạáá á áá±ážáá¬ážáá²á· áá¯ááºááᯠááŸááºáááá±áááºá áááºá
áá¬áá±á¬ááºážáááºá áá«áᬠSyndrome áá²á·áá°áááº"
á¡ááá·áºáááá·áºáá±á¬ optimization áááºáááºáž
ÐМЎÑей: áááºááá¯á· ááá¯ááœááºáá²á· áááºážáááºáž ááŸááá«ááá¬ážá
áá»á±á¬ááºáááºážáá«áž: áá¯ááºááẠááá¯ááºáá°áž á áá»áœááºá¯ááºááá¯á·á¡á¬ážáá¯á¶ážá¡áá¯á¶ážááŒá¯áá±ááá·áº hardware ááẠá¡áá»áááºááŒá¬áá¬áááºááŸáá·áºá¡áá»áŸ ááŒá±á¬ááºážáá²ááœá¬ážááŒááºážáááŸááá±á Arm á
áááºáá¯ááºážáá»á¬ážááŸááœá²á áá°ááá¯ááºáž x86 ááá¯á¡áá¯á¶ážááŒá¯áááºá á¡ááŒááºážá¡ááẠááŒáŸááºááŸá¶ááŒááºážáá»áá¯áž ááá¯ááºáá«áá áááºááẠá¡áá¬ážáá° áá¯ááºáá±á¬ááºáá±áá«áááºá áá±á¬ááºážááŒá®á áá±á¬ááºá ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááẠáá¬á
á¯ááŸá
áºáá»á¬ážá
áœá¬ááŒá¬á¡á±á¬áẠáááŒá±á¬ááºážáá²áá²á·áá±á áá®áá¬áá¶ááŸá¬ áá
áºáá¯áá¯áá±ážááá¯á· ááá¯áááºá á¡áá»á¬ážááŒá®ážááá¯ááºáá±ááá·áº áá¬ážáááºááá¯á· áá¯á¶áá±á¬ááºáá«áááºá áááºážá ááŒá¯á¶ážáá±áá±ááá·áº áá« áá¯á¶ážáá¯á¶ážáá±ážáá±ážáááºááẠááŒá±á¬áá±áááºá áá¬áá¬á
áá¬ážááŸáá·áº áá¬á·ááºáá²ááŒá¬áž á
á¬áá±ážá
á¬áá°ááᯠáá¬ážáááºááẠááá¯á¡ááºáááºá á¡á²áá«ááŒá®ážáááºáá±á¬á· áááºážáááºážáá±ážáá±ážááŒá®áž á¡áá¯ááºáá¬áá¬á
áá¬ážá¡ááœáẠá¡áá¯áẠcompiler áááºážáááºážáá¯ááºááááºá á¡áá¯ááºááŸáá·áºáá°áá±á¬ á¡áááá¹áá«ááºááŸá¬ á¡áá»áááºá¡ááá¯ááºážá¡áá¬áá
áºáá¯á¡ááœááºáž ááŒá¯áá¯ááºááẠááá¯á¡ááºáááºá áááºážááẠá¡ááœááºááá¯ážááŸááºážáá±á¬áºáááºáž áááºážááẠááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠáááºáá®ážááá«áááºá ááœáŸááºááŒá¬ážáá»ááºáá
áºáá¯áááºáá®ážááŒááºážááá¯ááºáá±á¬ááºáá»ááºááẠáá°ááá¯ááºážáá±ážáá±á¬á¡ááá·áºááŒáá·áºáá¯ááºáá»á¬ážááŸáá·áº áá¬á·ááºáá²áá±á«áºááœááºáááºáááºááá·áº á
ááºáá¯ááºááŒá¬ážáá¶áá¬ážá¡ááœáẠáá¯ááºáá»á
ááááºáá¯á¶á
á¶ááᯠáá¬ážáááºááẠáá°áá®áá±ážáá«áááá·áºáááºá ááœááºááŒá°áá¬áá±ážáá»áááºááœáẠá€á
á¬áá±ážá
á¬ááẠáŠážááŸá±á¬ááºáá²ááá¯á· áá±á¬ááºáá»áœááºážááœá¬ážáááºááŒá
áºáááºá á¡ááá¯ážááŸááºážáá¯á¶áž compiler áááºá á¡á²áá®áá±á¬ááºááŸá¬áá±á¬á· Java ááᯠá
áááºááŒáá·áºááŸá¯ááá¯ááºááŒá®áž áá°á·áá²á· semantic chasm á ááá¯áááºááŸáá¯ááºážááŒá®áž á¡á²áá®á¡áá±á«áºááŸá¬ áá¶áá¬ážááœá±áá±á¬ááºááá¯á·á ááá¯áááºáá²áá«áááºá Java ááœááºá áá»áœááºá¯ááºááá¯á·ááá¶áá¬ážááẠáá±á¬ááºážáááºááŒá
áºá
á±á ááá¯ážáááºááŒá
áºá
á±á ááŒáá¯áá²á
á±áááºááŒá
áºá
á± áááºááá·áºá¡áá¬á ááŒá
áºááá¬áááºááᯠáá¬ážáááºááẠááá¯ááááºáá²áá«áááºá ááá¯á·áá±á¬áº áááºááẠáá¯ááºááá¯ááŒáá·áºáᬠáá¬ážáááºááá¯ááºááá·áº á¡á
ááŸááºá¡áá»áá¯á· ááá¯á¡ááºáááº- "áá¯ááºáá«áááºá áá® getter ááᯠá¡áá»áááºááá¯ááºáž áá±ážáá¬ážááá·áºáááº" áááºážáááºážááẠá¡ááœááºááŒá®ážáá¬ážáá¬áá±á¬á¡áá«ááœááºá JIT ááẠá¡áá¬áááºááááºážááᯠááœááºážááœááºážá
ááŒá¯áá¬áá±á¬á¡áá«ááŸááœá²á áá
áºáá«áá
áºáá¶ááœáẠá€á¡áá¬ááẠááŒá
áºáá±á«áºáá¬áááºáá«áááºá ááá¯áá±áá¬áá»á¬ážá á
áœááºážáá±á¬ááºáááºááᯠáá»ááºáá»ááºážááá·áºááŸááºážááá¯ááºáááºá á¡áá»á¬ážá¡á¬ážááŒáá·áº getters áá»á¬ážááẠáá±á¬ááºážááœááºá
áœá¬á¡áá¯ááºáá¯ááºáá±á¬áºáááºážá ááá¯á·áá±á¬ááºááœáẠáááºááẠhot loop ááŒá®ážáá»á¬ážááá¯ááŒáá·áºááŸá¯ááŒá®áž áááºážááá¯á·áá¬áá¯ááºáá±áááºááá¯ááááá±á¬ function calls á¡áá»áá¯á·ááẠááá¯áá±áá¬ááœáẠááœáá·áºáá»á±á¬áá±ááŒá±á¬ááºáž ááá±á¬áá±á«ááºááá¯ááºáá«áááºá á€áááºááŸá¬ getters áá»á¬ážááᯠáá»ááºáá»ááºááŒáá·áºááŒáá·áºá¡áá¯á¶ážááŒá¯ááŒááºážá¡ááœáẠááŒá¿áá¬ááŒá
áºááŒá®áž áááºážááá¯á·ááᯠinline áááá·áºáááŒááºážá¡ááŒá±á¬ááºážáááºážááŸá¬ getter áá»á¬ážáá¯ááºááá¯áẠáááŸááºážáááºážáá±á¬ááŒá±á¬áá·áºááŒá
áºáááºá ááá·áºááœáẠá¡ááœááºáá±ážáááºáá±á¬ áá¯ááºá¡ááŒá±áá¶áá
áºáá¯ááŸááá»áŸáẠáááºážááᯠááá¯ážááá¯ážááŸááºážááŸááºáž ááŸááºááááá¯ááºááŒá®ážá áááºážááẠgetter ááŒá
áºááŒá®ážá áááºážááẠsetter ááŒá
áºáááºá ááŒá®ážáá¬ážáá±á¬áá¯ááºá¡ááŒá±áá¶áá
áºáá¯ááœááºá áá¯ááºáá±á¬ááºáá»ááºáá
áºáá¯á
á®ááẠáá±áá¯áá»á¡á¬ážááŒáá·áº áááºáá°áá»áŸáááááá¯ááºáá±á¬ áááºážáááá¯ááºááá¯ááºáááá¯ááºážááᯠáááºááŸááá±áá«áááºá á¡áá»áá¯á·áá±á¬ loop ááœáẠáá»áœááºá¯ááºááá¯á·ááẠá¡áá»áááºá 24% áá¯á¶ážááŸá¯á¶ážááœá¬ážáááºáᯠprofiler ááŸááŒá±á¬ááŒá®áž ဠloop ááá¬áá¯ááºáá±áááºááá¯áá¬ážáááºáááºá á¡ááœááºážááŸá function áá
áºáá¯á
á®ááá¯ááŒáá·áºááŸá¯áááºááá¯á¡ááºáááºá áá¯ááºáá±á¬ááºáá»ááºááᯠááá±á·áá¬áá² áááºážááᯠáá¬ážáááºááẠáááŒá
áºááá¯ááºáá²á áááºážááẠáá¬ážáááºááŸá¯ áá¯ááºáááºážá
ááºááᯠááŒááºážáááºá
áœá¬ ááŸá±ážááœá±ážá
á±áááºá á¡á²áá«ááŒá±á¬áá·áº getters áá²á· setters ááœá±ááᯠááá¯á¶ážáá±á¬á·áá² á¡ááá·áºá¡áá
áºáá
áºáá¯ááᯠáá±á¬ááºáá±áá«ááŒá®á
áá¯ááºáá»á
ááááºáá±á¬áºáááºááá¯áááºááŸá¬áááá¯ááºááá²á áá±á¬ááºážááŒá®á áááºáá
áºáá¯áá¯ááá¯áááºááá¯ááºáááºá áá¯ááºáá«ááẠ... áá«áá±ááá·áº á¡áá±á¬ááºážáá¯á¶ážáááºážáááºážá ááŒá¯áá°ááá¯á·áá²ááá¯á· áá»áœááºáá±á¬áºáááºáá«áááºá áá±ážáááºáá±á¬ compiler áá
áºáá¯ááŒá¯áá¯ááºááŒááºážááẠáá¯ááºáá»á
ááááºáá¯á¶á
á¶ááᯠáá¬ážáááºáááºááŸáá·áº áááºážááᯠááá·áºáá±á«ááºážáá²ááá¯á· á¡á¶áááºááœááºáá»ááŒá
áºá
á±ááẠá¡áá±á¬ááºážáá¯á¶ážáááºážáááºážááŒá
áºáááºá ááá¯ááºáááá¯áá±á·ááºááᯠáááá¯ááááºáá±ážááœá²áááºá¡ááœáẠááá·áºáá»á±á¬áºááá·áº áá±ážáááºáá±á¬ compiler ááẠá
áááºáá°áá»á¬ážá¡ááœáẠá¡áá¯ááºáá
áºáá¯ááŒá
áºáááºá áá«ááá¯ááá¯áá¬á áááºážááŸá¬ áááá¯ááááºáá±ážáá²á· á¡áááºá¡áá»ááºážááŸááá±ááŒá® ááá¯áááºáá±á¬á· áá¯á¶áá±á¬ááºááŒá®áá±á«á·á á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠá¡áá¹ááá¬áááºá¹áá»á¬á¡áá¯á¶ážá¡ááŸá¯ááºážáá
áºáá»áá¯ážáá»áá¯ážá¡ááŒá
Ạááœá²ááŒááºážá
áááºááŒá¬ááŒááºážá áááºá¹áá»á¬ááá¯ááºáá¬áá¯ááºáááºážáá±á¬ááºáá¬áá»á¬ážá¡ááœáẠááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠááŸááºáááºáá±á¬á¡á
á®á¡á
á¥áºá¡ááá¯ááºáž áá¯ááºáá°ááŒááºážá á
á¬áááºážááœááºážááŸá¯áá»á¬ážá០ááŸááºáááºáá±á¬áááºááá¯ážáá»á¬ážááᯠááá°ááŒááºážáá²á·ááá¯á·áá±á¬ á¡áá¬áá»á¬ážá¡á¬ážáá¯á¶ážááẠá€á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá
áºááŒáááºáááºážáá¯ááºáá±á¬ááºáá«áááºá á¡á²áá«ááᯠáááºáá¯ááºáá±áááºážáá²á· ááá·áºáŠážááŸá±á¬ááºáá²ááŸá¬ á
áœá²áááºáá±áááá·áºáááºá compiler áá¯ááºáᬠáá°ááá¯ááºážáááááºáááºáá«áááºá áááºážááẠáá¯ááºáá»á
áááẠáá±á¬áºáááºááᯠáá¬ážáááºáá±ážáááá·áºáááºá
á áœááºážáá±á¬ááºáááºááŒáŸáá·áºáááºááŒááºážá áááºááœá±á·á¥ááá¬áá»á¬áž
ÐМЎÑей: áá¯ááºáá¯ááºá áœááºážá¡á¬ážááᯠáá¯ááºáá±á¬ááºáá²á·á¡áá« áááŒá¬ážáá¬ááᯠá¡á¬áá¯á¶á áá¯ááºááá·áºáá²á
áá»á±á¬ááºáááºážáá«áž: áá±áá¬ááœá²á·á
ááºážáá¯á¶á áá¯ááºáá«ááẠáá®á¡áááºážááœá±ááᯠááááºáá±ážáá¬ááŒá¬áá«ááŒá®...
á€áá»ááºážáááºáááºážááŒáá·áº ááŒá
áºáá»ááºáá±áááºááŸá¬ áááá¬áááºááŸá¬ážááŒá®áž parallel computing ááẠá¡áá°á¡áá®ááŒá
áºáááá·áºáááºááá¯ááºáá±á ááŸááºáááºáá±á¬ áá±áá¬ááœá²á·á
ááºážáá¯á¶áá»á¬ážááᯠááœá±ážáá»ááºááŒááºážááŒáá·áº á
áœááºážáá±á¬ááºááẠáá«ážá ááá¯ážáá¬ááŒá±á¬ááºáž ááœá±á·ááŸáááá«áááºá á¡ááœá±á·á¡ááŒá¯á¶ááŸá áááá¯ááááºáá¬áá»á¬ážáááºáá»áŸáẠá€á¡á¶á·ááŒááœááºáá±á¬ááºážáááºá áá»áœááºá¯ááºá á¡áá°ážááá
á¹á
áááºááœááºá ááŸáá·áºááœááºááŸá¬ áááºááŸááºáá¬áẠááœá²áá±ááŒááºážááᯠhot loop ááœáẠáááŒá¯áá¯ááºááá·áºáá«á áá±á¬ááºážááŒá®á áá«á á¡ááŸááºááá¬ážáá
áºáá¯áá¯á¶ážááá¯ááºáá±ááá·áº áá±áá°áá»á¡á¬ážááŒáá·áº - X áᬠáá¯á¶áá±á¬ááºáá±áá²á·á¡áá« "X áá
áºáá«áááºáž" ááᯠáá®ážáá±á¬ááºážááá¯ážáááŒááá·áºáá«áá°ážá X ááẠááŸá
áºááŸá
áºááœá² áá
áºáá«ááá¯ááºááŸááá±á¬á¡áá«á áááºááẠ"á
á¬áá
áºá
á±á¬ááºáá»áŸááºáá
áºááŒáááº" ááá¯á·ááá¯áẠ"áá
áºááŒá±á¬ááºážáá»áŸáẠáá
áºááŒáááº" ááá¯á·ááá¯áẠ"á¡ááœááºáá
áºáá¯áá»áŸááºáá
áºááŒáááº"á ááá¯áá²á·ááá¯á·áá±á¬ áááºááá·áºá¡áá¬ááá¯áá»áŸ áááœá²áá±ááá·áºáá«á á€áá±áá¬ááœáẠá¡áá»áááºáá¯ááºáááºá áá«á áááºááᯠá¡áá¯ááºááŒá
áºáá²á áá¯ááºážáá±á«áºááá¯ááºáááºááá¯á· ááŒááºáá±á¬ááºááŒáá·áºáá«á String.split()
ááá¯á·ááá¯áẠBufferedReader.readLine()
. Readline
ááœááºáááºáá±á«áºááŸá ááá¯ááºá¡á
á¯áá
áºáá¯á០á
á¬ááŒá±á¬ááºážáá
áºááŒá±á¬ááºážá
á®á¡ááœáẠáá
áºááŒáááºá ááá¯ááºážáá±á«ááºáž áááºážáá¬ááŸáá·áºáá»á®á áá
áºáá¯á
á®á¡ááœááºá áá®á
á¬ááŒá±á¬ááºážááᯠááœá²ááŒááºážá
áááºááŒá¬ááŒá®áž ááœáŸáá·áºáá
áºááá¯ááºáááºá áá«áá¬ááá¯á· ááœáŸáá·áºáá
áºááá¯ááºáá¬áá²- á¡ááºážá áá«á
á®áá¶ááŒá®ážááŒá®á áá«áá²áá±á ááá¯á·ááŒá±á¬áá·áºá ဠ2.7G ááŸáááºááá·áº byte áá
áºáá¯á
á®á¡ááœááºá á
á¬áá¯á¶ážááŸá
áºáá¯á¶ážááᯠá
á¬ááŒá±á¬ááºážáá²ááœáẠáá±ážáá¬ážáááºááŒá
áºááŒá®ážá ááá¯ááá¯áááºááŸá¬ 5.4G ááŸááá±ááŒá®ááŒá
áºááŒá®ážá áááºážááá¯á·ááᯠáá±á¬ááºáááºáá¬á០áááá¯á¡ááºáá±á¬á·áá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááᯠááœáŸáá·áºáá
áºááá¯ááºáá«áááºá memory bandwidth ááá¯ááŒáá·áºáá»áŸáẠprocessor á¡ááœááºážááŸá memory ááŸáá·áº memory bus ááŸáááá·áº 2.7G ááᯠload áá¯ááºááŒá®áž memory ááœááºááŸááá±á¬ ááá¯ááºážááá¯á· ááŸá
áºá ááá¯á·ááŒá®ážá ááá¯ááºážá¡áá
áºáá
áºáá¯á
á®áááºáá®ážáá±á¬á¡áá«ááœáẠá€á¡áá¬á¡á¬ážáá¯á¶áž ááœá²ááœá¬ážáá«áááºá áá«áá±ááá·áº á¡á²áá«ááá¯áááºááá¯á·ááá¯áááºá áá¬á·ááºáá²á áá±á¬ááºááá¯ááºážááŸá¬ á¡áá¯ááºáá»ááºááœá¬ážáááºáá±á¬ááºá០áááºáááºá ááá¯ááºážáá
áºáá¯áááºáá®ážááŒá®áž áááºááŸáºáá»á¬áž ááŒáá·áºáá±áá±á¬ááŒá±á¬áá·áº áááºážááᯠáá»áá±ážááá«ááẠ- áááºááŸáºááẠ2.7G ááᯠáá¬ážááŸáááááá«á áá«ááŒá±á¬áá·áº áá»áœááºáá±á¬áºáááºáá²á· byteááá¯ááºážá¡ááœááºá áá±á¬ááºááẠbytes ááŸá
áºááá¯ááºááá¯áááºááŒá®áž áá±á¬ááºááẠbytes ááŸá
áºáá¯ááá¯áá±ážááŒá®áž á¡áá¯á¶ážááŸá¬áá±á¬á· áá°ááá¯á·ááŸá¬ 4:1 ratio ááŸááá«ááẠ- áá®á¡áá»áá¯ážááŸá¬ memory bandwidth ááᯠááŒá¯ááºážáá®ážáá±áá«áááºá ááŒá®ážáá±á¬á· áá«áá¯ááºááẠáá±á«áºáá¬áááºá String.split()
âáá«á áá«áá«ááᯠáá±á¬ááºáá¯á¶ážá¡ááŒáááºááá¯ááºáá°ážá á¡áá²ááŸá¬ áá±á¬ááºááẠ6-7 ááœááºááœá± ááŸáááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº CSV á ááá¹ááááºáá¯ááºááᯠáááºááŒá®áž strings áá»á¬ážááᯠááœá²ááŒááºážá
áááºááŒá¬ááŒááºážááŒáá·áº ááẠá¡ááŸááºáááẠááá¯áá»ááºááá·áºá¡áá¬ááŸáá·áº ááŸáá¯ááºážááŸááºáá«á memory bandwidth 14:1 ááá·áº áá»ááºá
á®ážááœá¬ážáááºááŒá
áºáááºá á€ááœá±ážáá»ááºááŸá¯áá»á¬ážááᯠá
áœáá·áºáá
áºáá«áá áááºááẠáá«ážáá¡ááŸáááºááŒáŸáá·áºááá¯ááºáááºá
áá±á¬ááºááŒá®ážáá±á¬á· ááááºááááºáá«áá°ážá áá¯ááºááᯠáá±á¬áá·áºááŸááºááŸááŒáá·áºáá»áŸáẠááŒá¿áá¬ááᯠááááá¯ááºáááºááŸáá·áº á¡á¬ážáá¯á¶ážá ááá¯ážááŸááºážáá«áááºá Memory ááœá²áá±ááŒááºážááᯠáá¯á¶ážá ááááºááá·áºááá·áºáá«- áá
áºáá¯áááºážáá±á¬ ááŒá¿áá¬ááŸá¬ ááẠáá
áºáá¯áá¯ááᯠááœá²áá±áá±ážááŒááºážááŒáá·áº áááºážááẠáá»ááºáá»ááºážáá±ááœá¬ážááŒá®ážá á€ááá
á¹á
ááœáẠmemory bandwidth ááŒá
áºááá·áº á¡áá±ážááŒá®ážáá±á¬ á¡áááºážá¡ááŒá
áºááᯠáá±á¬ááºáá»áœááºážá
á±ááá·áº áááºážáá
áºáá»áŸá±á¬ááºááœáẠáá
áºáá¯áááºážáá±á¬ ááŒá¿áá¬ááŒá
áºáááºá á€á¡áá¬á¡á¬ážáá¯á¶ážááẠáá¯ááºáá¯ááºá
áœááºážá¡á¬ážááᯠáá»áááºážá
á±áááºá x86 ááœáẠáááºááẠáá»á¬ážáá±á¬á¡á¬ážááŒáá·áº áááá¯áááºáᬠáááºáááºááŸá¯áá»á¬ážááᯠáááºááŒáœá
áœá¬ áá±á¬ááºáá»áœááºážááẠááá¯á¡ááºáá±á¬áºáááºáž á€áá±áá¬ááœáẠáááºááẠáááºááá¯áá®á¡á¬ážáá¯á¶ážááᯠá
á±á¬á
á®ážá
áœá¬ áá±á¬ááºáá»áœááºážá
á±áá²á·áááºá ááŒá±ááŸááºážáá»ááºááŸá¬ á
áœáá·áºáá¯ááºááŸá¯ááá¬áááᯠáá»áŸá±á¬á·áá»áááºááŒá
áºáááºá
ááŒá¿áá¬áá¡ááŒá¬ážáá
áºá
áááºáá
áºááá¯ááºážááŸá¬ memory stripe áá¯ááºááœá¬ážáá±á¬á¡áá«ááœáẠprofiler ááᯠrun áá«áá ááŒá
áºáá»ááºáá¬áá±á¬á¡áá«ááœááºá áááºáá¯ááºááá¯ááºáá±á¬ á¡ááŸáá¯ááºáá»á¬ážááŸáá·áº ááŒáá·áºáá±áá±á¬ááŒá±á¬áá·áº áááºááŸáºááŒááºáá¬ááẠá
á±á¬áá·áºááá¯ááºážáá±áááºáááºá ááá¯á·ááŒá±á¬áá·áºá áááºáá¯ááºáááºááá¯áž ááá¯á·ááá¯áẠá
ááá¯ážááá¯ááºááá¯ááºáž áááºáááºááŸá¯ááá¯ááºážááẠááŸá±ážááœá±ážáá¬áááºá áááºážááá¯á·ááẠáááºááŸáºááœááºááœá¬ážááŒááºážáá®ááá¯á· áŠážáááºááœá¬ážáá±á¬ááŒá±á¬áá·áº - áááºááŸáºáá
áºáá¯áá¯á¶áž ááŸá±ážááœá±ážááœá¬ážáᬠá¡ááŸáá¯ááºáá»á¬ážááᯠá
áœáá·áºáá
áºááẠá
á±á¬áá·áºááá¯ááºážáá±áá«áááºá ááá¯á·ááŒá±á¬áá·áºá áááá¯ááá¯ááºážááẠááœááºážáá
áºáá¯áá¯á¶ážáá
áºáá¯áá¯á¶ážááœáẠááŒá¬áá»áá±áá±á¬ áá°ááœá±ážáá±á¬áá»áááºážáá°áá¶áá¶ááᯠááŒááááá·áºááẠ- áá¯ááºááœáẠáá®ážááŒá¬ážáá°ááŒááºážáá±á¬ááœáŸááºááŒá¬ážáá»áẠááá¯á·ááá¯áẠáá±áá¬áááŸááá±á áá°áá¶áá¶áá»á¬ážáá¬á GC áá¶ááá¬ááá¯ááŒáá·áºáá»áŸáẠáááºážááá¯á·á¡á¬ážáá¯á¶ážááẠáá°áááºáá»áá¯ážáááºááŒá
áºááŒá®áž á¡ááœááºááŒááºááẠ- ááá¯ááºáááá¯á
áá¹ááá·áº ááá¯á·ááá¯áẠáá®áá®á
áá¹ááá·áº á¡ááŒáá·áºáá¯á¶ážááŒá
áºáááºá áá±á¬ááºáá¯á¶ážáá±á¬á· áá®ááŸááºáá¬ááºááœá±á¡á¬ážáá¯á¶áž áá»ááºáá»ááºážáá±ááœá¬ážáááºá ááá»ááá»áá®áá®áá¶ááŸáá·áºáá»á®áá±á¬áá
áºáá«ááá¯ááºáá»á¬ážááœá²áá±áá»áá¬ážáá±ážáááºááŸáá·áºáá°áááºáá°ááá¯á·ááá¯áá¯ááºááŒááº, ááŒááº, ááŸáá·áºáá°ááá¯á·ááá¯áááºááŒááºá áá«ááœá±á¡á¬ážáá¯á¶ážá á¡áááºážááŒááºáááºá á
á»á±ážáá±á«áá±á¬ GC á
ááºáááºážáá»á¬ážá áááºáááºááŸá¯áá
áºáá¯áá¯á¶ážááœáẠááœá±ážááœá±ážáá±á¬áá°áá¶áá¶áá»á¬ážááŸááááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááẠ5x speedup ááᯠááá°ááá¯áá«áááºá á€á¡ááá¯ááºá¡ááá·áºááœáẠááá·áºáá±á«ááºážáá²ááœáẠáá
áºá
á¯á¶áá
áºáᯠááááºááœá¬ážááá·áºáááº- "áá«á áá¬ááŒá
áºááá¯á·áá²!" Memory strip áá»áŸá¶ááœááºááŒááºážááᯠclassic debugger ááœáẠáááŒáá«á áááºááẠáá¬á·ááºáá² á
áœááºážáá±á¬ááºááẠáááºááŒáẠá¡ááŸá¬ážááŸá¬ááŒááºáá«ááᯠáá¯ááºáá±á¬ááºááŒá®áž áááºážááᯠááá¯ááºááá¯ááºááŸáá·áº ááá¯ááºááá¯áẠááŒáá·áºááŸá¯ááẠááá¯á¡ááºáá«áááºá áá«áá±ááá·áº áá®ááá¹ááá¬áá¯á¶ážáááºááá± ááá¯ááºááá¯ááºáá¶áááááŒá
áºááá¯ááºáá«áá°ážá ááááááá¹ááá¬ááŸá¬ áááºá¡áá±ážáá±ážáá¬ážááá·áºá¡áá¬ááá¯ááŒáá·áºáá±á¬á¡áá«á áááá¯ááá¯ááºážááá¯áá±ážááŒá®áž áá°á "áááºá¡áááºážáá±á«ááºáž áá®áá®áá¶áá»á®áá¯ááºáá¬ážáá±á¬áºáááºáž GC ááẠá¡ááá²á·á¡áá¯ááºáá¯ááºáááº" áá¯ááŒá±áááºá áá®ááá¯ááŒá
áºáá¬áá¬áá²á·áááŒáá¯ááºááẠáááºáᬠá¡áá¬ááá¹áá¯áá»á¬ážá
áœá¬ááᯠáááºáá®ážááŒá®áž ááŸááºáá¬ááºáááºážááŒá±á¬ááºážáá
áºáá¯áá¯á¶ážááᯠáá±á¬ááºáá»áœááºážááœá¬ážááŒá±á¬ááºáž áááºááá±á¬áá±á«ááºáá¬áá«áááºá áá«ááᯠá¡ááŒá±ááŸá¬ááá¯á· áááºážáááºážááŸááá±ááá·áº ááŸááºážááŸááºážáááºážáááºáž áááááá«áá°ážá
ááŒá¿áá¬ááẠáá±áá¬ááœá²á·á
ááºážáá¯á¶ááœááºááŒá
áºáááº- ááŒá
áºáá»ááºááá»áŸá¡áá¬á¡á¬ážáá¯á¶ážááᯠáá±á¬ááºáá¶ááá¬ááŒáá·áºááœá²á·á
ááºážáá¯á¶á áááºážááẠááŒá®ážááœááºážáááºá áááºážááẠáá
áºááºáá±á«áºááœáẠ2.7G ááŸááááºá ááá¯á·ááŒá±á¬áá·áº á€á¡áá¬á¡á¬áž áááá¹áá°áá°ážáááºááŸá¬ á¡ááœááºáááá¯áá¬ážá¡ááºáá« - áááºááẠáááºážááᯠááœááºáááºááá¯ááºáá¬áá¬á០áá»ááºáá»ááºážáááºááá¯áá«áááºá á
á¬ááŒá±á¬ááºážááᯠá¡ááŒááºááŒááºá¡ááŸááºááŸááºáá±ážááẠáá«ážááŒáááºáá»áŸ ááá±ážááá¯ááºá
á±ááẠááŸááºáá¯á¶áááºá
á¬áááºážáá»á¬ážáá²ááá¯á· ááœááºážáá«á áá¶ááá±á¬ááºážá
áœá¬áá²á Java ááẠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº JDK á áá
áºá
áááºáá
áºááá¯ááºážá¡ááŒá
Ạááá¯áá²á·ááá¯á·áá±á¬ á
á¬ááŒáá·áºááá¯ááºááᯠááá·áºá¡á¬áž ááá±ážáá±á áá«áá±ááá·áº áá«á á¡áá±ážá¡ááœá²áá² ááá¯ááºáá¬ážá á¡ááŒá±áá¶á¡á¬ážááŒáá·áºá áááºážááá¯á·ááẠá¡áááºážáᶠbyte ááŒá¬ážáá¶áááºáááºážáá»ááºááœáẠwrapper ááŒá
áºáá±á
áẠstring class áá¡ááŒá¯á¡áá°ááᯠáááºáá«ááá²áá²áá¯ááºáá±á¬ááºááá·áº áááºáááá¯ááºááá¯áẠbuffered string loader ááá¯á¡áá±á¬ááºá¡áááºáá±á¬áºáááºá¡áá¯á¶ážááŒá¯ááá·áº áá¯áẠ5-10 ááá¯ááºážáá»á¬ážááŒá
áºáááºá ááááºá¡áá±ááŒáá·áº áááºááẠstrings áá»á¬ážáá²á·ááá¯á·áá®ážáá«áž á¡áá¯ááºáá¯ááºáá±ááŒá±á¬ááºáž áá±á«áºááœááºáá¬áá±á¬áºáááºáž á¡ááŸááºááááºááœáẠááŒá¬ážáá¶ááá¯á·ááœáŸááºááŒáá»ááºáá»á¬ážááẠááá¯áá±áá¬ááœáẠááœá±á·áá»á¬ážáá±ááŒá®áž á¡ááŒááºážááá¯ááºáá»á¬ážááᯠáááºááá·áºáá±áá¬ááœááºá០áá°ážáá°ááŒááºážáááŒá¯áá±á¬ááŒá±á¬áá·áº áá°áá®ááá·áºááŒá¬ážáá¶áá»á¬ážááᯠáááºáá«áááºáá« ááŒááºáááºá¡áá¯á¶ážááŒá¯ááœá¬ážáááºááŒá
áºáááºá á¡ááá¯áá« byte buffers áá»á¬ážááᯠááŸááºáá¬ážáá±á¬ ááŸá
áºáá»ááºááŒá¬ážáá¶á
áá
áºáá²á·ááá¯á· áááºážá¡ááœáẠáá®ááá¯ááºážáá¯ááºáá¬ážááá·áºá¡áá¬áá»á¬ážááᯠááá·áºááá¯ááºááẠáá»á±áááºá
áœá¬áááºáá¶ááá¯ááºá
á±áááºá¡ááœáẠáááºáááºááŸá¯á
áá
áºááẠáá»á±á¬áºááœáŸááºáá±ááŒá®áž áááá¯á¡ááºáá±á¬áá±áá¬á
á®ážáááºážááŸá¯á¡áá¯á¶ážáááŸááá±á¬ áááºážááŒá±á¬ááºážááᯠáááºáááŒáááºáá±á¬á·áá«á á
áá¬ážáá
ááºá GC ááŸáá·áºá¡áá¯ááºáá¯ááºáá±á¬á¡áá«á áá±á¬ááºáá¯á¶áž GC áááºáááºááŒá®ážáá±á¬áẠáááá¯áááºáá¬ááẠáááºááá¯áá®ááœá²áá±ááŸá¯áá
áºáá¯á
á®ááᯠááŒááºááá¯ááºáááºááá¯ááºááŒá±á¬ááºáž á¡á¬ááá¶áá¬ážáááºááᯠáááºáá¬ážáááºáá«ááá¬ážá ááá¯á·ááŒá±á¬áá·áºá á€á¡áá¬á¡á¬ážáá¯á¶ážááẠáááºááŸáºááœáẠáááŒá
áºááá¯ááºáá²á ááá¯á·áá±á¬áẠ100% á¡á¬ááá¶áá»ááºááŸááá±á¬ ááœá²áá»á±á¬áºááŸá¯ ááŒá
áºáá±á«áºáá«áááºá ááœáŸááºááŒáá»ááºáá
áºáá¯ááŸáá·áº á¡áá¯ááºáá¯ááºáá±á¬á¡áá«á x86 ááœááºá ááŸááºáá¬ááºá០ááŸááºáá¯á¶áááºááŒááºážááᯠáá¯ááºááŒááºážááẠ1-2 áá¬áá®áááºáááºááŸá¯ ááŒá¬ááŒá®áž áááºážááẠáááºááá¯áá®á¡á¬ážáá¯á¶ážááœáá·áºáá¬ážáá±á¬ááŒá±á¬áá·áº áááºáá±ážáá»á±áááºá áá±ážáá»á±áááºá áá±ážáá»á±áááº
áá áºáááºážááá¯ááá±á¬áº Data Structure ááẠááŒá±á¬ááºážáá²ááẠá¡áááºáá²áá¯á¶ážá¡áá¬ááŒá áºáááºá áá±á¬ááºááœáẠá áœááºážáá±á¬ááºáááºááᯠááááá¯ááºá á±ááá·áº áá±áá¬ááœá²á·á ááºážáá¯á¶ ááŸá¬ážááœááºážá áœá¬ ááœá±ážáá»ááºáá¬ážááŒá±á¬ááºáž áááºááá±á¬áá±á«ááºáá¬áááºááŸáá·áº áá áºááŒáá¯ááºááẠáá¯ááºáá±á¬ááºáááá·áº á¡áá¯ááºáá»á¬ážá áœá¬ááŸááá±á¬áºáááºáž áááºááá¯ááºáá±á¬ááºáá«á á¡ááŒá±á¡áá±áá»á¬áž ááá¯ááá¯ááá¯ážááœá¬ážáá¬áááºááŒá áºáááºá ááááá¯á¶ážá¡áá±áá²á· Data Structures ááœá±á¡ááŒá±á¬ááºáž á ááºážá á¬ážááá¯á·ááá¯áá«áááºá áá«á á¡áá±ážááŒá®ážáá«áááºá á€áá±áá¬ááœáẠá¡ááá áá¯ááºáá»á ááááºááŸá¬ "áá»áœááºá¯ááºááẠY áá¯á¶ááá¹áá¬ááºááᯠááá¯ááŸá áºáááºáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááẠY áá¯á¶ááá¹áá¬ááºááᯠááá¯ááŸá áºáááºáá±á¬ááŒá±á¬áá·áº áá±áá¬ááœá²á·á ááºážáá¯á¶ X ááᯠáá±áá¬ááœá²á·á ááºážáá¯á¶ Y ááá¯á· áá°ážáá°áá²á·áááº" á ááá¯ááºááŒáá·áº á áááºá¡áá¯á¶ážááŒá¯áá±ááŒááá·áº á¡áá®áá±áá¬áááºáá±á¬ááºáá¯á¶áá»á¬ážáá±á«áºááœáẠá¡ááááá»áááºá ááá¯á·áá±á¬áº áá±á¬áºáá®áááºáááºááŸá¯ (á á»á±ážáá±á«áá¯á¶ááááº) ááẠá¡ááŸááºááááºááẠmemory bandwidth ááᯠááŒá¯ááºážáá®ážáá¬áá±á¬ááºááŒá®áž ááá¯áá±áá¬ááœáẠááŒá¯ááºážáá®ážáá±ááá·áº á¡áá»áááºá¡á¬ážáá¯á¶ážááᯠááŒáŸá¯ááºááŸá¶áá¬ážáááºá áá»áœááºá¯ááºááœáẠJSON á á§áá¬á ááŒáá¯ážáá áºáá»á±á¬ááºážááŸáááŒá®áž POJO á ááœá²á·á ááºážáááºáá±á¬ááºáá¯á¶ DOM áá áºááẠááá¯á·ááá¯áẠáá áºáá¯áá¯á¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²ááá¯áá«áá ááá¯á á¬ááŒá±á¬ááºážááᯠááœá²ááŒááºážá áááºááŒá¬ááŒá®áž POJO ááᯠáááºáá±á¬ááºááŒá®ážáá±á¬áẠPOJO ááᯠáááºáá¶áááºáá±á¬ááºá¡áá¯á¶ážááŒá¯ááŒááºážááẠáááá¯á¡ááºáá±á¬ áá¯ááºáá»á ááááºááᯠááŒá áºáá±á«áºá á±áááá·áºáááºá á á»á±ážáááŒá®ážáá«áá°ážá ááẠPOJOs áááºáááºáááºááœáẠááẠááŒáá¯ážáá áºáá»á±á¬ááºážááŒáá·áº ááŒá±ážáááºááẠáááŒá¬áá ááá¯áá±á·ááŸááááºááŸáá áºáá«ážá Offhandá áááºááẠstring ááᯠáá¯ááºááŸááºááẠááŒáá¯ážá á¬ážááŒá®áž áááºážááᯠPOJO á¡ááŒá áºááá¯á· áááŒá±á¬ááºážáá² áááºážá០áááºááá¯á¡ááºáá±á¬á¡áá¬ááá¯áᬠáá¯ááºáá°ááá¯ááºáááºá á€á¡áá¬á¡á¬ážáá¯á¶ážááẠá¡ááŒáá·áºáá¯á¶ážá áœááºážáá±á¬ááºáááºááá¯á¡ááºááá·áºáááºážááŒá±á¬ááºážáá±á«áºááœáẠááŒá áºáá»ááºáá±áá«á ááá·áºá¡ááœáẠPOJO áá»á¬ážáááŸááá«áá áááºááẠáá»ááºážáá²ááá¯á· áá áºáááºážáááºážááŒáá·áº ááá¯ááºááá¯ááºáá°ážááẠááá¯á¡ááºáá«áááºá
ááá·áºááá¯ááºááá¯áẠprogramming language ááᯠáá¬ááŒá±á¬áá·áº áááºáá®ážáá¬áá²á
ÐМЎÑей: áá¯ááºáá»á ááááºáá¯á¶á á¶ááᯠáá¬ážáááºááá¯á·á¡ááœáẠáááºážáá²á·ááá¯ááºááá¯ááºáá¬áá¬á áá¬ážáá±ážááœá±ááᯠáá±ážááá¯á·ááá¯áááºááá¯á· áááºážááŒá±á¬áá²á·áááº...
áá»á±á¬ááºáááºážáá«áž: áá¬áá¬á áá¬ážáá áºáá¯ááá¯ááºáá² á á¯á ááºážááŸá¯áá áºáá¯áá«á áá¬áá¬á áá¬ážáá áºáá¯ááŸáá·áº compiler ááẠááá°áá®áá±á¬ á¡áá¬ááŸá áºáá¯ááŒá áºáááºá á¡áá±ážááŒá®ážáá¯á¶áž ááŒá¬ážáá¬ážáá»ááºá ááá·áºáá±á«ááºážáá²ááŸá¬áá«á
ÐМЎÑей: á áá¬ážáá ááºá áá«ááááá±á¬áẠáááºážáᬠáááºážáá²á·ááá¯ááºááá¯ááºáá¬áá¬á áá¬ážááœá±ááᯠáááºáá®ážááá¯á· á ááºážáááºáá±áááºá áá¬á¡ááœááºáá²?
áá»á±á¬ááºáááºážáá«áž: áá»áœááºá¯ááºáá¯ááºááá¯ááºáá±á¬ááŒá±á¬ááºá·! áá»áœááºáá±á¬áºá á¡ááŒáááºážá á¬ážáá áºááá¯ááºážááá¯áá±á¬á· áá«á áá»áœááºáá±á¬á·áºáá«ááá¬áá«á áááŒá¬ážáá°ááœá±áá²á· áá¬áá¬á áá¬ážááœá±ááᯠáá áºáááºáá¯á¶áž á¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá áá»áœááºá¯ááºááẠáá»áœááºá¯ááºá áá¯ááºáá±ážáááºážááᯠáá»á¬ážá áœá¬ áá¯ááºáá±á¬ááºáá²á·áááºá á¡ááŒá¬ážáá¬áá¬á áá¬ážáá»á¬ážááŒáá·áº ááŒá¿áá¬áá»á¬ážááᯠááŒááºáá±ááá±á¬ááŒá±á¬áá·áºááŒá áºáááºá áááºážááŸá®ážáá±á¬á¡áá¬áá»á¬ážááᯠááŒá¯áá¯ááºááẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬áááºážáááºážáá»á¬áž ááŸááááºááᯠáá»áœááºá¯ááºááŒááºáá«áááºá áá«áá°ááá¯á·ááá¯áá¯á¶ážáááºá áá»áœááºá¯ááºááẠJava ááœááºá Python ááœáẠá¡ááŒá¬ážáá¬áá¬á áá¬ážááŒáá·áº ááŒá¿áá¬áá»á¬ážááᯠááŒááºáá±áááá·áºá¡ááœáẠááŒá®ážááœá±á·áá±áá«áááºá ááᯠáá»áœááºá¯ááºááẠá¡ááŒáááºážá á¬ážáá°ááŒááºážá¡ááŒá±á¬ááºážááá¯ááºáá² áááºááŒáœáá±á¬á¡áá¯ááºá¡ááœáẠáá«ááá¬áá áºáá¯á¡áá±ááŒáá·áº React Nativeá JavaScript ááŸáá·áº Elm ááœáẠáá±ážáá«áááºá áá»áœááºáá±á¬áºáááºáž Python áá²á·áá±ážááŒá®áž Java backends á¡ááœáẠmachine learning ááŸá¬ áááºáááºá¡áá¯ááºáá¯ááºáá«áááá·áºáááºá áá°ááŒáá¯ááºáá»á¬ážáá±á¬áá¬áá¬á áá¬ážáá»á¬ážá áœá¬ááŸáááŒá®áž áááºážááá¯á·á¡á¬ážáá¯á¶ážááœáẠá áááºáááºá á¬ážááœááºá¡ááºá¹áá«áááºáá»á¬ážááŸááááºá áá°ááá¯ááºážááẠáááºážááá¯á·áááá¯ááºááá¯ááºáááºážáááºážááŒáá·áº áá±á¬ááºážááœááºááŒááŒá®áž á€á¡ááºá¹áá«áááºá¡á¬ážáá¯á¶ážááᯠá¡áá°ááᜠáá±á¬ááºááŒááºážááẠáááºááŒáá¯ážá á¬ážááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºá áááºáááºá á¬ážáá±á¬á¡áá¬áá»á¬ážá áá¬áá¬á áá¬ážáá¡ááŒá¯á¡áá°á áá»áá¯ážááŒá±á¬ááºážáá®áá»á±á¬áºáá±á¬ á¡ááœá±ážáá±á«áºáá»á¬ážáááŸáááẠááŒáá¯ážá á¬ážáá±áá«áááºá á¡áá¯áá áá«á¡á±á¬ááºááŒááºáá±ááŒá®! áá±á¬áá±á¬áááºááœáẠáá»áœááºá¯ááºááẠC ááŸáá·áº Java áá²á·ááá¯á· áááºážááᯠáááá¯ááŒá®áž loads and stores á¡ááœáẠmemory semantics á¡á¬ážáá±á¬ááºážáá±á¬ááŒá±á¬áá·áºá áá áºáá»áááºáááºážááŸá¬áááºá Haskell áá²á·ááá¯á· á¡ááá¯á¡áá»á±á¬ááºá¡áá»áá¯ážá¡á á¬áž áá±á¬ááºáá»ááºááŸááááºá á€ááœááºá áá»áœááºá¯ááºááẠC ááŸáá·áº Java ááŸá áºáá¯áá¯á¶ážááœáẠMemory á¡áá¯ááºááŸáá·áº Haskell áá²á·ááá¯á· á¡áá»áá¯ážá¡á á¬áž áá±á¬ááºáá»ááºáá»ááẠááŒáá¯ážá á¬ážáá±áá«áááºá á¥ááá¬- ááœááºáá²á·áá²á· 2-3 ááá±á¬ááºá áá»áœááºáá±á¬áºáá¯ááºáá²á·áá¬á
ÐМЎÑей: áááºááẠá¡ááŒá¬ážáá¬áá¬á áá¬ážáá»á¬ážá០ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ ááá¹ááá»á¬ážááᯠáá°áá±á¬ááºááá·áº áá¬áá¬á áá¬ážáá áºáá¯ááᯠáááºáá±á¬ááºáá«áá áá áºá á¯á¶áá áºáŠážááẠááá·áºáá»ááºáááºááŒá¯áááºáᯠáááºáááºáá«ááá±á¬á
áá»á±á¬ááºáááºážáá«áž: áá«á áá¬áá¬á áá¬ážá¡áá áºááœá± áá±á«áºáá¬áá¯á¶áá«áá²á Java ááẠC ááŸáá·áº áá¬ááŒá±á¬áá·áº áááºáá°ááááºážá C ááœáẠáá°ááá¯ááºážáá¬ážáááºááá¯ááºáá±á¬ áá±á¬ááºážááœááºáá±á¬ syntax áá áºáá¯ááŸááá±á¬ááŒá±á¬áá·áº Java ááẠဠsyntax á០ááŸá¯á¶á·áá±á¬áºááŸá¯áá¶áááŒá®áž type safetyá array bounds checkingá GC ááŸáá·áº C á០á¡áá»áá¯á·áá±á¬á¡áá¬áá»á¬ážááᯠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬áẠááŒá¯áá¯ááºáá¬ážáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááá¯ááºááá¯áẠááá·áºááœááºážáá¬ážáá«áááºá áá«áá±ááá·áº áá°ááá¯á·á áá±á¬áºáá±á¬áºááᯠá áááºá¡á¬ážáááºáááºááẠááá¯ááºáá¬ážá áá°ááá¯ááºážá áááºážááŸá±á·ááá±á¬ááºáá¬áá²á· áá®áá°ážááŒá®ážááœá±áá²á· ááá¯á¶ážáá±á«áºááŸá¬ áááºáááºáááºáá±ááŒáááº- áá®ááá¯áá² ááá¯ážáááºáá¬áááºá
ÐМЎÑей: áá»áœááºáá±á¬áºáá¬ážáááºáááá¯áá²á ááá·áºáá¬áá¬á áá¬ážáᬠááŸááºáá¬ááºáá±ážáááºážáá«áááá·áºáááºá Rust áá¶á០áá»á±ážáá°áá¬ážááá·áº checker áá²á·ááá¯á·áá±á¬ á¡áá¬áá áºáá¯ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠáááºá ááºážá á¬ážáá°ážáá«ááá¬ážá áá°á·ááá¯ááŒáá·áºáá°ážáá¬ážá áá°á·ááᯠáááºááá¯áááºáá²á
áá»á±á¬ááºáááºážáá«áž: áá±á¬ááºážááŒá®á áá« C ááᯠáá±ááºá¡áááºááẠáá±ážáá²á·ááŒá®ážááŒá®á áá® malloc á¡á¬ážáá¯á¶ážááᯠá¡ááá²á·á áá
áºáááºáá¬áá¯á¶ážááᯠááá¯ááºááá¯áẠá
á®áá¶ááá·áºááœá²áá«áááºá áááºáááá«áááºá 90-95% ááá¯ááá¯ááºááá¯ááºááááºážáá»á¯ááºáá¬ážáá±á¬á¡áááºáá¬á¡áá»áááºááá°áá®áá±á¬ááœá²á·á
ááºážáá¯á¶ááŸááááºá ááá¯ááºááá¯ááºáá¯ááºááᬠá¡áááºážáá¬áá»ááºáá«áááºá ááœááºááŒá°áᬠá á¡á²á·áá®ááŸá¬ áá¬ááœá±ááŒá
áºáá±áá² áá²á· áááºážáá²á· áá¯ááºáá±á¬ááºáá»ááºááœá±áá²á· á¡á±á¬ááºááŒááºáá²á·áá¬ááœá±ááᯠááá¯ážááá¯ážááŸááºážááŸááºáž ááŒá±á¬ááŒáá»ááºáá«áááºá á¡áá»áá¯á·á¡áá¬áá»á¬ážá¡ááœááºá á¡ááŸá¬áž checker ááẠáááºážááᯠáá±áá¹áá¬áá²á០áá¯ááºáá±ážáááºá á¡áá»ááºá¡áááºááœá±ááᯠá¡ááá¯á¡áá»á±á¬ááºááŒááá±ážááá·áºááŒá®áž á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá¬ážáááºááŒá®áž áá®áá¬ážáááºááŸá¯ááᯠáááºááŒááá¯á· áá»áœááºáááᯠáááºáá¯ááºáááºááá¯ážáá±á¬áẠáááŒá
áºááá·áºáá«áá°ážá áááºážááẠá¡áááºážáá¯á¶áž ááŒááºááœááºážááœááºáá±á«ááºááœá²ááŒááºážá
áááºááŒá¬ááŸá¯ááᯠáá¯ááºáá±á¬ááºááááºááŒá
áºááŒá®áž áá»ááºááœááºááŸáᬠáá
áºáááºáá¬áá±á¬áºááŒááá·áº ááŸááºáá»ááºá¡áá»áá¯ážá¡á
á¬ážááᯠááá·áºááœááºážááẠááá¯á¡ááºááẠ- áááºážá¡á
á®á¡á
ááºááẠáá»á±ážáá°á
á
áºáá±ážááá·áºáááááá¬ááẠáá»á¬ážá
áœá¬ááá¯ááá¯ááŸá¯ááºááœá±ážáááºá ááá¯á·ááá¯áẠá¡ááŸááºááááºááẠááŸáááŒá®ážáá¬áž memory checker áá»á¬ážááẠáá»á¬ážá
áœá¬ááá¯ááá¯ááŸá¯ááºááœá±ážáá«áááºá "á¡á¬ážáá¯á¶ážá¡áááºááŒá±áááº" ááŸáá·áº "áá«áá¬ááŸáá¬ážááááºáá°áž" á¡ááŒá¬ážááœá±ážáá»ááºááŸá¯ - ááá¯ááºáá°ážá ááá¯áá±á¬ááºážáá²á·á¡áá¬áá
áºáá¯ááŸáááááºá
áá«ááŒá±á¬áá·áº C ááŸá¬ áá¯ááºááœá±á¡áá»á¬ážááŒá®ážáá±ážáá¬ážáá°áá
áºáá±á¬ááºá¡áá±áá²á·á á¡ááá¯á¡áá»á±á¬áẠáá
áºáááºáá¬ááááºážáá»á¯ááºááŸá¯á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááŸáááá¯á·á á¡áá±ážááŒá®ážáá¯á¶ážááá¯á· áá»áœááºáá±á¬áºáááºáá«áááºá Java ááẠmemory áááºáá»áŸáá¯á¶ážáááºááá¯áááºáž ááŒá®ážááœá±á·ááŒá®áž á¡áááááá¯ááºááŒá¬ážáá»ááºááŸá¬ GC ááŒá
áºáááºá Java ááœáẠMemory ááᯠááœá²áá±áááºááŸááºáá±á¬á¡áá«á áá±á¬ááºáá¯á¶áž GC á
ááºáááºážááœáẠlocal ááŒá
áºáá²á·áá±á¬ memory ááᯠááẠááŒááºááááá¯ááºáá«á ááá¯ááá¯áááá»áá±á¬ ááŸááºáá¬ááºá
á®áá¶ááá·áºááœá²ááŸá¯ááŸááá±á¬ áá¬áá¬á
áá¬ážáá»á¬ážááœáẠááá¯ááá¯á·ááá¯ááºáá«á á¡áááºá áááºááẠmalloc ááá¯áá±á«áºááá¯áá«áá á¡áá»á¬ážá¡á¬ážááŒáá·áº á¡áá¯á¶ážááŒá¯áá²á·ááá·áº memory ááᯠáá»ááºáá»ááºážáááŸááááºááŒá
áºáááºá á¡áá»á¬ážá¡á¬ážááŒáá·áº áááºáᬠáááá¬á¡áá¬ááœá±ááᯠááŸááºáá¬ááºáá²á·áá¯ááºááŒá®áž áá»ááºáá»ááºážááŒááºáá¯ááºáá«á áááºážááẠáá»ááºáá»ááºážááẠmalloc áá±áá°ážáááºááá¯á· ááŒááºááœá¬ážáᬠáá±á¬ááºááẠmalloc áááºáááºááŸá¯á áááºážááᯠáááºáá¶ááœá²áá¯ááºááœá¬ážááŒááºáááºá ááá¯á·ááŒá±á¬áá·áºá á¡ááŸááºáááẠááŸááºáá¬ááºá¡áá¯á¶ážááŒá¯ááŸá¯ááᯠáááºááŸááºá¡áá»áááºáá
áºáá¯ááœáẠáááºááŸáá¡áá¬ááá¹áá¯áá»á¬ážá¡ááŒá
Ạáá»áŸá±á¬á·áá»ááá¯ááºááá·áºá¡ááŒáẠáá±á«ááºááŒá¬ážááŸá¯áá»á¬ážáááºáž ááŸááá±áááºá á¡áááºá á¡áá¬á¡á¬ážáá¯á¶ážááẠáá¯á¶ážáá¯á¶ážáá»á¬ážáá»á¬áž áá
áºáááºážáá±á¬áááºážááŒáá·áº ááá±á«ááºááŒá¬ážáá«áá memory á¡áá»á¬ážá
á¯ááẠáááºááŸáºáá»á¬ážááŸáá·áº áááá¯áááºáá¬ááœáẠá¡áá¯á¶ážáááºááŒá®áž áááºážááẠáá»áŸááºááŒááºá
áœá¬ á¡áá¯ááºáá¯ááºáá«áááºá áá«áá±ááá·áº malloc áá²á· á¡ááá²á·áá±á«áºáá²á· manual memory management ááœá± á¡áá»á¬ážááŒá®áž ááá¯á¡ááºáá«áááºá ááŸááºáááºáá²á· áá±áá¬ááŸá¬á Rust ááẠáááºážááᯠáá°á·áá¬áá¬áá° áá±á¬ááºážá
áœá¬ ááá¯ááºááœááºááá¯ááºááŒá®ážá áá»á¬ážá
áœá¬áá±á¬ á¡ááŒá±á¡áá±áá»á¬ážááœáẠáááºááá¯áá®áá¯á¶ážá
áœá²ááŸá¯ááᯠáááºááŸáááœááºáá»ááºááŸá¯ááœááºáᬠáá»ááºážááŒá±á¬ááºážááœá¬ážáá±á¬ááŒá±á¬áá·áº - ááŸááºáá¬ááºááᯠááœááºá
á±ááá·áº GC á
ááºáááºážááᯠá
á±á¬áá·áºááá¯ááºážááŒááºážááẠááá·áºáá»ááºáááºá¡áá±ááŒáá·áº áááºááá¯áá®áá¯á¶ážá
áœá²ááŸá¯ááᯠáááºááŸáááœááºáá»ááºááŸá¯á¡áá áá»ááºážááŒá±á¬ááºážá
á±áááºá ááááºá¡áá±ááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠá
áœááºážáá±á¬ááºáááºááŒáŸáá·áºáááºááẠá¡ááœááºá
áááºáááºá
á¬ážááœááºáá±á¬ááºážáá±á¬ áááºážáááºážáá
áºáá¯ááᯠáááŸááá²á·áá«áááºá ááŒá®ážáá±á¬á· á¡áá±á¬áºáá±áž á¡á
áœááºážáááºááẠ- ááá¯ááá¯áá¬á fintech á¡ááœáẠáá±áá¬ááᯠá
á®áá¶áá±á¬ááºááœááºáá²á·á¡áá« á¡á²áá®ááá¯áá»áá¯ážááœá± áá¯ááºáá²á·ááŒá®ážá áá«á áá«ážááá±á¬áẠá¡ááŸáááºáááá¯ááºá
á±áááºá á¡áá°ážáááŒáá·áº áááá¯áááºáá¬áá»á¬áž ááŒááºáááºáá¬ááŒááºáž áááŸááá±á¬ ááá¹áá¬ááœáẠááá¯ážáááºááŸá¯á¡ááœáẠáá»áœááºá¯ááºááá¯á· á
á±á¬áá·áºáá±áá²ááŒá
áºáááºá
Performance Engineer á¡áááºááœá±ážáááºážááŒá±á¬ááºáž
ÐМЎÑей: áá±áá°áá»á¡á¬ážááŒáá·áº á¡áááºááœá±ážáááºážááŒá±á¬ááºážááá¯ááºáᬠá¡ááŒá±á¬ááºážááá¯áááºáž áá±ážáá»ááºáá«áááºá HotSpot ááœáẠáááºá JIT á¡áá¯ááºááŒáá·áº áá»á±á¬áºááŒá¬ážáá¬ááŒá®ážáá±á¬áẠJVM áá¯áá¹ááá®ááŒá áºááá·áº Azul ááá¯á· ááŒá±á¬ááºážááœáŸá±á·áá²á·áááºá áá«áá±ááá·áº áá»áœááºáá±á¬áºááá¯á·áᬠáá±á¬á·ááºáá²ááºááẠáá¬á·ááºáá²ááŸá¬ ááá¯á¡áá¯ááºáá¯ááºáá±áá«ááŒá®á ááá¯á·áá±á¬áẠáááºážááá¯á·ááẠBig Data ááŸáá·áº Machine Learning ááá¯á· áá¯ááºááááºááŒá±á¬ááºážáᬠááááºáááºááŸá¯ááŸá¬ááœá±ááŒááºážááá¯á· ááŒá±á¬ááºážáá²áá²á·áááºá áá«á áááºááá¯ááŒá áºáá¬áá²á á€áááºááŸá¬ ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á ááœá²ááŒá¬ážááŒá¬ážáá¬ážáá±á¬ áááºáááºáá»á¬ážááŒá áºáááºá
áá»á±á¬ááºáááºážáá«áž: áá»áœááºáá±á¬áº áááá¯ááááºáá±ážáᬠáá±á¬áºáá±á¬áºááŒá¬áá«ááŒá®á ááœá²ááŒá¬ážáá²á· á¡áááºážááœá± á¡áá»á¬ážááŒá®áž áááºááá¯ááºáá²á·áááºá ááŒá®ážáá±á¬á· áá°ááœá±á âá¡áá¯á áááºážá Java á¡ááœáẠJIT áá¯ááºáá²á·áá°áá²â ááá¯á·ááŒá±á¬áá²á·á¡áá«á á¡ááŒá²áááºážáááºá áá¬áá±á¬ááºážáááºá áá«áá±ááá·áº á¡á²áá®áááá¯ááºáááºáá¯ááºážá Apple á áá°á·áá²á·áá±áá¬ááááºáá¬ááœá±á¡ááœáẠáá áºáá»áááºáá¡áá¯á¶ážááŒá¯áá²á·áá²á· PostScript áá²á·ááá¯ááºááœá¬ážááᯠáá¯ááºáá±á¬ááºáá²á·áá«áááºá á¡á²áá®áááá¯ááºáááºááŸá¬ Forth language ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá áá»áœááºáá±á¬á·áºá¡ááœáẠáá¯á¶áá±á¬ááºáá¯ááºáá áºáá¯ááá±á¬á· tool development ááá¯á· áá»áœááºáá±á¬áºáááºáá«áááºá áá áºáááºáá¯á¶áž áááŒá¬ážáá°ááœá±á áá°ááá¯á·áá²á· á¡ááá¯ááºá á¬áž áááá¯ááááºááœá±áá±ážáá²á· áááááá¬ááœá± áááºáá®ážáá²á·áááºá áá«áá±ááá·áº áá»áœááºáá±á¬áºáᬠá¡áá±ážá¡ááœá²ááá± á áááºáá²á·áá²á· OS ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á¡ááœáẠOS ááœá±á drivers ááœá±á kernel-level debugger ááœá±áá²á· ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááŸá¬ áá«áááºáá²á·áááºá áá«áá±ááá·áº á¡áá»áááºááŒá¬áá¬áá¬áá²á·á¡áá»áŸ ááá¯ááá¯ááŒá®áž ááŸá¯ááºááœá±ážáá¬áááºá ááá¯á·áá±á¬áº á¡áááá¡ááŒá±á¬ááºážá¡áá¬ááŸá¬ áááááá¬áá»á¬áž ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážááẠááŒá áºáááºá áá»áœááºáá±á¬á·áºáááá²á· ááŒá®ážáá¬ážáá²á· á¡á áááºá¡ááá¯ááºážáá áºáá¯ááŒá áºáá²á· Azul áá²á· Sun ááŒá¬ážááŸá¬ ááŒááºáááºážáá²á·ááŒá®áž Java á¡ááŒá±á¬ááºážáá«á áá«áá±ááá·áº áá»áœááºáá±á¬áº Big Data áá²á· Machine Learning áá²ááᯠáá±á¬ááºáá²á·á¡áá«ááŸá¬áá±á¬á· áá»áœááºáá±á¬á·áºáá²á· áááºá á®áŠážáá¯ááºááᯠááŒááºáááºááŒá®áž âá¡áá¯ážá á¡áᯠáá»áœááºáá±á¬áºááá¯á·ááŸá¬ á¡áá±ážá¡ááœá² ááŒá¿áá¬áá áºáᯠááŸááá±ááŒá®á á áááºáááºá á¬ážá áá¬ááœá± á¡áá»á¬ážááŒá®áž ááŸááá±ážááŒá®áž áá°ááœá±áááºáž áá¯ááºáá±ááŒáá¬áá±á«á·â ááá¯á· ááŒá±á¬áá«áááºá áá«áᬠáá±á¬ááºážááœááºáá²á· ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážáááºážááŒá±á¬ááºážáá áºáá¯áá«á
áá¯ááºáá²á·á áá»áœááºáá±á¬áº ááááºáá² ááŒáá·áºáá±áá²á· ááœááºááŒá°áá¬ááᯠááŸá
áºáááºáá«áááºá áá»áœááºáá±á¬á·áºáá²á· ááááá¯á¶ážá¡áá¯ááºá ááŒá±á¬áºááŒá¬ááá±á¬áá»ááºáá
áºáá¯ááŸá¬ C á áá»á±á¬ááºážáá¬ážáá«á áááºážááẠá¡á
á
áºá¡ááŸáẠanalog Analyzer ááŸáá¯ááºáá¯ááºáá±á¬ Analog OCR á¡ááœáẠá¡áá»ááºá¡áááºá
á¯áá±á¬ááºážááá·áº Zilog Z80 áá»á
áºááºáá»á¬ážáá±á«áºááœáẠááœááºáá»ááºáá¬ážáá±á¬ ááŒáá·áºáá±ááŒááºážááŒá
áºáááºá áá«áᬠá¡á±ážááŒááŒá®áž áá¯á¶ážá áá°ážááœááºáá²á· á¡ááŒá±á¬ááºážá¡áá¬áá
áºáá¯áá«á ááá¯á·áá±á¬áº ááŒá¿áá¬áá»á¬áž ááŸááá²á·áááºá á¡áá»áá¯á·áá±á¬ á¡ááá¯ááºážááᯠááŸááºáááºá
áœá¬ á¡ááá¡ááŸááºáááŒá¯áá±á¬ááŒá±á¬áá·áº áá¬ááºáá¯á¶áá
áºáá¯á¶ááᯠáá¯ááºá áááºážááá¯á·á áá»ááºáá¯á¶ážááŒáá·áº áááºááŒá®ážáá±á¬ áá°áá»á¬ážááᯠááŒááᬠáááºážááŒá±á¬áááºááᯠá¡á
á®áááºáá¶ááẠááá¯á¡ááºáááºá ááá¯á·ááŒá±á¬áá·áº áá±áá¬áá«áá±á¬ á¡áá¯ááºáá»á¬áž ááŸáááŒá®áž ááá¯á¡áá¯ááºáá»á¬áž áá°ááá¯á·ááá¯ááºááá¯ááºáá¬áá¬á
áá¬ážááŸááá²á·áááºá á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠá
á®áá¶áá±á¬ááºááœááºáá±ážááá·áº áá±á¬ááºáá¶á¡á
áœááºáá
áºáá¯ááŸááá«ááẠ- Z80s ááẠvt100 terminals áá»á¬ážááŸáá·áºá¡ááŒáá¯áẠáááºáááºáá±ááẠ- áá°áá
áºáŠážáá»áŸáẠáá
áºáŠážá Z80 ááœáẠá¡ááŒáá¯ááºáááá¯ááááºážáááºážáá¯á¶á
á¶áá
áºáá¯ááŸááá«áááºá ááŒááºáá¯á¶á
á¶ááœá²á·á
ááºážááŸá¯á¡ááœááºáž Z80s á¡á¬ážáá¯á¶ážáá»áŸáá±áá±á·ááŸááá±á¬ ááŸááºáá¬ááºá¡á
áááºá¡ááá¯ááºážá¡áá»áá¯á·á backplane ááá¯áááºáž áá»áŸáá±áá¬ážááŒá®áž RAM áá
áºáááºááᯠááœááºáááºá¡ááœááºáž áá»áŸáá±áá¬ážááŒá®áž á¡ááŒá¬ážáá
áºáááºááẠáá®ážááá·áº ááá¯á·ááá¯áẠá¡ááŒá¬ážá¡áá¬áá
áºáá¯ááá¯á· ááœá¬ážáá«áááºá áá»áŸáá±áá¬ážáá±á¬... semi-shared memory áá«áá±á¬ á¡áááá¹áá«ááºááŸááá±á¬ ááŸá¯ááºááœá±ážáá±á¬ á¡ááŒáá¯ááºááŒáá·áºáá±ááŸá¯á
áá
áºá áá«á áááºáá¯ááºážááá²... 80s á¡áááºááá¯ááºážá áá
áºáá±áá¬ááá¯áá±á¬áẠáááŸááºáááá°ážá áá±á¬áºáá±á¬áºááŒá¬ááŒá®á
áá¯ááºáááºá ááŸá
Ạ30 á áá±á¬áºáá±á¬áºááŒá¬áá±ááŒá®ááá¯á· áá°áááŒáá«á
áá¯á·á ááŒáá·áºáá±áá¬ážáá²á· ááœááºáá»á°áá¬áá²á· áááºáááºáá²á· ááŒá¿áá¬ááœá±á áá±á¬áºáá±á¬áºááŒá¬áá±ááŒá®á áá°ááœá±áá²á· á
á
áºááŒá
áºáá±áᬠááŒá¬ááŒá®á
H2O ááœáẠáá»áœááºá¯ááºáááºááŒáá¬áááºááŸá¬ áááºážááẠááŒáá¯ááºááá¯ááºááŸá¯á¡á¬áž áááºááá·áºáá±áá¬ááœáẠááŸááºáá¬ážáááºááŸáá·áº áááºááá·áºáá±áá¬ááœáẠáááŸááááºááᯠáá¯á¶ážááŒááºááẠáá¬áááºááŸáááá·áº developer áá»á¬ážáááºááŒá áºáá«áááºá á áœááºážáá±á¬ááºáááºááŒáá·áº áá¯ááºáá±ážáááºážááᯠááœááºáá°ááá¯ážááŸááºážá á±ááá·áº coding model áá áºáá¯ááᯠáá®ááœááºáá²á·áá«áááºá áá«áá±ááá·áº ááŸá±ážááœá±ážáá²á· áá¯ááºáá±ážáááºážá áááºáá²áá«áááºá ááŒáá·áºááᬠááá±á¬ááºážáá«áá°ážá ááŸá±ážááœá±ážáá±á¬áá¯ááºáá±ážááẠá¡áá±ážá¡áááºáá¬ážááẠááá¯á¡ááºáááºá áááºááẠá á¶ááá¯ááºáá±á¬ áááºážáááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááááá·áºáááºá áááááºáá¯ááºááᯠááááá áºáá»ááºááœáẠááŒááºááá¯ááºáááºá ááááºá¡áá±ááŒáá·áºá áááºááẠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº áá»ááºááŒááºá áœá¬ áááºáááºáá±áá±á¬ áá¯ááºááᯠáá±ážáááºáá±á¬áºáááºáž áá»áŸáá±áá¬ážáá±á¬ áááºááá¯áá®ááœáẠáá¬áá¯ááºááááºááᯠá¡ááŒá±ááŸá¬ááẠááá¯á¡ááºáááºá á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠááŒá®ážáá¬ážáá±á¬ array áá»á¬ážááŸáá·áº áá»áááºáááºáá¬ážááŒá®áž áááºážááœáẠá¡ááŒá¯á¡áá°ááẠááŒáá¯ááºáá° Java ááŸá ááááºááŒáááºáá±á¬ ááŒá®ážáá¬ážáá±á¬ áááºážáá»ááºážáá»á¬ážááŸáá·áº áááºáá°áááºá áá»áœááºáá±á¬áºááá¯ááá¯áááºááŸá¬ á á¬ááœá²ááŸá áºáá¯ááẠá¡ááŒáá¯áẠáááºážáá»ááºážáá áºáá¯ááá¯á· áá±ážááá¯ááºáááºá áááºážááá¯á·áá²á០áá áºáá¯ááẠá¡ááá¯ááºááááºá áá±á¬ááºáá áºáá¯ááẠáá»á±á¬áºáá®á áœá¬á ááŸá¯á¶ážáááºá áááºááá·áºá¡áá¬ááŒá áºáááºááᯠáááºáááááá¯ááºáᯠááœá±ážááŒáá·áºáá«á áááºážááá¯á·ááẠááááºááŒáááºáá«á á¡áááá·áºááẠáááºá¡ááá¯ááŸáááá·áºá¡ááá¯ááºáž ááŒá áºááá¯ááºááẠ- áááºážááẠá¡ááŸááºáááẠáá±á¬ááºážááœááºá áœá¬ á¡áá¯ááºáá¯ááºáá«áááºá áá°ááœá±áᬠáááºáááºááŸá¯á¡á á®á¡á á¥áºááᯠá¡ááŸááºáááẠááá¯á áá¯ááºááŒááŒá®áž ááŸááºáááºáá²á· áá±áá¬ááœá±ááŸá¬ áááŒáááºááááºááŒá áºáá±ááŒááŒá®áž ááŸááºáááºáá²á· áá±áá¬ááœá±ááŸá¬ ááŸááºáá¬ááºááá¯ááºáᬠá áœááºážáá±á¬ááºáááºááá¯ááºáᬠááŒá¿áá¬ááœá±ááᯠáá»áŸá±á¬áºááá·áºááŒáá«áááºá ááá¯ááºáá«áá N ááẠááá®áá»á¶á¡áá»áá¯á·ááŸááᬠ1 á០N á០ááœááºážáááºáá¯á¶á á¶ááŒáá·áº áá¯ááºááᯠááá¯ážááá¯ážááŸááºážááŸááºážáá±ážááááºááŒá áºááŒá®áž ááŸá¯ááºááœá±ážáá±á¬ááá á¹á áááºáá»á¬ážá¡á¬ážáá¯á¶áž á¡ááá¯á¡áá»á±á¬áẠá¡ááŒáá¯ááºááŒá áºáá¬áááºááᯠáá»áŸá±á¬áºááá·áºáᬠáááºážááŸá¬ á¡áá¯ááºáááŒá áºáá«á ááá¯á·áá±á¬áº H2O ááœááºáááºážááẠJava áááºážááá¯áẠScala ááá¯ááºáá«á áááºá¡ááá¯ááŸááá«á áááºážááᯠ"Java á¡ááŸá¯ááºá¡ááŸá¯ááº" áá¯áááºá ááºážá á¬ážááá¯ááºáááºá áááºážááẠá¡ááœááºááŸááºážáááºážááŒááºáá¬ážáá±á¬ áááá¯ááááºážáááºážáá¯á¶á á¶ááŒá áºááŒá®áž ááá¯ážááŸááºážáá±á¬ C ááá¯á·ááá¯áẠJava áá¯ááºááᯠloops ááŸáá·áº arrays áá»á¬ážááŒáá·áº áá±ážáá¬ážááŒááºážááŸáá·áº áááºáá°áááºá ááá¯á·áá±á¬áºáá áºáá»áááºáááºážááŸá¬áááºá ááŸááºáá¬ááºááᯠterabytes ááŒáá·áºáá¯ááºáá±á¬ááºááá¯ááºáááºá áá« H2O áá¯á¶ážáá±áá¯ááºážáá²á ááá°áá®áá²á· ááá±á¬áá»ááºááœá±ááŸá¬ áá¶áááºáá¶áá« á¡áá¯á¶ážááŒá¯áá«ááẠ- á¡á²áá«áᬠá¡áá»ááºááŒááºáá¯á¶ážááŒá áºááŒá®ážá ááŒáá¯ááºáááºááœá±ááẠá¡ááá±á«ááºážáá»á¬ážá áœá¬ ááá¯ááŒááºáá±áá«áá±ážáááºá á¡áááºá áááºááẠcolumnar data ááŒáá·áº Big Data ááá¯áá¯ááºáá±á¬ááºáá±áá«á H2O ááá¯á¡ááá¯ááºáá°áááºá¡ááœááºáááºáá²áááºá
áááºážááá¬ááá¯ááºáá¬á áááºáá±á«áºááŸá¯áá»á¬áž
ÐМЎÑей- áááºážáá²á·á¡áááºááœá±ážáááºážááŒá±á¬ááºážáá áºáá¯áá¯á¶ážááŸá¬ áááºážáá²á·á¡ááŒá®ážáá¬ážáá¯á¶ážá áááºáá±á«áºááŸá¯á áá¬áá²á
áá»á±á¬ááºáááºážáá«áž- áá»áœááºá¯ááºááá¯á·ááẠááŒá¿áá¬á áááºážááᬠááá¯á·ááá¯áẠáááºážááá¬ááá¯ááºáá±á¬ á¡á
áááºá¡ááá¯ááºážááᯠááœá±ážááœá±ážáá±áá«ááá¬ážá á¡ááŒá®ážáá¬ážáá¯á¶ážá
áááºáá±á«áºááŸá¯ááœá±á áááºážááá¬ááá¯ááºážááá¯ááºáá¬ááœá±ááá¯ááºáá°ážááá¯á· ááŒá±á¬áá»ááºáá«áááºá
áááºážááá¬ááá¯ááºážá¡á á
áááºáá±á«áºááŸá¯ááœá± ááŸááááºá áá«áá°ááá¯á·ááᯠááá¯ážááá¯ážááŸááºážááŸááºážáá² á¡ááá¯ááºáá°áá²á·áááºá á¡ááŒá®ážáá¯á¶ážá áá¬áá²ááá¯áá¬áá±á¬áẠááááá±ááá·áº áá±á¬áºáá±á¬áºá
áááºáááºá
á¬ážá
áá¬áá±á¬ááºážáá²á· á¡áá¬ááœá± á á
áááºááá¯ááºážááá¯ááºáᬠáá¯ááºážáááºááŸá¯ááœá±áᬠá¡áá»áááºá¡áááºážáááºáá°áá²á·ááá«áááºá Sun ááá¯ááœá¬ážáá¯ááºážááá±á¬á· á¡ááŒáẠcompiler áá
áºáá¯áá¯ááºáááºááá¯áᬠáá±áá»á¬áááºá á¡ááŒá®ážáááºážááœá±á áááºáá±á¬á·á០á¡á±á¬ááºááŒááºááŸá¬ááá¯ááºáá°ážááá¯á· áá¯á¶á·ááŒááºááŒá±á¬ááá¯ááŒáááºá áá«áá±ááá·áº áá»áœááºáá±á¬áº áá®áááºážááŒá±á¬ááºážááᯠááá¯ááºáá»áŸá±á¬ááºááŒá®áž ááŸááºáá¯á¶ááẠááœá²áá±áá±ážáá°áᶠá
á¬á
á®á
á¬áá¯á¶ážáá±ážááŒá®áž áá±á¬áºáá±á¬áºááŒááºáá«áááºá áááºážááẠáá±ááºáá® C1 áá²á·ááá¯á· ááŒááºáááºáá±á¬áºáááºáž ááœá²áá±áá±ážáá°ááẠááááºá á¡ááœááºááŸá±ážááœá±ážáá²á·ááŒá®áž áá±á¬ááºááœááºááœáẠáááºážááẠááŒá®ážáá¬ážáá±á¬ áá±áá¬ááœá²á·á
ááºážáá¯á¶ááŒá¿áá¬áá
áºáá¯ááŒá
áºáááºá graphical register allocator ááá¯áá±ážááẠááá¯á¡ááºááŒá®áž ááá¯áá±ááºá áááºááŸáááŒá®áž á¡ááœááºá¡áá±ážááŒá®ážáá±á¬ áá¯ááºáá±á¬áºááŒááá¯ááºááŸá¯ááŸáá·áº ááŒááºááŸá¯ááºážááá¯á·ááŒá¬áž á¡áá»ááºá¡áááºážááᯠáá¬ážááááºáá²á·áá«á áá±áá¬ááœá²á·á
ááºážáá¯á¶ááẠááá¯á¡áá»áááºá x86s ááœáẠáááºááŸáºá¡ááœááºá¡á
á¬ážááᯠáá»á±á¬áºááœááºáá±á·ááŸáááŒá®áž ááá¯á·ááŒá±á¬áá·áºá ááŸááºáá¯á¶áááºááœá²áá±áá±ážáá°ááẠáá¯ááºááŸá¯ááºááœá¬ážááá·áºá¡áá»áááºá
á¯á
á¯áá±á«ááºážá 5-10 áá¬ááá¯ááºááŸá¯ááºážá¡áá á¡áá¯ááºáá¯ááºáááá·áºáááºáᯠáááŠážáá°ááá«áá á
á áá¬ááá¯ááºááŸá¯ááºážá
á¡áá»áááºááŒá¬áá¬áááºááŸáá·áºá¡áá»áŸá compiler ááẠááá¯ááá¯ááá·áºááŸááºážáá¬ááŒá®áž ááá¯ááá¯áááá±á¬ááºáá¬áááºá ááá
á¹á
áááºáá»á¬ážááœáẠááá¯ááá¯ááá¯ážááœá¬ážáá±á¬áá¯ááºáá»á¬ážáá¯ááºáá±ážááŒááºážááᯠáááºááá¯ááºááŒá®áž á
áœááºážáá±á¬ááºáááºááẠC compiler ááŸáá¯ááºáá¯ááºááá·áºáá¯á¶á
á¶ááŸáá·áºáááºáá°áá¬áá«áááºá . C áá²á·ááá¯á· áá¯ááºáá±ážáá«á C áá²á·ááá¯á· á
áœááºážáá±á¬ááºááẠááá¯ááá¯áááŸááááºááŒá
áºáááºá áááºááœá¬ážáá±áá±á á¡ááá·áº C ááŸáá·áº ááá®áááœááºááŒá
áºáá±áá±á¬ áá¯ááºááᯠáááŒá¬ááááá±áá±á ááŸááºáá¯á¶áááºááœá²áá±áá±ážáá°ááẠááŒá®ážááŒáá·áºá
á¯á¶áá±á¬ á¡áá¬áá
áºáá¯á¡ááŒá
Ạá
áááºáá¬áááº... ááá·áºáá¯ááºááẠááŒááºáááºááŒá
áºá
á± ááŸá±ážáááºááŒá
áºá
á± ááááºááá¯ááºáá«á ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ ááœá±ážáá»ááºááŸá¯áá»á¬áž ááŒá¯áá¯ááºááá¯ááºááẠááœá²áá±áá±ážáá°ááᯠáááºáááºáá¯ááºáá±á¬ááºáá²á·áááºá áá°ááẠáááŒááºážááŒááºážááŸáá·áº ááŸá±ážáá¬áááºá ááá¯á·áá±á¬áº á¡ááŒá¬ážáááºáá°áá»áŸ áá
áœááºážáá±á¬ááºááá¯ááºáá±á¬ ááá
á¹á
áá»á¬ážááœáẠááá¯ááá¯áá±á¬ááºážááœááºááŒá®áž ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ á
áœááºážáá±á¬ááºáááºááᯠáá±ážáá²á·áááºá ááŸááºáá¯á¶áááºááœá²áá±áá±ážáá°áᶠá
á±á·á
á±á·áá¯ááŒáá·áºááá¯ááºáááºá ááá¯áá±áá¬ááœáẠá¡áá¯ááºáá
áºáááᯠááŒáŸá¯ááºááŸá¶ááá¯ááºáááºá áá¯ááºáááẠáá¯ááºáá
áºáá¯áá¯á¶ážááẠ5% ááá¯ááŒááºáá¬áááºá áá«á á¡áá»áááºáá²á·á¡áá»áŸ ááŒá
áºáá»ááºááœá¬ážááŒá®áž ááŸááºáá¯á¶áááºááœá²áá±áá°áᬠá¡áá¯ááá¬áááºáá¬áá
áºáᯠááŒá
áºáá¬áá²á·ááẠ- áá°ááá¯ááºážá ááŒáá¯ááºááẠááŒá
áºá
á±á áá¯ááºážáááºááŒá
áºá
á± á á¡áááºááá®á áá°ááœá±á âáá¬ááŒá±á¬áá·áº áá®ááá¯áá¯ááºááá¬áá²â áá°áá±á¬ áá±á«ááºážá
ááºááŒáá·áº áá±ážááœááºážáá»á¬áž áá±ážááŒáááºá
ááŒá¿áá¬ááŸá¬ inlining áá¬áá¬áááºááᯠááá·áºááœááºážáááºá inlining á§áááá¬ááᯠááá¯ážááŒáŸáá·áºááŒááºážááŸáá·áº ááá¯ážááŒáŸáá·áºáá«áá á¡áá¯á¶ážááŒá¯áá¬ážáá±á¬ áááºááá¯ážáá»á¬ážááẠááŸááºáá¯á¶áááºá¡áá±á¡ááœááºááᯠáá»ááºáá»ááºážáá»á±á¬áºááœááºááœá¬ážáááºááŒá áºááŒá®áž áááºážááá¯á·ááᯠááŒááºáá±á¬ááºááááºááŒá áºáááºá ááœá²áá±áá±ážáá°á á áœáá·áºá á¬ážáá±á¬á¡áá«ááœáẠá¡áá±ážááŒá®ážáá±á¬á¡ááá·áºááẠáá»á¬ážáá±á¬á¡á¬ážááŒáá·áº áá±á¬ááºáá¬ááŒá®áž ááááºá á¬á¡ááœáẠááá¯ááºá á¬ážááŸááºáá±á¬ááºážáá áºáŠážááẠá¡ááŒá¬ážáááºááá¯ážááŸááááŒáá·áº áááºááẠáá±áá¯áá»á¡á¬ážááŒáá·áº ááá¯ááºážáá±á¬á¡áá¬á¡áá»áá¯á·ááᯠáá±á¬ááºážáá»áááºááŒá áºáááºá á€áá±áá¬ááœáẠinlining ááááºááá¯ážááŸá¬ ááẠoverhead á á¡á áááºá¡ááá¯ááºážááᯠáá¯á¶ážááŸá¯á¶ážáááŒááºážááŒá áºááŒá®ážá áá¯ááºážáá±á«áºááá¯ááŒááºážááŸáá·áº áá»áœá±áá¬ááŒááºážá¡ááœááºá á¡áá±á«áºááá¯ááºážá០áááºááá¯ážáá»á¬ážááᯠáááºááŒááºááá¯ááºááŒá®áž áááºážááá¯á·ááᯠááá¯ááá¯áá±á¬ááºážááœááºá¡á±á¬ááºááŒá¯áá¯ááºááá¯ááºáááºá inlining ááá¯ááºáá»á ááááºááŸá¬ ááá¯ááºááá¯ááºáááºááá¯ážáá»á¬áž á¡áá»á¬ážá¡ááŒá¬ážááœá²á·á ááºážáá¬ážááŒááºážááŒá±á¬áá·áºááŒá áºááŒá®áž áááºáá á¬áááºážááœá²áá±áá±ážáá°ááẠááá¯á¡ááºáááºáááºááá¯ááá±á¬ááºáá»áœááºážáá«á áááºáá»ááºáá»ááºážáá¯á¶ážááŸá¯á¶ážáááºááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áºá ááœá²áá±áá±ážáá°á¡áá»á¬ážá á¯ááŸá¬ ááŒá¿áá¬áá áºáá¯ááŸááááº- inline ááẠáááºááŸááºáá¬ážáá±á¬áá»ááºážááá¯ááŒááºááœá¬ážáá±á¬á¡áá«á ááá¹áá¬áá±á«áºááŸá á¡áá¬á¡á¬ážáá¯á¶ážááẠááŒááºáá±á¬ááºáá¶áááŒá®áž áá¯ááºáá¯ááºá áœááºážá¡á¬ážááᯠá¡áááºáá¬áá²ááá¯á· ááœáŸáá·áºáá áºááá¯ááºáááºá compiler ááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá°áá»á¬ážááẠá¡áá»áá¯á·áá±á¬ heuristics áá»á¬ážááᯠáá±á«ááºážááá·áºáááº- á¥ááá¬á ááœá²áá±áá»áá¬ážááŸá¯áá»á¬ážááẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠáá»ááºá á®ážá á±áááºááŒá áºáá±á¬ááŒá±á¬áá·áº á¡áá»áá¯á·áá±á¬ áá¯á¶áá±á¬ááºáá±á¬á¡ááœááºá¡á á¬ážááŒáá·áº á áááºáᬠinlining ááá¯áááºááá·áºáááºá á€áááºááŸá¬ á áœááºážáá±á¬ááºáááºááááºááœáẠá¡áá»ááºážáááºáá¯á¶áá áºáᯠááŒá áºáá±á«áºáá¬ááẠ- ááẠinline á inline á á áœááºážáá±á¬ááºáááºááẠáááŒááºážááŒááºážááŒá®ážááœá¬ážáá¬ááẠ- ááá¯á·áá±á¬áẠboom á - áááºá¡áá»á¬ážááŒá®ážáááºážá á®áá¬ážáá±á¬ááŒá±á¬áá·áº áá»ááºááŒááºáá±á¬ jack áá²á·ááá¯á·ááŒá¯ááºáá»áááºá áá»á¬áá¬ážáááœááºážáá¬ážáá®ááœáẠá¡áá¬á¡á¬ážáá¯á¶ážááẠá€áááºážá¡ááá¯ááºážááŒá áºáááºá Java ááẠinlining á¡áá»á¬ážá¡ááŒá¬ážááá¯á¡ááºáááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááẠáá»ááºá á®ážááœá¬ážááá·áºá¡á á¬áž ááœá²áá±áá±ážáá°ááᯠááá¯ááá¯ááŒááºážáááºá¡á±á¬ááºááŒá¯áá¯ááºááááºááŒá áºááŒá®áž áááºá¡ááºááá¯ááºážá¡ááœááºá¡áá»áœá¶áááºáá«áá áááºážááẠááááºá ááºááœá¬ážáá±á¬á·áááºááŒá áºáá±á¬áºáááºážá ááá¯á·áá±á¬ááºááœááºáá±á¬á· "áá±á¬ááºááẠspilling" áááŸááá±á¬á·áá«á áá«á á áááºáááºá á¬ážá áá¬áá±á¬ááºážáá²á· á á°ážá ááºážááŸá¯áá áºáá¯ááŒá áºááŒá®áž ááŸááºážááŸááºážáááºážáááºáž ááááá¬áá±ááá·áº áááºááá±á០ááœááºáá¬áᬠáá±á¬ááºážáá«áááºá áá»áœááºá¯ááºááẠááŒááºážáááºáá±á¬ inlining ááá¯áá°áᬠJava ááŸáá·áº C á áœááºážáá±á¬ááºááẠáá±ážáá»ááºážááŸááºá á¡áá¯ááºáá¯ááºááá·áºáá±áá¬áá»á¬ážááá¯á· áá±á«áºáá±á¬ááºááœá¬ážáááºá á¡á²áá«ááœá±á ááááºááᯠáá®ážá ááºáá«ááẠ- C áá¯ááºááẠáááááá¬áᬠááá¯ááŒááºáá²á· Java áá¯ááºáá²á· á¡á²ááá¯á¡áá¬ááœá±ááᯠáá±ážááá¯ááºáá±ááá·áº áá»ááºážáá»áŸá¡á¬ážááŒáá·áºáá±á¬á· á¡áá¬ááœá±áá²á· áá¯á¶ááŒá®ážááŸá¬ á¡ááŒááºážáá»ááºážá¡á¬ážááŒáá·áº ááŸááºááá¯ááºáá«áááºá áá®áá¯ááá¯ááºáá²á· áá áºá áááºáá áºááá¯ááºážááá±á¬á· áááºááá¯ááºááá»áŸ ááá¯ááºáá²á áœá¬ ááá¯ááºážáááºááœáá·áºááŒá¯áá²á· ááŸááºáá¯á¶áááºááœá²áá±áá±ážáá°ááá¯á· áááºáá«áááºá áá«ááŒááºááá»áŸááᯠáá±ážáááºááá¯ááºáá¯á¶áá«áá²á á€áá±áá¬ááœáẠáá±ážááœááºážááŸá¬ ááœá²áá±áá±ážáá°ááẠááááºááẠáááºááŒááºá áœá¬ á¡áá¯ááºáá¯ááºááŒááºážááŸáá á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá¬ážáááºááŒá®áž áááºážááᯠá¡áá¯ááºááŒá áºá¡á±á¬ááºáá¯ááºááẠá áááºáá±á«áºááŸá¯ááŒá®ážáá áºáá¯ááŒá áºáááºá
á á¬áááºážááœááºážááœá²áá±ááŒááºážááŸáá·áº cores áá»á¬ážá áœá¬á¡ááŒá±á¬ááºáž á¡áááºážáááº
ÐлаЎОЌОÑ: ááŸááºáá¯á¶áááºááœá²áá±ááŒááºážáá²á·ááá¯á· ááŒá¿áá¬áá»á¬ážááẠáá¬ááá á¡áá¯á¶ážáááŸááá±á¬ á¡ááŒá±á¬ááºážá¡áá¬á¡áá»áá¯á·ááŸáá·áº áá°áááºá á¡áá¬ážá¡áá¬áá±á¬ááºážáááºááá¯á· áááºáááŒá®áž áááºááœá±á·ááŸá¬ áá¡á±á¬ááºááŒááºáá²á· á¡ááŒá¶áá áºáᯠááŸááá°ážááá¬ážááá¯á· ááœá±ážáááá«áááºá
áá»á±á¬ááºáááºážáá«áž: áá±áá»á¬áááº! ááŸááºáá¯á¶áááºááŒááºáž ááœá²áá±áá»áá¬ážáá±ážááŒááºážááẠNP-ááŒá®ážááŒáá·áºá á¯á¶áá±á¬ááŒá¿áá¬ááá¯ááŒá±ááŸááºážááẠáááºááŸá¬ááœá±áááºááŒáá¯ážá á¬ážááá·áºáá±áá¬áá áºáá¯ááŒá áºáááºá ááŒá®ážáá±á¬á· ááŒá®ážááŒáá·áºá á¯á¶áá²á· á¡ááŒá±áá áºáá¯ááᯠááẠáááºáá±á¬á·á០á¡á±á¬ááºááŒááºááá¯ááºááŸá¬ ááá¯ááºáá°áž ááá¯ááºáá¬ážá áá«á ááá¯ážááá¯ážááŸááºážááŸááºáž áááŒá áºááá¯ááºáá«áá°ážá á¡áá»áááºáá® á á¯á ááºážáá¬ážáááºááᯠááŒáá·áºáá« - áááºážáááºáááºáž á¡áá¯ááºááá¯ááºáá«á á€áá±áá¬ááœáẠá áá¬ážááá¯ááºážááẠá¡áá»áá¯á·áá±á¬ áá¬áááºááá á¹á áá»á¬ážá¡ááŒá±á¬ááºážááŒá áºáááºá áá¯á¶ááŸááºá áœááºážáá±á¬ááºáááºá¡ááŒá±á¬ááºážá áá«ááŒá±á¬áá·áº áááºá áá¯á¶ááŸááºá áœááºážáá±á¬ááºáááºáá±á¬ááºážáááºááá¯á· áááºáááºáá²á·á¡áá¬ááᯠááœá¬ážááŒáá·áºááŒá®áž ááá¯ááºážáá¬ááá¯ááºáá«ááẠ- áá±á¬ááºáá¯á¶ážá¡áá±áá²á·á áááºá á¡á²áá«ááᯠááá¯ážáááºá¡á±á¬áẠáá¯ááºáá±á¬ááºáá±áá«áááºá Register allocation ááẠá áœááºážáá±á¬ááºáááºááŸáá·áºáááºáááºáá±á¬ á¡ááŒá±á¬ááºážá¡áá¬áá áºáá¯ááŒá áºáááºá ááá·áºááœáẠááááá¯á¶áž ááŸá±á·ááŒá±ážáá¯á¶á á¶ááᯠáááŸáááŒá®ážáá«á áááºážááẠá¡áá¯ááºáá¯ááºááŒá®áž ááá¯á¡ááºááá·áºá¡áá¬áá»á¬ážááᯠááŒááºááŸá¯ááºážááŒá®ážáá«á á áœááºážáá±á¬ááºááŸá¯áá¯ááºáááºáž á áááºáááºááŒá áºáááºá áá±á¬ááºážá áœá¬ ááá¯ááºážáá¬ááẠáááºáá°ááẠááá¯á¡ááºáááºá á¡áááºááŒá±á¬áá·áº á¡áá±ážááŒá®ážááááºážá ááá·áºááœáẠááŸááºážáááºážáá±á¬áá±áá¬ááŸááá«áá ááá°áá®áá±á¬áááºáááºáá»á¬ážááá¯ááŒáá·áºááŸá¯ááá¯ááºááŒá®áž ááŒáá·áºááŸá¯ááá¯ááºáááº- áá¯ááºáá²á·á á¡á²áá«á áá®ááŸá¬áá°áá®áá±ážáá«áááºá áá«áá±ááá·áº á¡á²áá«á á¡áá¬á¡á¬ážáá¯á¶ážáá»ááºááœá¬ážáá«ááŒá®á á áááºáá°ážáá±á¬ááºážá¡áá»áá¯á· áá±á«áºáá¬áááºá áááºááẠááœá±ážáá±á«áºááŸá¯á¡áá áºáá»á¬ážááᯠáá±á«ááºážááá·áºááá¯ááºáᬠáá¯ááºáááẠá¡áá¬á¡á¬ážáá¯á¶ážááẠáá»ááºážáá»áŸá¡á¬ážááŒáá·áº á¡áááºážááẠááá¯áá±á¬ááºážáá¬áá«áááºá áá«ááŸááá¯áẠáá áá«áá°ážá ááááºááœá²áá±áá±ážáá°ááŸáá·áº áá»áœááºá¯ááºááá¯á·áááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááᯠááœá²ááŒá¬ážá á±ááá·áº áá«ážáá¬ááá¯ááºááŸá¯ááºážá áœááºážáá±á¬ááºáááºá¡ááœáẠááá¯ááºááœá²áááºáá±ááá·áº ááá á¹á á¡ááŒá±á¬ááºá¡ááŒá¬ážááŸááá²á·áá«áááºá á¡áá»áááºááá¯ááºážá áá áºáá±áá¬áá¬ááŸá¬ áááºá¡ááá¯ááºááááºá áá áºáá±áá¬áá¬ááŸá¬ ááŸá¯á¶ážáááºá ááá·áºááœáẠáá±á¬ááºážááœááºáá±á¬ á áœááºážáá±á¬ááºáááºááœá²ááŒááºážá áááºááŒá¬ááŸá¯áááááá¬áá»á¬ážááŸááá«áá áá¯á¶ážááŸá¯á¶ážááœá¬ážáá±á¬ á¡ááœá±ážá¡áá±á«áºáá»á¬ážááᯠáááºááŸá¬ááœá±ááá¯ááºááŒá®áž áááºážááá¯á· áá¬ááŒá±á¬áá·áº áá¡á±á¬ááºááŒááºáááºááᯠáá¬ážáááºááá¯ááºáááºá á¡áá¬á¡á¬ážáá¯á¶ážááᯠáá»ááºáá¬ážáá²á·ááá·áºáááºááŒá áºááá¯ááºááẠááá¯á·ááá¯áẠáááºááœá±ááá¯ááºááŒááºážá¡ááœáẠááá¯ááá¯áá±ážáááºáá±á¬áá»ááºážáááºááŸá¯áá áºáá¯ááŒá¯áá¯ááºááŒááºáž ááá¯á·ááá¯áẠá¡ááŒááºááœááºááŒá®áž á¡ááŒá¬ážáá áºáá¯áá¯ááᯠááŒááºáááºááŒááºážááŒá áºááá¯ááºáááºá á¡áá¬ááœá± á¡á á¯á¶áá«áá²á áá«á€á¡á±ážááŒáá±á¬áááºááºááá¯áááºáá®ážáá²á·áááºá áá«áá±ááá·áºáá«áááºážáá®áá áºáá¯á áá®áá áºáá¯á áá®áá áºáá¯á áá®áá áºáá¯áá²á·áá°ááá¯á·áá²á·á á¯á á¯áá±á«ááºážáá±á«ááºážá ááºááŸá¯áááá¯ážáááºááŸá¯á¡áá»áá¯á·ááá¯áá±ážáááºá ááŒá®ážáá±á¬á· á¡áá®ážáá»ááºáá°ááœá±áááºáž áá»ááŸá¯á¶ážááá¯ááºáá«áááºá á€áááºááŸá¬ NP-ááŒá®ážááŒáá·áºá á¯á¶áá±á¬ááŒá¿áá¬áá»á¬ážá¡ááœáẠá áœááºážáá±á¬ááºáááºá¡áá¯ááºá ááá±á¬ááá¬áááŒá áºáááºá
ÐлаЎОЌОÑ: ááœá²áá±áá±ážáá°áá»á¬ážááœáẠáááºážáá»á®ááœá²ááŒááºážáá²á·ááá¯á· á¡áá¬áá»á¬ážááẠááŒá±ááŸááºážááŒá®ážáá±á¬ ááŒá¿áá¬ááŒá áºáááºááᯠáá¶á á¬ážááá«áááºá áá±á¬ááºážááŒá®á áááºážááŒá±á¬áá¬ááᯠá¡áá¯á¶ážá¡ááŒááºáá±ážááá¯á· áááºážá¡ááœáẠáá¯á¶ážááŒááºááá¯ááºáá¬ááá¯áá±á¬á· áá«áá±á¬áẠáááºáá«á·ááá¬áž...
áá»á±á¬ááºáááºážáá«áž: ááŒá±áááºáá¬áá±á¬á· ááá¯ááºáá°ážá á¡á²áá«ááᯠ"ááŒá±ááŸááºážááŒá®ážáá¬áž" á¡ááŒá ẠááŒá±á¬ááºážáá²áá±ážáááá·áº áááºáá«áá²á áááºáá²áá²á· ááŒá¿áá¬ááœá±ááŸáááá¯á· ááŒá±ááŸááºážááá¯á· ááá¯áá«áááºá á¡á²áá«ááŒá®ážááœá¬ážáááºáá±á¬á· áá¯ááºáá¯ááºá áœááºážá¡á¬ážááᯠáá¯ááºáá±á¬ááºááá¯á· á¡áá»áááºáá±á¬ááºáá«ááŒá®á áááºááẠá€á¡áá¯ááºááᯠáá»á±á¬áºáá®á áœá¬ áá»ááºážáááºááẠááá¯á¡ááºááẠ- á á¶ááœáŸááºážáá»á¬ážááᯠá á¯áá±á¬ááºážáá«á áááºááá áºáá»á¬ážááᯠá á¯áá±á¬ááºážáá«á ááááºáá¬ážááŸááºážááá¯á· áááºááŒááºááŸáá·áºááá¯ááºáá±á¬á¡áá«á áááºá áááºááºá¡áá±á¬ááºážááẠááŒááºáááºá áááºáá²á·ááẠ(ááá¯á·ááá¯áẠá¡ááŒááºá¡ááŸááºá¡á¬ážááŒáá·áº áááºááá·áºááœá¬ážááá·áºá¡áá« á¡ááŒá±á¡áá±áá»á¬ážááᯠááŸááºážááŒáá«)á ááŒá®ážáá±á¬á· áááºážáá áºáá¯áá¯á¡á±á¬ááºááŒááºáá²á·á¡áá áááºááá»áŸá±á¬á·áá«áá²á·á áá»áœááºáá±á¬áºááŒá±á¬áá²á·áááá¯áá²á á¡áá¯ááºáááŒá áºáá²á· á áááºáá°ážáá±á¬ááºážááœá±ááŸááá±áááºá áá«áá±ááá·áº á áááºáá°ážá áááºáááºážááœá±ááᯠááœá²áá±ááŸá¯áááºáááºááŸá¬ ááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áºáá±á¬á· á¡áá¯á¶ážáá²á·áá«áá²á á¥ááá¬á áááá¹áá¶áááºážáá»á á¬áá±ááœá±ááᯠáááºáááºááá¯ááºáááºá ááá¯á¡áá»áááºááœáẠá€áá±áá¬ááẠááá¯ááá¯ááŸá±ážááœá±ážáá¬ááŒá®áž áááºááœááºá ááºáááẠááá¯ááá¯ááŸááºážáááºážáá¬áááºá ááá¯á·áá±á¬áºá á€áááºáááºááœáẠá¡áá¯ááºáá¯ááºáá±áá±á¬ ááá±áááœááºááá¯ááºáá±á¬áá°áá»á¬ážááŸáááŒá®áž áá°ááá¯á·áá áááºáá°ážáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááŒáá¯ážá á¬ážááá»áá¯ážáááºáááºá áááºážááá¯á·á¡á¬ážáá¯á¶ážááẠá¡áá±á¬ááºáá¶ááœáẠá á±á¬áá·áºáá±ááŒáááºá á ááºážááŒáá·áºá០áááºáá»áŸáá±á¬ááºážáááºááᯠáááŒá±á¬ááá¯ááºáá«á ááœá²áá±áá±ážáá°ááẠá¡áá¬áá»á¬ážá áœá¬ááᯠáá¯ááºáá±á¬ááºáá±ážáá±á¬ááŒá±á¬áá·áº áááºáááœá²áá±áá±ážáá°ááŸá á¡ááŒá¬ážá¡áá¬á¡á¬ážáá¯á¶ážááŸáá·áº áá±á«ááºážá ááºážááá¯ááºáá±á¬ááŒá±á¬áá·áº á¡ááŒá¶áá¬ááºá¡áá»áá¯á·ááẠáááºá áá®ážááŒá¬ážááœá²áá±áá±ážáá°ááœáẠá¡áá¯ááºáááŒá áºááá¯ááºáá±á¬áºáááºáž á¡ááŒá¬ážááœá²áá±áá±ážáá°ááœáẠáááºážááá¯á·ááẠá¡ááœááºááá° áá¯ááºáá±á¬ááºááá¯ááºáá±á¬ááŒá±á¬áá·áº ááŒá áºáááºá ááœá²áá±áá±ážáá°á¡ááœáẠá¡ááá¯ááºáááẠá¡ááááááºážáááºážááŸá¬ áááºááááºážááŒá±á¬ááºážá¡ááŒááºáááºááŸá ááŸá±ážááœá±ážáá±á¬á¡áá¬áá»á¬ážááᯠááœá²áá¯ááºááŒá®áž ááŸá±ážááœá±ážáá±á¬áááºážááŒá±á¬ááºážáá»á¬ážá áááºááááááºáá»á¬ážáá áºáá»áŸá±á¬áẠááœá²ááœááºá á±ááẠááœááºážá¡á¬ážáá±ážáááºááŒá áºáááºá ááá¯á·ááŒá±á¬áá·áº áááºááẠGC ááᯠáááºáááºááá¯áá«áá ááŸá±ážááœá±ážáá±á¬ áááºážááŒá±á¬ááºážááᯠááŒááºáá¬á á¡áá±á¬ááºážááœááºáá¯á¶ážááŒá áºá¡á±á¬áẠááŒá¯áá¯ááºáááºá ááŒáœááºážáá»ááºáá áºáá¯ááᯠáá»áœááºážáá»ááºáá¬ážáá¬á ááá¯á¡áá¬áá»á¬ážá¡á¬ážáá¯á¶ážááẠá€á¡áá¬áá»á¬áž ááŸá¬ážáá«ážááŒá±á¬ááºáž áááºáááá«áááºá áá°ááá¯á· áááẠááŸá¬ážáá«áááºááá¯á· áá»áá±á¬áº á á áºáááºá áááºááẠá¡ááá¯á¡áá¯ááºáá»á¬ážáá¯ááºáᬠá€ááŸá±ážááœá±ážáá±á¬áááºážáá»á¬ážáá±á«áºááœáẠááá·áºáááºáá»ááºáá»á¬ážáá»á¬ážá áœá¬ááᯠáááºááŸá¬ážáá±ážáá±á¬áºáááºáž áááºážááá¯á·ááẠááŸá±ážááœá±ážááŒá®áž ááá®ážáá²áá±á¬ááŒá±á¬áá·áº á¡áá±ážáááŒá®ážáá«á á¥ááá¬á null pointer - áááºáá±á¬á·ááŸáááŒá áºáá°áž áá¯ááºáááºáá¯ááºá ááá°áá®áá±á¬á¡áá¬áá»á¬ážá¡ááœáẠáááºážááŒá±á¬ááºážáá»á¬ážá áœá¬ááŸáááẠááá¯á¡ááºáá±á¬áºáááºáž áááºážááá¯á·ááẠá¡ááááááºážááŒá±á¬ááºážááᯠá¡ááŸá±á¬áá·áºá¡ááŸááºáááŒá áºááá·áºáá«á
ÐлаЎОЌОÑ: áá áºáá»áááºáááºážááŸá¬ cores áá±á¬ááºáá±á«ááºážáá»á¬ážá áœá¬ááŸááá²á·á¡áá« Multi-cores áá²á· áááºáááºááŒá®áž áááºáááºááá¯áááºáá²á áá«á á¡áá¯á¶ážáááºáá²á·á¡áá¬áá¬ážá
áá»á±á¬ááºáááºážáá«ážGPU áá¡á±á¬ááºááŒááºááŸá¯áááºáááºážáááºá¡áá±á¬áºáá±ážá¡áá¯á¶ážáááºááŒá±á¬ááºážááŒááááºá
ÐлаЎОЌОÑ: áá°ááá¯á·á á¡áá±á¬áºáá±áž á¡áá°ážááŒá¯áááºá áá±áá°áá»áááºááœááºáá»áẠáááá¯áááºáá¬ááœá±áá±á¬ áááºááá¯áá²á
áá»á±á¬ááºáááºážáá«áž: á¡ááºážá á¡á²áá« Azul áá²á· á á®ážááœá¬ážáá±ážáá¯á¶á á¶áá«á ááŸááºážáááá¯ááºáá±á¬ á áœááºážáá±á¬ááºáááºááᯠáá°á¡áá»á¬ážá á¡ááŸááºáááẠááŸá áºáááºáá±á¬ áá±ááºáá áºáá¯ááá¯á· ááŒááºáá±á¬ááºáá¬áááºá á¡á²áá®áá¯ááºážá parallel code áá±ážááᬠáááºáááºá H2O áá¯ááºáá±ážáááºážáá±á¬áºáááºááẠá¡ááœááºá¡á á¬ážááŒá®ážáá¬ážáá±á¬áºáááºáž áááºážááẠáá±áá°áá»áááºááœááºáá»áẠáá±á¬áºáááºááá¯ááºáá«á GPU ááá¯áá¯á¶ážáá¬ááẠá¡áááºážáááºááá¯á áá±áá¯áá»ááŒá áºááá¯ááºáááºá ááá¯ááá¯á·áá±á¬á¡áá¬ááᯠáá®ááœááºááŒááºážá ááŸá¯ááºááœá±ážááŸá¯ ááá¯á·ááá¯áẠáááºážááá¯á¡áá¯á¶ážááŒá¯ááŒááºážá ááŸá¯ááºááœá±ážááŸá¯á¡ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·ááŒá±á¬áá±áá«ááá¬ážá á¥ááá¬á¡á¬ážááŒáá·áºá Azul á áá»áœááºáá±á¬á·áºááᯠá áááºáááºá á¬ážá áá¬áá±á¬ááºážáá²á· áááºáááºážá á¬áá áºáᯠáááºáá±ážáá²á·áááºá ááŸááºážááŸááºážáááºážáááºážááá¯ááºáá²á· áááºááŸáºáá±ážááœá±á áá¯á¶ááŸááºáá«áá²á
ááááŸá¬ á¡ááŒá®ážáá¬ážáá¯á¶ážá áááºáá±á«áºááŸá¯
ÐлаЎОЌОÑ: áááºážááá¬ááá¯ááºáá²á· á áááºáá±á«áºááŸá¯ááœá±áá±á¬ áááºááá¯áá²á
áá»á±á¬ááºáááºážáá«áž: á¡ááŒá®ážáá¬ážáá¯á¶áž á áááºáá±á«áºááŸá¯á... áá°ááœá±á¡áá±á«áº ááŒááºáá¬ááŒá®áž ááá±á¬áá±á¬ááºážááá¯á· ááá¯ááºáá«áá°ážá ááááºá¡áá±áá²á·á á¡ááœááºá¡áááºáž áááááá¹áá¡ááŒá±á¡áá±ááœá±ááŸá¬ ááá¯áá·áºááá¯ááºááᯠá¡ááŒá²ááœá±á·áá²á·ááááºá ááŸá¬ážáá±ááŒá®ááá¯áᬠáááá±ááá·áº á¡á²áá®ááŒá¿áá¬ááœá±ááᯠáááºááá¯ááŸá±á·áááºáááá² ááááááᯠáááá¯ááºááœááºááá¯ááºáá²á·áá°ážá áááºá á¯ááŸá áºáá»á¬ážá áœá¬ááŒá¬ááŸááºáá±á¬ áá±ááŸááºááŒá¿áá¬áá»á¬ážá áœá¬ááẠá€áááºážááŒáá·áº áá±á«áºáá±á«ááºáá¬áááºá Java ááœáẠC1 ááŸáá·áº C2 compilers ááŸááááºáá°áá±á¬á¡áá»ááºááẠáááºážá ááá¯ááºááá¯ááºá¡áá»áá¯ážáááºááŒá áºáááºá Java ááœáẠáááºááŸá áºáááºááá¯áẠá¡ááá·áºáá±á«ááºážáá»á¬ážá áœá¬ á á¯á ááºážááŸá¯áááŸááá²á·áá±á¬á¡áá»ááºáááºáááºáž ááá¯ááºááá¯ááºá¡áá»áá¯ážáááºááŒá áºáááºá ááá¯ááá¯á·áá±á¬á áá áºáá»áá¯ážááᯠáá»áœááºá¯ááºááá¯á· ááá¯á¡ááºáá±áááºááŸá¬ áááºááŸá¬ážáá±á¬áºáááºáž áááºážááẠá¡áááºááŒá±á¬áá·áºáááŸááá²á·ááááºážááá¯áááºááᯠááŸááºážááŸááºážáááºážáááºáž áááááá±á á¡ááºáá»ááºáá®áá¬áá áºáá±á¬áẠáá«ááŸááá¯áẠá¡ááºáá»ááºáá®áá¬á¡ááœá²á·áá²á· ááŒá¿áá¬áááºáá²á·áááºá áá áºáá»áááºá Sun ááŸá¬ á¡áá¯ááºá áá¯ááºáá¯ááºážá áá»áœááºáá... áá¯ááºááŒá®á áá«áááºáááá«áá°ážá áá±áá°áá»á¡á¬ážááŒáá·áºáá±á¬á· á¡áá¬á¡á¬ážáá¯á¶ážáá²á· áááºáááºááŒá®áž áá»áœááºááá²á· ááá¯ááºááá¯ááºá¡ááŒááºááœá± á¡ááŒá²ááŸááááºá ááŒá®ážáá±á¬á· áááºážáá²á·áá®á¡ááŸááºááá¬ážááᯠáá¶áá°ááŒá®áž ááŸá±á·ááá¯áááºááŒá±á¬ááá¯ááºáá¬á ááŸááºáááºááá¯á· áá«áááºáá²á·áááºá á¡áá°ážáááŒáá·áº áá»áœááºáá±á¬áº á¡áá»áááºá¡áá»á¬ážá á¯ááᯠááááºááá·áºáá¯ááºááŸá¯ááºáááá²á·á¡ááœááºá áá®áááºážáááºážááᯠáááŒáá¯ááºáááº... á¡áá°ážáááŒáá·áº áááºááŸá¬ážááŒá®áž á¡áááá¹áá«ááºáá²á·áá²á· á¡áá»áá·áºááŸááá±áááº... áá±áá¯áá»á¡á¬ážááŒáá·áº áá°á¡áááºážáááºá áá®áááºááœááºáá±ážáá¯á¶á á¶ááᯠáááºážáá¶ááá¯ááºáá«áááºá áá áºáá»áá¯á·á áááºááá¯ááºáá±ááá·áºá áá»áœááºá¯ááºááẠáááá áºáá¯áá¯á¶ážááᯠáá¯ááá¯ááºáá±á¬ááºážááŸá¯ ááá±á¬ááá¬ážáá»á¬ážááŒáá·áº áááºáá±á¬ááºáá²á·áááºá áááºážáá«á·ááᯠáá áºáá¯áá¯ááŸá¬ážááŒááẠáá«áá»ááºáá»ááºážááŸáá·áºááŒá®ážááŒá±á¬áááº- áááºáž ááá¯ááºáá²áá²á·á áá¬ážáá²ááŒá±á¬á áá áºáá»áááºáááºážááŸá¬áááºá áá»áœááºá¯ááºáá±á¬ááºážáááºááŒá®áž áá¯ááá¯ááºáá±á¬ááºážááŸá¯áá»á¬ážááŸááá«á ááŸááºáá¬ážáᬠá¡ááŒá¬ážááŸááºáááºáá±á¬ áá¯ááºáááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááœá¬ážáá«áááºá á¡ááŒá¬ážáá áºáááºááœááºá áá»áœááºá¯ááºááẠá á¯á á¯áá±á«ááºážá¡áá»áááºá áá¯ááºááŸá¯ááºáá»á±á¬ááºáá»á¬ážááœááºáᬠáá¬ááá¯ááºááŸá¯ááºážáá áºáá¯ááŸáá·áºáááºáááºá á¡á¶á·á¡á¬ážááá·áºááœááºáá±á¬ááºážáá«áááºá ááŒá®ážáá±á¬á· áá°ááœá±áá²á· áááºáá¶áá±ážááŸá¬ ááááºá¡áááºáááŒá±áá°ážá áá»áœááºáá±á¬áºá áá»á áºá áá¬áá±á¬ááºážá¡á±á¬ááºáááŒáá¯ážá á¬ážáá±ááá·áº ááŒááºááŒááºáá¬ážáá¬ážáá±ážáá±áááºá âáá áºá ááŸá áºá áá¯á¶ážá ááá¯áá±á¬á· áá«á áááºáá±á¬á·á០á¡áá¯ááºáááŒá áºáá°ážáâ ááŒá®ážáá±á¬á· áá°ááá¯á·á "á¡áá¯áž!" áá»á áºáá»á°ááŸá¯ááẠááá¯áá±á¬ááºážááá·áº á¡ááŒá¬ážá¡áá»áá¯ážáááºáá»á¬áž ááŸááá²á·áááº- á¥ááá¬á áá»áœááºá¯ááºáááá®ážááŸáá·áº ááœá¬ááŸááºážááŒááºá á²ááŒá®áž áááºááŸá áºááŒá¬ááŒá®ážáá±á¬áẠá áááºáá¬ááºáá»ááŒááºážááá¯á· áŠážáááºá á±áá±á¬ á¡áá¬áá»á¬ážá
Challenge ááá¯áááºááŸá¬ áááºáá¯ááºááá¯ááºááẠááá¯á·ááá¯áẠááá¯ááºááá¯ááºáá±á¬á¡áá¬á á¡áá±ážááŒá®ážáá±á¬á¡áá¬ááŸáá·áº áááŸááá±á¬á¡áá¬ááᯠáááºážááá¯á·ááá¶áá°áá»ááºááŒáá·áº áá°áá»á¬ážááŸáá·áº áá¯ááºážáááºááŒááºážáááºááŒá áºáááºá áá¯ááºáá±ážáááºážá¡ááœáẠá áááºáá±á«áºááŸá¯áá»á¬ážá áœá¬ááŸááá²á·áááºá áá¯ááºááœá± á¡áá»á¬ážááŒá®ážáá±ážáá±áá±ážááŒá®áž á¡á²áá®áá¬áááœá±ááŸá¬ ááŒáá¯ááºáá°á¡áá¯ááºááœá± á¡áá»á¬ážááŒá®ážáá¯ááºááŒá®áž áá áºáá¯áááºážááá¯áá² á¡á¬áá¯á¶á áá¯ááºáá±ááá·áºá¡á á¬áž áá¶á·áá»ááºážá áœá¬ áá¯ááºáá±á¬ááºáá±áá¬ááŒá±á¬áá·áº ááŸá±ážááœá±ážáá²á·ááá«áááºá ááŒááºááŒáá·áºááá¯ááºááẠJava JIT commandá C2 command á¡ááœáẠáá¯ááºáá áºáááºááᯠáá±ážáá²á·áááºá áá±á¬ááºá¡ááŒááºáá¯á¶ážáá¯ááºáá«á áá áºáááºááŸá±ážáá²á·áááᯠáá±á¬ááºáá áºáááºá ááŸá±ážááœá±ážááœá¬ážáᬠáááºááááºážáá»áááºážááœá¬ážáá²á·áááºá á€á¡áááºážááŸá ááá¹ááááŒá±á¬ááºáá°ááẠá¡ááœááºááŸá±ážááœá±ážááẠ- á¡ááŒá²ááŒá áºáá»ááºáááºá áá¯ááºááœá± á¡áá»á¬ážááŒá®áž ááááœá¬ážáááºá ááŒáœááºážáá»ááºáááŸáá áááºáá°áá±ážáá²á áá°ááá¯á·áá¯ááºááᯠá áá¯ááºááŒáá·áºáááºážá áá áºáá¯áá»ááºážá á®ááᯠááŒááºáá¯á¶ážáááºááŒá®áž áá°ááá¯á·áá²á áá áºáá±á¬ááºáááºááá¯ááŒá®áž ááá¯áá·áºáá¬áá¬ááá¯áẠáááºáá±ážáá±áá±ážáááºá áá®áááºážáááºážá áá°ááœá±áá²á· ááááºá¡áááºáááŒá±áá«áá°ážá áá«ááᯠááá»áá¯á·áá°ááœá±á áááŒáá¯ááºáá°ážá á¡á²áá«ááᯠáááá¯ááºááœááºááá¯ááºáá²á·á¡áá« á¡áá»áá¯ážáá»áá¯ážáá±á¬ ááá¯ááºááŒá¬ážááŸá¯ááœá± á áááºáá¬áá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºáá±á¬áº áá¯ááºá¡ááœááºá¡áá»áœá¶áá±ážáá±áá¬ááŒá±á¬áá·áº áá¯ááºáá±ážáá¬ááᯠáááºááá·áºááá¯á· áá áºáá»áááºá ááŒá±á¬áá²á·áá°ážááŒá®áž á¡á²áá«á á¡ááœá²á·ááᯠá¡áá¹ááá¬ááºááŒá áºá á±áá«áááºá á¡á¬ážáá¯á¶ážá áá»áœááºáá±á¬á·áºá¡ááœáẠáá¬ááá áºáá¯ááá¯áá«áá²- áá°áááºáá»ááºážá áá»ááºáá²á·á¡ááœá²á·ááœá± áá»á±á¬ááºááœá¬ážááŒá®áž áá¯ááºááœá± áááºáá±ážáá±áááºááá¯áááºá á¡áááºážáá áºáááºáá² áá¯á¶ážááŸá¯á¶ážáááºá áá áºáááºáá áá»áœááºáá±á¬áº áá¯ááºááœá± áááºáá±ážááŒá®áž á¡áááºážáá áºááẠáá¯á¶ážááŸá¯á¶ážáááºá áá«á á á®áá¶ááá·áºááœá²ááŸá¯ áá¶á·áá»ááºážáá¯á¶áá«áá²á áá«á¡á²áá«ááá¯ááááºáááœá±ážáá°ážáá°ážá áááºáá±á¬á·á០áááŒá±á¬áá°ážáá±ááá·áº áá«á·áá±á«ááºážáá²ááŸá¬ áá áºáá±áá¬áá¬ááŸá¬ááŸááá±áááºá "áááºááá¯á·á¡á¬ážáá¯á¶áž áá«á·ááᯠáá±á¬ááºááŒá±á¬ááºáá±áá¬áá¬áž" ááá¯á· á áááºáá²ááŸá¬ ááœá±ážááá¯ááºáááááºá áá®áá±á¬á· á¡ááŒá®ážáá¬ážáá¯á¶áž ááŒá¿áá¬á áá«áá²á· áá°ááœá±áá²á· áááºáá¶áá±ážáá«áá²á á¡áᯠáá»áœááºáá±á¬áº ááá¯áá·áºááá¯ááºááá¯áẠááá¯áá¬ážáááºáá¬áá«ááŒá®á áá»áœááºáá±á¬áºáᬠáááá¯ááááºáá¬ááœá±á¡ááœáẠá¡áá»áááºá¡áá±á¬áºááŒá¬á¡á±á¬áẠá¡ááœá²á·áá±á«ááºážáá±á¬ááºááŒá áºáá²á·ááŒá®áž á¡áᯠáá°ááœá±ááᯠááá¯ááºááá¯ááºááŒá±á¬ááŒáá±áá«áááº- áááºážáááá«áááºá áá«á áááºáá°áá²á áááºážáá«á·ááᯠáááºáá¶ááááá·áºáááº- áá«áááºáááºááẠá¡áááºááŒá±áá«á·ááá¬ážá áá®ááŸá¬? á¡á²áá«ááᯠá ááŒá®áž ááá¯ááºááœááºáá²á·á¡áá«ááŸá¬áá±á¬á· á¡á¬ážáá¯á¶áž á¡áááºááŒá±ááœá¬ážáááºá ááááºáá±á¬á· áá«áᬠááá±á¬ááºážáááºáž ááá¯ááºáá°ážá áá«á·ááŸá¬ ááá±á¬ááºážáá²á· áááºááœááºáá»ááºááœá± áá«ááŸááá¯áẠáá áºááá¯ááºáá±á¬ááºážáááºáá²á· ááá¹áááœá± áááŸááá°ážá á¡á²áá«á áá«á·áá²á· á¡ááŸá áºáá¬ááá²á áá áºáááºážáááºážáá²á· á¡áá°áá±ááá¯á· ááá¯áááºá
ÐМЎÑей: áááŒá¬áá±ážáá®áááẠáá°ááá¯ááºážááẠintroverts á¡ááœáẠááááááá¯ááºááᯠáááááŸáááŸá¯á áá±áá¯áá»á¡á¬ážááŒáá·áº áá»á±á¬á·áá»á±á¬ááºážáá±á¬á áœááºážáááºáá»á¬ážá¡ááŒá±á¬ááºáž ááŒá±á¬ááá¯áá¬ááŒáááºá áá®á¡ááŒá±á¬ááºáž áá¬ááŒá±á¬ááá¯ááºááá²á
áá»á±á¬ááºáááºážáá«áž: áá¯ááºáááºá á¡á²áá«á áá«á·ááááºážááá²á·ááœá¬ááŸááºážááŸá¯ááá± áá«áááºáá°áá²á·áá²á· ááá¯ážááœááºážáá¬ááºáá²á· áááºáááºážá
á¬áá²á ááœá¬ááŸááºážááŒááºážááá± áááºáá°áá²á·áá¬á ááá¯áá·áºááá¯ááºááá¯áẠáá¬ážáááºááŸá¯áá«áá²á áá®ááá¯áá²á· áááŒá¬ážáá°ááœá±ááᯠáá¬ážáááºáá¬áááºá á€á¡ááŒááºá¡ááŸááºá¡áá»áá¯ážáááºáá±á¬ááºáá¯á¶ááᯠáá¬ážáááºáá«á á¡á²áá«á ááá±á¬ááºááŒá®ážááá±á¬áẠááŸá¬ááœá±ááœá±á·ááŸáááŸá¯ááœá± ááŒá
áºáá±á«áºáá¬áááºá áá«áááºáá°áá²ááá¯áá¬áá²á· áá«ááá¯ááºá
á¬ážááŒá¯áááºááá¯áᬠá¡áááá
áºáá¯ááŸááááºá áá«áá¬áá¯ááºáá±áá²- á¡áá¯ááºáá²ááŸá¬ áá
áºááœááºážáá±áá¬áá²ááŒá
áºááŒá
áºá áááááá¹á áá«ááŸááá¯áẠáááŒá¬ážá¡áá¬áá
áºáá¯áá¯ááᯠááŸá±á¬ááºáá±áá¬áá²á áá®á¡ááá·áºá ááá¯áá·áºááá¯ááºááᯠááááºážáá»á¯ááºááá¯á· ááááºááᯠáá°áá®áá±ážáááºá áá«ááŒá®ážáááºáá±á¬á· á¡áá¬á¡á¬ážáá¯á¶ážá ááá¯ááœááºáá¬ááŸá¬áá«á ááá¯ááºááá¯ááºááá¯ááºáá¬áá á¡ááŒá¬ážáá±á¬ áááá¯ááááºáá¬áá»á¬ážááœááºáá« ááŸá¬ááœá±ááœá±á·ááŸááá²á·áá±á¬ á¡áá¬áá
áºáá¯ááŸá¬ áááºááẠá
áááºááá¯ááºážááá¯ááºáᬠááá
á®ážááŸá¯á¡ááŒá±á¡áá±ááœáẠááŸááá±áá»áááºááœáẠá¡ááœá±ážáá»á¬ážááᯠááŸá¯ááºááááºááá¯ááºááŒááºážááŒá
áºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠááá¯áá±áá¬ááœáẠááá¯ááºáᬠáá¯ááºáá¶áá«ááºááŒáá·áº á
á®ážáááºážáá±ááŒá®ážá ááá¯á·áá±á¬áẠáááºážááá¯á·ááẠááá·áºáᶠááŒá±ážáá¬ááŒá®áž áá
áºá
á¯á¶áá
áºáᯠáá»áá¯ážáá²á·ááœá¬ážááŒá±á¬ááºáž áá±á«áá°áá¯ááºááᬠá¡á±á¬áºáá
áºáᬠááᯠááá·áºá¡á¬áž ááŒááºážáááºáá±á¬ á¡áá±ážáá°ááŸá¯áá»á¬áž ááŒá¯áá¯ááºáááºááŒá
áºáááºá ááŒá®ážáá±á¬á· á
áááºááá¯ááºážááá¯ááºáᬠááá
á®ážááŸá¯ááœá±ááŒá±á¬áá·áº á
áá¬ážáá¯á¶ážáá
áºáá¯á¶ážá០áááŒá±á¬ááá¯ááºáá«áá°ážá áááŸááá¬ážáá±á¬ á¡ááááá¬ááẠááá·áºá¡á¬áž á€á¡ááá¯ááºá¡ááá·áºá¡ááœáẠááŒááºáááºááá¯ááºáááºá áááºážááᯠááŸááºáááºá
á±ááŒá®áž áá
áºá
á¯á¶áá
áºáá¯áá¯ááºáá±á¬ááºááá¯ááºááŒá®ážáá±á¬áẠááŒááºáááºáá¯ááºááœá¬ááá·áº á¡á
á®á¡á
ááºáá
áºáá¯ááá¯á· áááºáááºáá¯ááºáá±á¬ááºááá¯ááºá
á±áááºááŒá
áºáááºá ááá¯á·ááŒá±á¬áá·áºá á¡á¬ážáá¯á¶ážáááºááá¯á·á¡áá¯ááºáá¯ááºáááºááá¯áááºá
áááºáá¬ážáááºáá¬áá±á¬á¡áá«á áááºážááẠááŒá®ážáá¬ážáá±á¬ááááŒá±á¬ááºážáá²ááŒááºážááŒá
áºáááºáá
áºáá¯ááŒá
áºáááºá
ááŸááºáááºáá±á¬ á
áá¬ážáá¯á¶ážáá»á¬ážááᯠáá»áœááºá¯ááºááá¯ááºááá¯áẠááŸá¬áááœá±á·áá±á¬áºáááºáž áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá á¡á
á®á¡á
á¥áºááᯠáááááááááºá á¡áááá¡áá»ááºááŸá¬ á€áá¯á¶á·ááŒááºááŸá¯ááẠááŸá¯ááºááŒáá·áºááŒá±á¬ááá²á·ááá¯á· áá¯ááºááá¯ááºážááá¯ááºáá¬á¡áááŒá
áºááŒá®áž áááºáá±áá¬ááá¯á¡ááºáá«áááºá ááá¯áá²á·ááá¯á·áá±á¬ á¡á¬áá¬áá ááẠá¡á¬áá¯á¶á áá«á á¡ááá¡áá» ááŸááºážááŒááá¯á· ááá¯áááºá ááŒá®ážáá±á¬á· áá»ááºáá»ááºáž áááºáá¯ááºáááẠ- áá¯ááºááá¯ááºážááá¯ááºáᬠáááºááẠáááºááá¯ááºáá«á ááŸá¯ááºááááºáá±áá²á·á¡áá« á¡ááŒá±á¡áá±ááᯠá
áááºááá¯ááºážááá¯ááºáá¬á¡á á
á®áá¶áá±á¬ááºááœááºááá¯ááºáááºá Adrenaline ááẠááá·áºáŠážááŸá±á¬ááºááá¯á·áá±á¬ááºááŸáááŒá®áž ááá·áºá¡á¬áž ááá¯ááºááá¯ááºááŒááºáž ááá¯á·ááá¯áẠáá»á¶áááºážááŸá¯áá¯ááºááá¯á·ááŒá±á¬ááºážááá¯ááºáááºááŸáá·áºá¡áá»áŸ áááºáá¬áá»áŸáááŒá±á¬ááá¯ááºáá±á¬á·áá«á ááá¯áááºááẠáá°ááá¯ááºá ááœááºááá¯ááºá¡ááºáá»ááºáá®áá¬áá
áºáŠážááŒá
áºáá±ááŒá®á áá»á±á¬ááºáááºáá±á¬áá¯á¶á·ááŒááºááá¯ááºá
áœááºážáááŸááá« ááá¯á·ááá¯áẠááá¯ááºááá¯ááºááŸá¯ááá¯áááºáááºááá·áºááá¯ááºáá«á ááá¯ááºááá¯ááºáá°ááẠá¡ááá²á·ááŒá
áºááẠáááºáá«áááºáá« ááá¯ááºááá¯ááºáááºá áááºááẠááááŠážá
áœá¬ ááá·áºááá¯ááºááẠááŒááºááŒá
áºáá¬áááºá ááááºážáá»á¯ááºááŸá¯ ááŒááºáááºáááŸááááºá "ááá¯ááºááœá² ááá¯á·ááá¯áẠáá»á¶áááºážááŒááºáž" áá¯ááºá០ááœááºááœá¬ážááá«áááºá
ááŒá®ážáá±á¬á· áá®á¡ááœáẠáá»áœááºáá±á¬áºááá¯á· ááŸá¯ááºááœááºááá¯á· ááá¯á¡ááºáááºá áá±áá¬ááœááºááœá±áá»ááºážáá²á áá áºáá¯áá¯ááŒá±á¬ááẠá¡ááá¡áá»ááŒá±á¬ááá¯ááºááŒá®áž ááá¯áá·áºá¡ááœáẠ"áá±áá¬" ááá¯ááœá¬ážááŸá¬áá« - áááºážááŒá¶ááŸá¬ áááºážáá»áŸá±á¬ááºááœá¬ážá áá±áá»áá¯ážáááºážáá²ááŸá¬ áá±á¬á·áááºáá¬ážááá¯ááºáá« - ááá á¹á áááŸááá«áá°ážá á¡áááááá±á¬á· á¡á²áá®á¡ááŒá±á¡áá±ááá± áá±áá¹áá¡áááºááŒááºááá¯á·áá«áá²á á¡áááºážáá¯á¶áž á áá¹ááá·áºá¡áááºážáááºááŒá¬á¡á±á¬áẠááááºáá¬ážááá¯ááºáááºááŸáá·áº ááááºážáá»á¯ááºááŸá¯ ááŒááºáááºáá¬áááºááŸáá·áº áááºááŒáááºá áœá¬ ááœá±ážáá±á¬áá±áááá±á¬á·áááºá "áá±á¬ááºážááŒá®á áá«á áá°ááá¯ááºááá¯ááºáá°ážá ááá¯ááºáá²áá¬ááœá±ááá¯ááºáá°ážá áá«á áá±á¬áºáá±á¬áºá¡áá¯á¶ážáááºáá²á·áá°áá²á" ááá·áºááá¯ááºááẠáá¯á¶ááŒááºááá¯ááºááŒá®ááá¯áááºááŸáá·áº ááŒá áºáá»ááºáá²á·áááºáá»á¬ážááᯠáá¬ážáááºááá±á¬áá±á«ááºááẠáá±á¬ááºáá áºááá·áºááá¯á· áááºááŸááºážááẠá¡áá»áááºáááºááŒá®ááŒá áºáááºá áááºážááá¯ááºááá¯ááºáá¶ááááºá áááºážááá»áŸá±á¬áºááá·áºáá¬ážáá²á· ááá¯ááºááá¯ááºááŸá¯á áááá¯ážáá¬ážáá°ážá áá¯ááºáá¬áá²á· ááŒá¯á¶ááá¯ááá¯ááºááá¯ááºááŸá¯áá²á áá«á ááá±á¬ááºážáá°ážá áá±á¬ááºáá áºááá·áºááŸá¬ ááá¯ááºááá¯ááºáá°ááẠáááºážááᯠá¡áááºááŒá±á¬áá·áº ááá¯á¡ááºááŒá±á¬ááºáž áá¬ážáááºáááºááŒá áºáááºá ááááºáá¬ážá áá¬ááŒá±á¬áá·áºáá²á áá°ááá¯ááºááá¯ááºá áá±á«áááŒá±á¬áá·áºááŒá áºááá¯ááºááá¬ážá áá°áá¬ááá¯á· áá°ážáá±áá¬áá²á á¥ááá¬á áá°á·ááá¯ááºáá° áá±á¬ááºááŒááºááŒá®áž áá¬áááºáá°ááŸá¯ááᯠáááºááá¶ááá¯ááºááá¯á·áá¬ážá á€áááºááŸá¬ á¡ááŒá±á¡áá±ááᯠááá¯áá áá¯ááºááá¯ááºááœááºááẠáááºážáááºážááŒá áºáááºá ááá¯á·áá±á¬áº áááºážááẠáá±á·áá»áá·áºáááºá ááŸá¯ááºáááºáá±áᬠááá¯á¡ááºáááºá áááá¡ááá·áºááŸá¬ ááŸá¯ááºááŒáá·áº á¡áááºá¡ááœááºááŒááºáááºááŒá áºáááºá á áá¬ážáá¯á¶ážáá»á¬ážááŒáá·áº ááœá±ážááœá±ážááŒááºážááᯠááŸá±á¬ááºááŒááºáá«á áá»ááºááá¯ááºáá«á áááºááá¯ááºááá»áŸ ááŒááºááŒááºááœááºááœá¬ážáá«á áááºáá®áá¯ááºážáá²á· á áá¬ážááŒá±á¬ááŒá áºááẠáá¯ááºážáá»ááá¯ááºáá¯á¶áá«áá² - áá«á áá»áœááºáá±á¬á·áºááá®ážáá±á¬ááºážáá²á· áááºááœááºááŒááºážááá± áááºáá°áá²á·ááá²á· áá»áœááºážáá»ááºááŸá¯áá áºáá¯áá«á á áá¬ážááá¯ááºážá á¡áááºáááŒá±ááẠ"ááŸá¯ááºáááºáá«áááº" ááá¯á·ááŒá±á¬ááŒá®áž áá¯ááºážáá»ááá¯ááºáá¯á¶áá«áá²á áá¯ááºážáá¡ááŒá¬ážáá áºáááºááŸ- "blah blah blah"á "áá¯ááºáá²á·á ááŸá¯ááºáááºáá«áááº!" áá¯ááºážáá»ááá¯ááºáá«á áááºáž á áá¬ážááá¯ááºážááᯠá¡áá¯á¶ážáááºááá¯ááºáá¯á¶áá²á áá«ážáááá áºáá±á¬ááºááŒá¬áá±á¬á· áááºááŒááºááá¯ááºá áœááºážá áááºážáá®ááŒááºáá±á¬ááºáá¬áá²á·á¡áá« áááºážáááºážáááºážá áááºá¡á±ážááœá¬ážááŒá®á á¡áá¬áá¬ááá¯ááºážá áá¬ááŒá áºááœá¬ážáá²á áá±á¬ááºáá¬ááœá±áááºááŒá áºááá²ááá¯áá¬ááᯠá ááºážá á¬ážááá¯á·ááŒá áºáá¬áááºá á áááºáá¶á á¬ážáá»ááºáá²á· áá¯á¶á·ááŒááºáá¬ááẠáááºááŒááºáá¯á¶ááá¬ážáá²á· áá¯á¶á·ááŒááºááŸá¯ááᯠá áááºáá«á áá«á·á¡ááœááºá ááá¯áá·áºááá¯ááºááá¯áẠáááááŸáááŸá¯ááŸá¬ á¡á±á¬ááºááŒááºááŸá¯áᬠá áááºááá¯ááºážááá¯ááºáᬠááá á®ážááŸá¯ááŒá áºááẠá áá¬ážáááŒá±á¬ááá¯ááºáá°ážááá¯áᬠá¡ááá¡áá»áá«áá²á áá®á¡ááŒá±á¡áá±ááá± áá¯ááºážááœááºááŒá®áž ááŒá¿áá¬ááœá±ááᯠáááºááá¯áá¯á¶á·ááŒááºááŒá®áž áá»á±á¬áºááŒá±ážáá±ážáááá² ááœá±ážááŒá®áž á á®á ááºáá« - áá«ááœá±áᬠá áá¬ážáááŒá±á¬ááá¯ááºáá²á·á¡áá« ááŸááºáááºáá²á·á¡ááá·áºááœá±áá«á á¡ááœááºáá¯á¶ážáááºážáááºážááŸá¬ á áááºááá¯ááºážááá¯ááºáᬠááá á®ážááŸá¯ ááŒá áºáá±á«áºáá¬ááá·áº á¡ááŒá±á¡áá±á០áá¯ááºážááœááºááŒá®áž á€á áááºááá á®ážááŸá¯ááœáẠáá«áááºáá±ááŒááºážááᯠáááºááá·áºááá¯ááºááẠááŒá áºáááºá á¡á²áá«ááŒá®ážááẠááœá±ážááá¯ááºá ááœá±ážááá¯ááºá ááŒá±á¬ááá¯áẠááŒá áºáá¬ááẠá áááŒáá·áºáá±á«á·á
á áá¬ážáá ááºá ááá¬ážáá¯á¶ážááœááºá ááá·áºáá»ááºáááºááŸá±á·áá±á ááá·áºá¡á¬áž á€ááá¯á·ááŒá¯áááºááŒáá¯ážá á¬ážááẠ- ááá¯áá±á¬á· á¡áááºááŒá±á¬áá·áºáááºážá á¥ááá¬á¡á¬ážááŒáá·áº áááºážáá¬áááºááá¯áá±á¬áẠá¡áá¶ááœááºááá¯á·áááá²á· á¡ááŒá±á¡áá±áá»áá¯ážááŸá¬ áááºážááᯠááááŸáááºáá¬ážááá¯ááºáá²á· á¡áááºá¡áá»ááºážááŸááááºá á¡ááœááºááŸááºáááºáá±á¬ááá±á¬ááŒáá·áº áááºááẠá áá¬ážáááŒá±á¬ááá¯ááºáá«á áá®ááá¯ááŒá áºáá¬áááºá ááŸá¯ááºááá¯ááºááœá²ááœá± ááŒááºážáááºáá²á·áá±áá¬á ááá¬ážáá¯á¶ážááá¯áá±áá¬áá»áá¯ážááŸá¬ ááá¯áá·áºááá¯ááá¯áẠáááááºááá¯áááºáá±á¬á· áááºážáá²á·ááŸá±á·áá±áá²á· ááá¯ááºáá¬ááá¯ááºáá«áááºá ááŸá±á·áá±ááẠááá·áºá¡ááœáẠáááºáááºáááºááŒá®áž ááŸá¯ááºááŒáá·áºááá¯ááºááá¯ááºááŒááºážááᯠáááºááá·áºáᬠá¥ááá±ááŒá±á¬ááºážá¡á áá¯á¶ážááá¯ááºáá±á¬ááºáááºááŒá áºááŒá®áž áá¯á¶ážááŸá¯á¶ážááœá¬ážáá±á¬ Zen space ááẠááá·áºáᶠááŒááºáááºáá±á¬ááºááŸááááºááŒá áºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááẠáá»áœááºá¯ááºááááá¬ážá á¯ááᯠááŸá áºááŒáááºááá¯ááºááá¯áẠáá¯ááºážáááºááááºá ááá¬ážáá°ááŒá®ážááẠá€ááá á¹á ááŸáá·áº áááºáááºá á¡áá±á¬áºáá±áž áá±á¬áºááœá±áá±á¬áºáááºážá ááá·áºáá»ááºáááºááŸá±á·áá±á á¡á±á¬áºáá áºá¡á±á¬áºáá±á«á·áᬠá áá¬ážááẠáááŒá±á¬ááá¯ááºáá±á á€ááá á¹á áá»á¬ážááœááºá áá»ááºááŒá±áá°ááá¯áá¯á¶ážááŒááºážááẠáá»áœááºá¯ááºá¡ááœáẠá¡áá±á¬ááºážáá¯á¶ážááŒá áºáááºá áá»ááºááŒá±áá°ááẠááá·áºá¡áá±á«áº áááºááá¯ááºá á®ážáááºážáá±áá±á¬ á€ááá¡á¬ážá¡á¬ážáá¯á¶ážááᯠáááºááá·áºá á±ááŒá®ážá ááá¯á¡ááºáá±á¬ Zen space ááᯠáááºááœá±á·ááŸáááŒá®áž áááºážááŸáá·áºá¡áá° ááŒááºáááŒá±á¬ááá¯ááºáá±á¬ á áœááºážáááºááŸááááºá á€áááºááŸá¬ áá±á·áá¬á áá¬áá»á¬ážá áœá¬á ááá·áºááá¯ááºááẠááŸá¬ááœá±ááœá±á·ááŸáááẠáá»á¬ážá áœá¬ááŸááá±ááá·áº á¡ááááá¬áááºáááºáá áºáá¯áá¯á¶ážááŒá áºááŒá®áž á€á¡áá¬á¡á¬ážáá¯á¶ážááẠááá°áá®áá±á¬áá°áá»á¬ážá¡ááœáẠááá°áá®áá±á¬ á¡ááá·áºááŒáá·áº ááá¬áá»á°áá¬áá¯á¶ážááŒááºáá»ááºáá»á¬ážá¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²ááœá¬ážáááºá á¡áááºáá±á¬áºááŒáá« ááŒá¿áá¬á¡áá»áá¯á·ááœáẠáá°á¡áá»áá¯á·ááœáẠáááŸááá«; á¡áá»á¬ážá¡á¬ážááŒáá·áºá ááá±á¬áºáááºááŸááºááẠá¡áá±á¬ááºážááá¬ážáá»á¬ážááẠáááºážááá¯á·ááœáẠáááŸáááŒáá«á áá»á±á¬áºááŒá¬ážáá±á¬ á¡ááá¯áá±á¬áºáá»á¬ážá ááá»á¬ááá¬áá»á¬ážá áá¬áá¬áá±ážáá±á«ááºážáá±á¬ááºáá»á¬ážááŸáá·áº ááá¯ááºáá¶áá±ážááá¬ážáá»á¬ážá á áá¬ážáá¯á¶ážáá»á¬ážááŒáá·áº á¡áááºááœá±ážáááºážááŒá±á¬ááºážááŒá¯ááŒáá±á¬ á€áá°áá»á¬ážá¡á¬ážáá¯á¶ážááẠáá°ááá¯á·ááœáẠá¡ááŒá²ááŒá±á¬á áá¬ááŸááááºá áá°ááá¯á·ááŸá¬ áá®ááá¯ááŒá¿áá¬ááœá± áááŸááá°ážá
ÐМЎÑей: á¡á²áá«... ááááºááŸááºáá²á áá±á¬ááºážááŒá®á áá«ááá¯á·á¡áá»á¬ážááŒá®ážááŒá±á¬ááŒá®ážááŒá®á áá®á¡ááºáá¬áá»á°ážááᯠá¡áá¯á¶ážáááºááá¯á· á¡áá»áááºáááºááŒá®á áá®áá¬áá¶ááŸá¬ áá±áá»á¬áá±á«áẠááœá±á·áá¯á¶ááŒá®áž áá®ááœá±ážááœá±ážááœá²ááᯠáááºááœá¬ážáááºá Hydra ááŸá¬ááœá±á·áááºá
áá°ááá¯ááºá 2019-11 áááºá 12 áá¯ááŸá Ạá ááá·áºáá®áá¬á áááºááœááºáá»ááºážáááá·áº Hydra 2019 ááœááºáááá·áºááœáẠCliff ááŸáá·áº áááºáá áá¬ážá ááŒááºááᯠáááºáááºáá¯ááºáá±á¬ááºááá¯ááºáá«áááºá á¡á á®áááºáá¶á á¬ááŸáá·áºá¡áá°áá¬áááá·áºáááºá
"Azul Hardware Transactional Memory á¡ááœá±á·á¡ááŒá¯á¶" . áááºááŸááºáá»á¬ážáááºáá°ááá¯ááºáá«áááºáááá¬ážááẠwebsite ááœáẠ.
source: www.habr.com