Quantcast
Channel: Programming - Embarcadero Community
Viewing all articles
Browse latest Browse all 167

Performance der Ubuntu Bash auf Windows 10 ("Creators Update")

$
0
0

Da ich ja schon gestern auf die Möglichkeiten der (Ubuntu) Bash auf Windows 10 Creators Update und Delphi eingegangen bin, habe ich mal einen kleinen Performance Test gegenüber einer normalen Ubuntu-Installation gemacht.

Dazu habe ich ein einfaches Quicksort benutzt:

program QuickSort;
{$APPTYPE CONSOLE}

uses
  SysUtils,
  System.Diagnostics,
  System.Timespan;

const
  maxLen = 100000000;

type
  stip = array [1 .. maxLen] of integer;

var
  i: integer;
  s: stip;
  Stopwatch: TStopwatch;
  Elapsed: TTimeSpan;
  Seconds: Double;

procedure pQuickSort(var a: stip; lo, hi: integer);
  procedure sort(p, r: integer);
  var
    i, j, x, y: integer;
  begin
    i := p;
    j := r;
    x := a[(p + r) div 2];
    repeat
      while a[i] < x do
        i := i + 1;
      while x < a[j] do
        j := j - 1;
      if i <= j then
      begin
        y := a[i];
        a[i] := a[j];
        a[j] := y;
        i := i + 1;
        j := j - 1;
      end;
    until i > j;
    if p < j then
      sort(p, j);
    if i < r then
      sort(i, r);
  end;

begin
  sort(lo, hi);
end;

begin

  Write('Init....');
  for i := 1 to maxLen do
  begin
    s[i] := Random(maxLen)
  end;
  WriteLn('Done');

  Stopwatch := TStopwatch.StartNew;

  Write('Sorting....');
  pQuickSort(s, 1, maxLen);
  WriteLn('Done');

  Elapsed := Stopwatch.Elapsed;
  Seconds := Elapsed.TotalSeconds;

  WriteLn;
  WriteLn(Seconds.toString);
  readln;


end.

Ergebnisse (getitelt aus 3 Durchläufen):

  • Ubuntu (direkt bzw als VM mit 4 CPUs/4 GByte RAM)
    17,43 / 17,22 / 17,10 Sekunden = 17,25 Sekunden
  • Bash on Windows (auf dem gleichen Rechner in einer separatem VM mit 4 CPUs/4 GByte RAM)
    17,65 / 17,45 / 17,43 Sekunden = 17,51 Sekunden

Also praktisch kein "Leistungsverlust".

Zusätzliche Test mit dem "Sieb des Eratosthenes", ein String-Replacement (wichtig für REST/JSON) und weiterer Arithmetik haben absolut vergleichbare Zahlen geliefert :-)

Good job, Microsoft!

NB: Der PAServer (auf Ubuntu) hatte keinen messbaren Einfluss auf der Ergebnis 


Viewing all articles
Browse latest Browse all 167

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>