Как я могу оценить производительность дартс? - PullRequest
7 голосов
/ 10 октября 2011

Google запускает новый язык, обещая его лучшую производительность, но как я могу оценить производительность в исходном коде Dart?

Давайте возьмем в качестве примера " sun flower "Метод drawFrame:

  // Draw the complete figure for the current number of seeds.
  void drawFrame() {
    ctx.clearRect(0, 0, MAX_D, MAX_D);
    for (var i=0; i<seeds; i++) {
      var theta = i * PI2 / PHI;
      var r = Math.sqrt(i) * SCALE_FACTOR;
      var x = xc + r * Math.cos(theta);
      var y = yc - r * Math.sin(theta);
      drawSeed(x,y);
    }
  }

Если у нас много seeds, можем ли мы добавить оператор для оценки прошедшего времени в пределах for?

Ответы [ 3 ]

6 голосов
/ 11 октября 2011

Google обещает лучшую производительность позже , когда в браузере есть встроенный дротик.

На данный момент Dart компилируется непосредственно в JavaScript и больше и медленнее, чем при написании чистого JavaScript.

Функция, которая у вас есть, на самом деле идентична в чистом javascript, поэтому время выполнения должно быть почти одинаковым между скомпилированным dart и прямой версией javascript.

Вы можете сравнить скомпилированный с JS Dartпротив JS на jsperf.com, если вы действительно этого хотели.

4 голосов
/ 11 декабря 2012

Поздний ответ, но только вчера они объявили о странице производительности / тестирования , которая позволяет вам отслеживать производительность в течение времени v8, dart -> js и dart vm.

Существует статья Benchmarking Dart VM , в которой рассказывается, как правильно тестировать Dart VM.

4 голосов
/ 11 октября 2011

На слайдах GOTO Keynote есть номера исполнения. Похоже, что в настоящий момент Dart примерно в 2 раза медленнее , чем V8. Но это должно улучшиться со временем, согласно команде Дартс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...