рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдкрд░ рдЬрд╝рд╛рдорд░реАрди (рдореЛрдиреЛрдбреНрд░реЙрдЗрдб) рдФрд░ рдЬрд╛рд╡рд╛ (рдбреЗрд▓реНрд╡рд┐рдХрд╡реАрдПрдо) рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛

рдЫрд╡рд┐
рд╢реБрдн рджреЛрдкрд╣рд░ рдХрдИ рд▓реЛрдЧ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдпрд╛ рдЖрдИрдУрдПрд╕ рдкрд░ рдЬрд╝рдорд░реАрди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рддрдирд╛ рдЕрд▓рдЧ рд╣реИред рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЖрдИрдУрдПрд╕ рдХреЗ рд╕рд╛рде рд╕рд╡рд╛рд▓ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдмрд╛рд░ рдФрд░ рд╕рднреА рдХреЗ рд▓рд┐рдП рдореЛрдиреЛрдбреНрд░реЙрдЗрдб рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рд╕рд╡рд╛рд▓реЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред

рдЕрдХреНрд╕рд░, рдпреЗ рд╕рд╡рд╛рд▓ рдПрдХ рдЧрд▓рддрдлрд╣рдореА рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдореЛрдиреЛрдбреНрд░реЙрдЗрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ "рдЬреЗрдорд░реАрди рдлрд┐рд░ рдЬреЗрд╡реАрдПрдо рдХреЗ рддрд╣рдд рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ" рдЬреИрд╕реЗ рд╕рд╡рд╛рд▓ рдкреВрдЫреЗ рдЧрдП рдереЗред рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЬрд╝рдорд░реАрди рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рдЙрд╕реА рд╕реНрддрд░ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдбрд╛рд▓реНрд╡рд┐рдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛ рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рддреБрд▓рдирд╛ рд╣реЛрддреА рд╣реИ: рдореЛрдиреЛ рд╡реАрдПрдо рдФрд░ рдбрд╛рд▓рд╡рд┐рдХ рд╡реАрдПрдоред


рд╕рддреНрдпрд╛рдкрди рдкрджреНрдзрддрд┐


рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛-рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕реЗ C # рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореИрдВрдиреЗ рд╕рд░реНрд╡рдкреНрд░рдердо рдЬрд╛рдиреЗ-рдорд╛рдиреЗ LINPACK рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдЦреБрд▓рд╛ рд╣реИ рдФрд░ C # рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрд┐рдд Android рдХреЗ рд▓рд┐рдП LINPACK рдХрд╛ рдПрдХ рддреИрдпрд╛рд░-рдирд┐рд░реНрдорд┐рдд Android рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

LINPACK рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдПрдХ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЧрддрд┐ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рд╣реИред рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЬреИрдХ рдбреЛрдВрдЧрд░рд╛ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рдорд╛рдкрддрд╛ рд╣реИ рдХрд┐ рдПрд▓рдпреВ рдЕрдкрдШрдЯрди рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдпрд╛рдо рдПрди рдПрдХреНрд╕ рдПрди рдХреЗ рдШрдиреЗ рдПрд╕рдПрд▓рдПрдпреВ рдПрдХреНрд╕ = рдмреА рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдХрдВрдкреНрдпреВрдЯрд░ рдХрд┐рддрдиреА рдЬрд▓реНрджреА рдЦреЛрдЬрддрд╛ рд╣реИред рдореБрдЦреНрдп рддрддреНрд╡ ( рд╡рд┐рд╡рд░рдг ) рдХреЗ рдЪрдпрди рдХреЗ рд╕рд╛рде рдЧреЙрд╕ рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдореЗрдВ 2/3 * рдПрди 3 + 2 * рдПрди 2 рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдСрдкрд░реЗрд╢рди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдСрдкрд░реЗрд╢рдВрд╕ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб (MFLOP / s, рдЕрдХреНрд╕рд░ рдмрд╕ FLOPS) рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓рд┐рдиреЗрдк рдлреЛрд░рдЯреНрд░рд╛рди рд▓реАрдирд┐рдпрд░ рдХрдореНрдкреНрдпреВрдЯрд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕реНрд╡рдпрдВ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рддрдм рд╕реЗ, рдЗрд╕рдХреЗ рд░реВрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, TOP500 рд╕реБрдкрд░ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЛ рд░реИрдВрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рдХрд╛рдлреА рд╕рд░рд▓ рдХрд╛рд░реНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ, рд╣рдо рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕рдорд╛рдзрд╛рди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ:

рдлрд┐рд░, MVP рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдФрд░ рджреГрд╢реНрдп рдмрдирд╛рдПрдВ
рдЫрд╡рд┐
рд╣рдо рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╕реНрддреБрддрдХрд░реНрддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, рдореИрдВ NUnit рдФрд░ NSubstitute рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред NUnit рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдмрд╕ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкрд░реАрдХреНрд╖рдг рдврд╛рдВрдЪрд╛ рдирд╣реАрдВ рд╣реИред NSubstitute рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрдЯрдмреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддреНрдпрдВрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рдлреНрд░реЗрдорд╡рд░реНрдХ NuGet рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдЧреЛрджреА рд╕реЗ NSubstitute рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЙрджрд╛рд╣рд░рдг
// Let's say we have a basic calculator interface: public interface ICalculator { int Add(int a, int b); string Mode { get; set; } event Action PoweringUp; } // We can ask NSubstitute to create a substitute instance for this type. We could ask for a stub, mock, fake, spy, test double etc., but why bother when we just want to substitute an instance we have some control over? _calculator = Substitute.For<ICalculator>(); // Now we can tell our substitute to return a value for a call: _calculator.Add(1, 2).Returns(3); Assert.That(_calculator.Add(1, 2), Is.EqualTo(3)); // We can check that our substitute received a call, and did not receive others: _calculator.Add(1, 2); _calculator.Received().Add(1, 2); _calculator.DidNotReceive().Add(5, 7); // If our Received() assertion fails, NSubstitute tries to give us some help as to what the problem might be: NSubstitute.Exceptions.ReceivedCallsException : Expected to receive a call matching: Add(1, 2) Actually received no matching calls. Received 2 non-matching calls (non-matching arguments indicated with '*' characters): Add(1, *5*) Add(*4*, *7*) // We can also work with properties using the Returns syntax we use for methods, or just stick with plain old property setters (for read/write properties): _calculator.Mode.Returns("DEC"); Assert.That(_calculator.Mode, Is.EqualTo("DEC")); _calculator.Mode = "HEX"; Assert.That(_calculator.Mode, Is.EqualTo("HEX")); 


рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд╣рд▓реЗ рд╕реЗрдЯрдЕрдк рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдБ
 [TestFixtureSetUp] public void Setup() { view = Substitute.For<ILinpackView>(); presenter = new LinpackPresenter(view); } 

рдФрд░ рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ
  [Test] public void CalculateAsyncTest() { presenter.CalculateAsync().Wait(); Assert.That(view.Mflops, Is.EqualTo(130.0).Within(5).Percent); } 

рддреГрддреАрдп-рдкрдХреНрд╖ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореЗрд░реЗ рдкреАрд╕реА рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд▓рдЧрднрдЧ 130 MFLOPS / s рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдЬреЛрдбрд╝рдХрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рдорд╛рдиреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗред

рд╡рд┐рдзрд┐ рдХреЗ рдЕрдВрджрд░, рдореИрдВ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЯрд╛рд╕реНрдХ рдмрдирд╛рддрд╛ рд╣реВрдВ рдФрд░ рд╡реНрдпреВ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВред рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред
 public Task CalculateAsync() { Linpack l = new Linpack(); return Task.Factory.StartNew(() => l.RunBenchmark()) .ContinueWith(t => { _view.Mflops = l.MFlops; _view.NormRes = l.ResIDN; _view.Precision = l.Eps; _view.Time = l.Time.ToString(); } ); } 


рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдм рддрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рдХреА рдХреЛрдИ рдкрдВрдХреНрддрд┐ рдирд╣реАрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИред рдЕрдм рдПрдХ Android рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ:

рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдЕрдВрджрд░ рджреГрд╢реНрдп рдбрд┐рдЬрд╛рдЗрдирд░ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЬрд▓реНрджреА рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдлреЗрдВрдХрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдФрд░ рдпрд╣ рджреЗрдЦреЗрдЧрд╛ рдХрд┐ рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЪреВрдВрдХрд┐ рдХрд┐рд╕реА рднреА рд╡рд┐рд╖рдп рдХреЛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╣рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рджреГрд╢реНрдп рдорд┐рд▓реЗрдЧрд╛

рдЕрдм рдпрд╣ рдХреЗрд╡рд▓ рд░рд┐рд▓реАрдЬ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ, рдЗрд╕реЗ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрди рдХрд░реЗрдВ рдФрд░ рдХрдВрд╕реЛрд▓ рдпреВрдЯрд┐рд▓рд┐рдЯреА adb.exe рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рджреЗрдЦрд╛ рдХрд┐ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрддрд┐ рди рдХреЗрд╡рд▓ рдбреАрдмрдЧ / рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдпреВрдПрд╕рдмреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рднреА рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдлреЛрди рд╡рд┐рдХрд╛рд╕ рдореЛрдб рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдЪрд▓рд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЧрддрд┐ (рдпрд╛ рдирд╣реАрдВ) рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдЯреНрд░реЗрд╕ рдЬреИрд╕реЗ рд▓реЙрдЧрд┐рдВрдЧ рдирд┐рд░реНрдорд╛рдг рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВред

рд╣реЛ рдЧрдпрд╛!

рдкрд░рд┐рдгрд╛рдо


рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдг рд╣реИрдВ, Android 2.3 (Qualcomm QSD8250, 1000 MHz, 512 RAM) рдХреЗ рд╕рд╛рде HTC рдЗрдЪреНрдЫрд╛ рдФрд░ Android 4.0.4 рдХреЗ рд╕рд╛рде рдлреНрд▓рд╛рдИ IQ443 (MediaTek MT6577, 1000 MHz, 512 RAM)

рдпрд╣рд╛рдБ рдЙрдирдХреЗ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ:
рдПрдЪрдЯреАрд╕реА рдбрд┐рдЬрд╛рдпрд░:


IQ443 рдлреНрд▓рд╛рдИ рдХрд░реЗрдВ:


рдФрд░ рд╕реБрдВрджрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕


рдирд┐рд╖реНрдХрд░реНрд╖


рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдкрд░ рдореЛрдиреЛ рдХрдо рд╕реЗ рдХрдо рддреБрд▓рдиреАрдп рд╣реИ, рдФрд░ рдХрднреА-рдХрднреА рджрд▓рд╡рд┐рдХ рд╕реЗ рднреА рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╡реЗ рд▓рдЧрднрдЧ рдмрд░рд╛рдмрд░ рд╣реИрдВред рджреВрд╕рд░рд╛ рдХреЙрд▓рдо рдЧрд▓рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореЛрдиреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдореЗрд░реА рдУрд░ рд╕реЗ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдмрд┐рдирд╛ рдкрд░реАрдХреНрд╖рдг рдХреЛ рджреЛ рдХреЛрд░ рдореЗрдВ рд╕рдореНтАНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдХрд╛рд░реНрдп рд╕реНрддрд░ рдкрд░ рд╣реИ, рдЬрдмрдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдкреИрдХ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рдВрдпреЛрдЧ рд╕реЗ, рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд┐рд▓реАрдЬрд╝ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдЖрдХрд╛рд░ рдЕрдВрддрд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЬрд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╡рдЬрди рдХреЗрд╡рд▓ 280KB рд╣реИ, рдЬрдмрдХрд┐ рдореЛрдиреЛрдбрд╛рдпрд░ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рд╡рдЬрди рд▓рдЧрднрдЧ 2.3 рдПрдордмреА рдкреНрд░рддрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкреНрд░рдХрд╛рд░ (рдЖрд░реНрдореЗрдмреА рдФрд░ рдЖрд░реНрдореЗрдмреА-рд╡реА 7) рд╣реИ, рдЕрд░реНрдерд╛рддред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ 4.6 рдПрдордмреА , рдЬреЛ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдзреБрдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдореБрдЭреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдкреАрдХреЗ рдХрд╛ рдЖрдХрд╛рд░ рдЖрдкрдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЕрд▓рдЧ рд╕реЗ рдЖрд░реНрдореЗрдмреА рдФрд░ рдЖрд░реНрдореЗрдмреА-рд╡реА 7 рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ Google Play рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдкреАрдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЖрд╡реЗрджрди рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдБ рд╣реИред

PS рдореИрдВ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ Android рд╣реИ рдФрд░ 10 рдорд┐рдирдЯ рдХрд╛ рдЦрд╛рд▓реА рд╕рдордп рд╣реИ, рддреЛ рдЖрдк рдмрд╣реБрдд рдЖрднрд╛рд░реА рд╣реЛрдВрдЧреЗ рдпрджрд┐ рдЖрдк Android рдХреЗ рд▓рд┐рдП LINPACK рдФрд░ рдирдП рдмрдирд╛рдП рдЧрдП MonoLINPACK рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рдкрд░рд┐рдгрд╛рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдорд▓реНрдЯреА-рдХреЛрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИ, рддреЛ рддреБрд░рдВрдд Android рдХреЗ рд▓рд┐рдП LINPACK рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдереНрд░реЗрдб рдЪреБрдиреЗрдВ)

рдкреАрдкреАрдПрд╕ рдЖрдИрдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рдкрд░реАрдХреНрд╖рд╛ рд╣реЛрдЧреА

UPD1 рд╡рд░реНрддрдорд╛рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдореЛрдиреЛ рдФрд░ рдЯрд╛рд╕реНрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 4-рдХреЛрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рд╕рднреА рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдРрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдореЛрдиреЛрд▓рд╛рдЗрдирдкреИрдХ рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдкреИрдХ рдХреЗ рдмреАрдЪ рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИрдВред рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореЛрдиреЛрдПрд▓рд┐рдирдкреИрдХ рдХреЛ рдЯреАрдкреАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

Source: https://habr.com/ru/post/In194866/


All Articles