рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдореЗрд░рд╛ рдирд╛рдо рдПрд░реНрдЯреЛрдо рдбреЛрдмреНрд░реЛрд╡рд┐рдВрд╕реНрдХреА рд╣реИ рдФрд░ рдореИрдВ рдлрд┐рдирд┐рдЪ рдореЗрдВ рдПрдХ рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВред
рдПрдХ рдмрд╛рд░, рд╕реБрдмрд╣ рдХреЗ рд╕рд┐рдЧрд╛рд░ рдХреЗ рдзреБрдПрдВ рдореЗрдВ рдЦреБрдж рдХреЛ рд▓рдкреЗрдЯрддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдУрдЖрд░рдПрдо рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ред рд╡рд╣рд╛рдВ рджреЗрдЦрддреЗ рд╣реБрдП benchmarks
рдирд╛рдордХ рдПрдХ рдкреИрдХреЗрдЬ рддреБрд░рдВрдд рд╡рд╣рд╛рдВ рджреЗрдЦрд╛, рдФрд░ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдерд╛ рдХрд┐ рд╕рднреА рдореВрд▓реНрдпрд╛рдВрдХрди Log.d(System.nanoTime())
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдП рдЧрдП рдереЗред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдирд╣реАрдВ рд╣реИ рдЬрдм рдореИрдВрдиреЗ рдпрд╣ рджреЗрдЦрд╛ рд╣реИред рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ System.currentTimeMillis()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдмреЗрдВрдЪрдорд╛рд░реНрдХ рднреА рджреЗрдЦрд╛ред рдврд╣ рдЧрдИ рдЬрд╛рдЧрд░реВрдХрддрд╛ рдХрд┐ рдХреБрдЫ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдореБрдЭреЗ рдПрдХ рд╡реНрд╣рд┐рд╕реНрдХреА рдХрд╛ рдЧрд┐рд▓рд╛рд╕ рдЕрд▓рдЧ рдХрд░рдиреЗ рдФрд░ рдХреАрдмреЛрд░реНрдб рдкрд░ рдмреИрдардиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрдирд╛ рдкрдбрд╝рд╛ред
рдпрд╣ рд▓реЗрдЦ рдХреНрдпреЛрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ
рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдХреЛрдб рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рджреБрдЦрдж рд╣реИред
рдХрд┐рддрдиреЗ рд▓реЛрдЧ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ 2019 рдореЗрдВ, рдХрд┐рд╕реА рдХреЛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЬреЗрд╡реАрдПрдо рд╡рд╣ рд╕рдм рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдбреЗрд╡рд▓рдкрд░ рдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ рдФрд░ рдареАрдХ рдЙрд╕реА рдХреНрд░рдо рдореЗрдВ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдЪреНрдЪрд╛рдИ рд╕реЗ рдЖрдЧреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рдЖрднрд╛рд╕реА рдорд╢реАрди рдПрдХ рдЕрд░рдм рд▓рд╛рдкрд░рд╡рд╛рд╣ рдмрдЯрди-рдкрд╛рдардХреЛрдВ рд╕реЗ рд▓рдбрд╝рддреА рд╣реИ рдЬреЛ рдЕрдкрдирд╛ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдХрднреА рднреА рдПрдХ рдмрд╛рд░ рддрдирд╛рд╡ рдирд╣реАрдВ рдХрд░рддреЗ рдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЗрд╕ рд╕рдм рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдпрд╣ рд▓рдбрд╝рд╛рдИ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЪрд▓ рд░рд╣реА рд╣реИ, рдФрд░ рдЙрд╕рдХреА рдЖрд╕реНрддреАрди рдореЗрдВ рдПрдХ рд▓рд╛рдЦ рдореБрд╢реНрдХрд┐рд▓ рдЕрдиреБрдХреВрд▓рди рд╣реИ (рдпрджрд┐ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдХрд┐рд╕реА рднреА рдорд╛рдк рдХреЛ рд╕рдордп рдХреА рдмрд░реНрдмрд╛рджреА рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛ред
рдпрд╣реА рд╣реИ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрднреА-рдХрднреА рдХреЛрдб рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рдорд╛рдирддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдХреНрд╕рд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХреИрд╕реЗред рдХрдард┐рдирд╛рдИ рдЗрд╕ рддрдереНрдп рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ рдХрд┐ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рдорд╛рди рдФрд░ рдЖрджрд░реНрд╢ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдпрд╣ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИред рдпреЗ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдШреБрдЯрдиреЗ рдкрд░ рд▓рд┐рдЦреЗ рдЧрдП рд╕рдорд╛рдзрд╛рдиреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВред
рдпрджрд┐ рдЖрдкрдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ рдЕрд▓реЗрдХреНрд╕рдИ рд╢рд┐рдкрд┐рд▓реЗрд╡ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХреА рдЧрд╣рд░рд╛рдИ рдкрд░ рдЪрдорддреНрдХрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рдм рдХреБрдЫ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦ рдореЗрдВ рд╣реИ: рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд╛рд░реНрдордЕрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВ System.currentTimeMillis()
рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдм рдмреАрддреЗ рд╣реБрдП рд╕рдордп рдХреА рдЧрд┐рдирддреА рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ 300 рдХреЗ рд▓рд┐рдП рдЪреБрдЯрдХреБрд▓реЗред рдЙрддреНрдХреГрд╖реНрдЯ рдкрдврд╝рдиреЗред
рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреНрдпреЛрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдбреЗрд╡рд▓рдкрд░ рд╣реВрдВ: рдореИрдВ рди рдХреЗрд╡рд▓ рдПрдВрдбреНрд░реЙрдЗрдб рдПрд╕рдбреАрдХреЗ рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реВрдВ, рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдореЗрд░рд╛ рдкрд╛рд▓рддреВ-рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдерд╛, рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рдорд╣реАрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрд╛ред
рдЬрдм рдореИрдВрдиреЗ рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ microservice рд▓рд╛рдпрд╛, рдФрд░ README
рдореЗрдВ рдХреЛрдИ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдирд╣реАрдВ рдереА, рддреЛ рдЙрд╕рдиреЗ рдореЗрд░реА рддрд░рдл рдЧрд▓рдд рдирдЬрд╝рд░ рд╕реЗ рджреЗрдЦрд╛ред рдореБрдЭреЗ рдпрд╣ рдпрд╛рдж рдЖрдпрд╛ рдФрд░ рдлрд┐рд░ рдХрднреА рдЗрд╕ рдЧрд▓рддреА рдХреЛ рджреЛрд╣рд░рд╛рдпрд╛ рдирд╣реАрдВред рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдПрдХ рд╣рдлреНрддреЗ рдореЗрдВ рд╣реА рдирд┐рдХрд▓ рдЧрдпрд╛ред
рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВред
рд╣рдо рдХреНрдпрд╛ рдорд╛рдк рд░рд╣реЗ рд╣реИрдВ
рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЧрддрд┐ рдХреЛ рдорд╛рдкрдиреЗ рдФрд░ рдкреЗрдкрд░, рд╣реЙрдХ, рд░рд┐рдпрд▓рдо рдФрд░ рд░реВрдо рдЬреИрд╕реЗ рдУрдЖрд░рдПрдо рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдиреЗ / рдкрдврд╝рдиреЗ рдХреА рдЧрддрд┐ рдХреЛ рдорд╛рдкрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рд╣рд╛рдВ, рдореИрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг NoSQL рдФрд░ рдПрдХ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдорд╛рдкрддрд╛ рд╣реВрдВ - рдЕрдЧрд▓рд╛ рд╕рд╡рд╛рд▓ рдХреНрдпрд╛ рд╣реИ?
рд╣рдо рдорд╛рдкрддреЗ рд╣реИрдВ
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо JVM рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЪреБрдирд╛рд╡ рд╕реНрдкрд╖реНрдЯ рд╣реИ - JMH рдХрд╛ рдорд╣рд┐рдорд╛рдордВрдбрди , рдкреВрд░реНрдгрддрд╛ рдФрд░ рджреЛрд╖рдкреВрд░реНрдг рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ ред рд▓реЗрдХрд┐рди рдирд╣реАрдВ, рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдЯреЗрд╕реНрдЯ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
Google рдХреИрд▓реАрдлрд╝рд░ рдЙрдирдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ - рдЙрд╕реА рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рдеред
рд╕реНрдкреИрдирд░ рдирд╛рдордХ рдХреИрд▓реАрдлрд╝рд░ рдХрд╛ рдПрдХ рдХрд╛рдВрдЯрд╛ рд╣реИ - рдЬреЛ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЬрд╝реЗрдкрд░рдХреЗрдп рд╣реИ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЖрдЗрдП рд╣рдо рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВред рдпрджрд┐ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдерд╛ред
рдЬреИрд╕реЗ рд╕рдм рдХреБрдЫ рдЬреЛ Jetpack рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╕рдкреЛрд░реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, Androidx рдмреЗрдВрдЪрдорд╛рд░реНрдХ рджрд┐рдЦрддрд╛ рд╣реИ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣рдлреНрддреЗ рдФрд░ рдЖрдзреЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдХреЛрдИ рднреА рдЗрд╕реЗ рдХрднреА рдирд╣реАрдВ рдЫреВрдПрдЧрд╛ред рд╕рд╛рде рд╣реА, рдпрд╣ рдкрд░рд┐рд╡рд╛рдж рдереЛрдбрд╝рд╛ рдЕрддреАрдд рд╣реИ - рдХреНрдпреЛрдВрдХрд┐, рдпрд╣ рдпреВрдЖрдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рд╕реНрдкрд╖реНрдЯ рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрд╛рдПрдЧрд╛, рдФрд░ рд╡рд╛рд░реНрдо рдЕрдк рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░реЗрдЧрд╛ред
рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрджрддрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ 10 рдмрд╛рд░ рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдКрдВрдЧрд╛ рдФрд░ рдФрд╕рдд рдХреА рдЧрдгрдирд╛ рдХрд░реВрдВрдЧрд╛ред
рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдг - Xiaomi A1ред рдмрд╛рдЬрд╛рд░ рдореЗрдВ рд╕рдмрд╕реЗ рдХрдордЬреЛрд░ рдирд╣реАрдВ, "рд╕реНрд╡рдЪреНрдЫ" рдПрдВрдбреНрд░реЙрдЗрдбред
рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛
Andoridx рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрдХреГрд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВред рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЖрд▓рд╕реА рди рд╣реЛрдВ рдФрд░ рдорд╛рдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореЙрдбреНрдпреВрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВред
рдкреНрд░рдпреЛрдЧ рдХреА рдкреНрд░рдЧрддрд┐
рд╣рдорд╛рд░реЗ рд╕рднреА рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рдо рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ:
- рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдирд┐рдХрд╛рдп рдореЗрдВ рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВред
- рдЙрд╕рдХреЗ рдмрд╛рдж,
benchmarkRule.scope.runWithTimingDisabled
ред benchmarkRule.scope.runWithTimingDisabled
ред benchmarkRule.scope.runWithTimingDisabled
рдмреНрд▓реЙрдХ рдореЗрдВ, рд╣рдо рдбреЗрдЯрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдлреАрдб рдХрд░рддреЗ рд╣реИрдВред рдореВрд▓реНрдпрд╛рдВрдХрди рдореЗрдВ рдЗрд╕ рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рд░рдЦреЗ рдЧрдП рдХреЛрдб рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред - рдЙрд╕реА рдХреНрд▓реЛрдЬрд░ рдореЗрдВ рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХрд╛ рддрд░реНрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ; рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЦрд╛рд▓реА рд╣реИред
- рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рдЦрдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдХрд╛ рддрд░реНрдХ рд╣реИред рдкрдврд╝рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдЪрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ JVM рдЗрд╕ рддрд░реНрдХ рдХреЛ рдЕрдкреНрд░рдпреБрдХреНрдд рдЧрдгрдирд╛ рд╕реЗ рдЕрдкреНрд░рдпреБрдХреНрдд рдХреЗ рд░реВрдк рдореЗрдВ рди рд╣рдЯрд╛рдПред
- рд╣рдо рдПрдХ рдЕрд▓рдЧ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрддреЗ рд╣реИрдВред
- рд╣рдо рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рдЖрджрдореА рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣рд╛рдВ рдХреЛрдб рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдпрджрд┐ рдЖрдк рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд▓рд╕реА рд╣реИрдВ, рддреЛ рдкреЗрдкрд░рдбрдм рдХреЗ рд▓рд┐рдП рдкреИрдорд╛рдЗрд╢ рд╕рдорд╛рд░реЛрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
@Test fun paperdbInsertReadTest() = benchmarkRule.measureRepeated {
рдУрдЖрд░рдПрдо рдХреЗ рдмрд╛рдХреА рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╕рдорд╛рди рджрд┐рдЦрддреЗ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдо
рдкреНрд░рд╛рд░рдВрдн
рд╡рд┐рдЬреЗрддрд╛ рд░рд┐рдпрд▓рдо рд╣реИ, рджреВрд╕рд░реЗ рд╕реНрдерд╛рди рдкрд░ рдкреЗрдкрд░ рд╣реИред рдХрдорд░рд╛ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЖрдк рдЕрднреА рднреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣реЙрдХ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╕рдордп рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред
рд▓рд┐рдЦрдирд╛ рдФрд░ рдкрдврд╝рдирд╛
рдпрд╣рд╛рдБ рдлрд┐рд░ рд╕реЗ рджрд╛рдпрд░реЗ рдХреЗ рд╡рд┐рдЬреЗрддрд╛, рд▓реЗрдХрд┐рди рдЗрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рд╕реНрдореИрдХред
рджреЛ "рд╕рдмрд╕реЗ рдзреАрдореЗ" рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рд╕реЛрд▓рд╣ рдмрд╛рд░ "рд╕рдмрд╕реЗ рддреЗрдЬрд╝" рдФрд░ "рд╕рдмрд╕реЗ рдзреАрдореА" рдХреЗ рдмреАрдЪ рдЪрд╛рд░ рдмрд╛рд░ рдЕрдВрддрд░ рдмрд╣реБрдд рд╕рдВрджрд┐рдЧреНрдз рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рдЕрдВрддрд░ рд╕реНрдерд┐рд░ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрдирд╛ рдХрдо рд╕реЗ рдХрдо рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рд╣рдо рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрджреНрдпреЛрдЧ-рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдорд╛рдорд▓реЛрдВ (рдЬреИрд╕реЗ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯрд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рд▓рд┐рдП рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╣рд░ рдХрд╛рд░рдг рд╣реИ (рд╕рдордп рдФрд░ рдЪреАрдпрд░рд▓реАрдбрд░реНрд╕ рдХреЗ рд╕рд╛рде рдЦреБрдж рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп)ред
рдХреЛрдб рдмреЗрд╕ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдРрд╕реА рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдПрдХ рд╕реНрд╡рдЪреНрдЫ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдмрд╣реБрдордд рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдореЙрдбреНрдпреВрд▓ рдПрдХ рдЬрд╛рд╡рд╛ рдореЙрдбреНрдпреВрд▓ рд╣реИ - рдкрд╛рд╕ рдХреЗ рдЬреЗрдПрдордПрдЪ рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдмрд╛рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдпрд╣ рдПрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдФрд░ рд▓рд╛рдн - рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рддрдХред
рд╣реИрдкреНрдкреА рдХреЛрдбрд┐рдВрдЧ!
рдкреБрдирд╢реНрдЪ: рдпрджрд┐ рдПрдХ рдЪреМрдХрд╕ рдкрд╛рдардХ рдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯрд▓ рдЯреЗрд╕реНрдЯ рдХреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЖрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИ, рддреЛ рд▓реЗрдЦ рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ - рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред
PPS: рдЯреЗрд╕реНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реИред