Vlad Ruzov

Forum Replies Created

Viewing 8 posts - 16 through 23 (of 23 total)
  • Author
    Posts
  • in reply to: benchmark test: HaWe brickbench – for C# / Mono? #4622
    Author Image
    Vlad Ruzov
    Participant

    Hello,

    I have made some memory tests under C#.
    Memavail() is not available in .Net platform but there are many other memory functions.
    Unfortunately most of them does not working in Mono/C#.
    At the end I decided simply try to allocate as many memory as possible.
    As a result, I found that the maximum memory szie available for code and data is 42 megabytes.
    The source code of the test program can be found here:
    https://github.com/vladru/BrickMemory/archive/master.zip

    Regarding other points for Mono/C#:
    12 – 17 : communication function are not implemented at present,
    18: 64 bit.float – YES
    19: >=4D arrays – YES
    20: Recursions – YES
    21: Multithreading – YES
    22: API complete – ??
    motors – YES
    standard sensors (EV3 and NXT) – YES
    some of HiTec sensors too (http://www.monobrick.dk/MonoBrickFirmwareDocumentation/annotated.html)
    text screen – YES, graphic – whie NOT.
    23: IDE – YES. Super powerful Xamarin Studio including debugger with breakpoints.

    So, as I can see at Mono/C# firmware sources the graphic functions will be implemented in the next firmware release and then I will try to make graphics test.

    Regarding RobotC:
    I have used ‘benchmak EV3.c’ from the standard RobotC installation (v.4.10) (http://robotc.net/download/lego/)
    I will see into new 4.25 robotc release soon…

    /Vlad

    in reply to: Latest version? #4618
    Author Image
    Vlad Ruzov
    Participant

    The example below works with old dll (from sd image) and does not work with dll that you provided.

    using System;
    using System.Threading;
    using MonoBrickFirmware.Display;
    
    namespace HelloWorld
    {
       public static class Program
       {
          public static void Main( string[] args)
          {
             LcdConsole.WriteLine ("Hello World!");
             Thread.Sleep (2000);
          }
       }
    }
    
    in reply to: Latest version? #4609
    Author Image
    Vlad Ruzov
    Participant

    If I replace MonoBrickFirmware.dll in EV3 apps folder by dll that you provided then all standard examples ( LcdExample etc.) do not work properly. They put random pixels on the screen.

    in reply to: Latest version? #4606
    Author Image
    Vlad Ruzov
    Participant

    Hi Max,
    If I use DLL you provided OR build DLL from GitHub sources and use it then the brick LCD does not work properly – only random points shown instead of text.
    May be it is required to do something else than DLL replacement ?

    Thank You. Vlad.

    in reply to: Error when building with Xamarin #4602
    Author Image
    Vlad Ruzov
    Participant

    Martin,

    I use Xamarin 5.2 with Mono 3.3.0 on win 7 for build EV3 Mono C# projects.

    To avoid ‘System.Globalization.SortVersion’ build error You need uncheck ‘Use MSBuild engine’ option at Project -> <YourProjectName> Options -> General.

    You can see more details here:
    http://forums.xamarin.com/discussion/16467/build-failed-could-not-find-type-system-globalization-sortversion

    Vlad.

    in reply to: benchmark test: HaWe brickbench – for C# / Mono? #4596
    Author Image
    Vlad Ruzov
    Participant

    Helmut,
    please do not be alarmed – I was not embarrassed or offended by your post.

    Regardin test looping:
    My assumption that the first loop runtime is not very important.
    When the program control a real device (robot etc.) it have repeat management algorithm in a loop.
    First loop runtime simlpe gives a delay at the start, but does not affect the response time in the future.
    So, perhaps in the test results will be reasonable to publish average runtime of several (at least 5) loops…

    I will look to your questions and tasks and will try come back ASAP.

    Thank you.
    Vlad.

    in reply to: benchmark test: HaWe brickbench – for C# / Mono? #4593
    Author Image
    Vlad Ruzov
    Participant

    Hello Helmut,
    Thank you for interest in my work.

    1) I have added Copyright rules to the source code and have pushed changes to the GitHub repositories.

    2) I have closed access to the google docs results table referenced above but I have no possibility to change previous post.

    3) You can download compressed zip folder with sources here:
    https://github.com/vladru/MonoBrickBench/archive/master.zip

    Program.cs and RandM.cs are text files with C# code but all others files are needed for build solution.

    3) The test was performed in a loop for show a difference between first and others runtimes.
    The feature of Mono C# is that exe-file have no compilied executable code but have so-called P-Code which converted to machine-dependent code on the first call.
    So the first run of any procedure or function takes longer runtime than the following.

    4) The current version of MonoBrick EV3 firmware have no some graphical functions like circle and filled ellipse so I did not make the graphics tests.

    5) Please indicate where the requirements, specifications or clarification for tests and data at clauses 3, 10-21 can be found.

    I would like also to pay attention that RobotC HW brickbench test runned on my EV3 brick has better results than those that are published on your site.
    But at any case, the MonoBrick C# performance about 50 times higher than the RobotC performance.

    Regards, Vlad.

    in reply to: benchmark test: HaWe brickbench – for C# / Mono? #4591
    Author Image
    Vlad Ruzov
    Participant

    I have ported the HW brickbench benchmark test to the Monobrick C# and then run RobotC and C# test on my EV3 brick.
    The final results are:

    • Integer add/subtr.
    • Integer mult./div.
    • Float operations
    • Rnd.num.generation
    • Matrix algebra
    • Arrays shell sort.
    • Toal milleseconds

    More results can be found here:
    https://docs.google.com/spreadsheets/d/1WpeffSpUEWKA_s7lOdseSbkDTSA1RQ_wzAI94Q_HLO0/edit?usp=sharing

    Source C# code of that test is kept at these Github repositories:
    https://github.com/vladru/MonoBrickBench

Viewing 8 posts - 16 through 23 (of 23 total)
Posted in

Make a donation