The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Firefox 18 перейдёт на IonMonkey, JIT-компилятор нового поко..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Firefox 18 перейдёт на IonMonkey, JIT-компилятор нового поко..." +/
Сообщение от Аноним (-), 16-Сен-12, 17:14 
Поторопился, разобрался, с объектами таки не все так плохо:

class c {
public:
  int64_t x;
  c(int64_t v);
};

c::c(int64_t v) {
  x = v;
}

c *p[10000001];
int64_t i, j;
j = 0;
for (i = 0; i < 100000000; i++) {
  p[j] = new c(j);
  p[j]->x++;

  j++;
  if (j > 10000000) j = 0;

  if (i > 10000000) delete p[j];
}

11 сек 200Мб
--------------------------------------------------
o = [];
var j = 0;
for (var i = 0; i < 100000000; i++) {
  o[j] = {
    x: j
  }  
  o[j].x++;
  
  j++;
  if (j > 10000000) j = 0;

  if (i > 10000000) o[j] = null;
}

19 сек 700Мб (в процессе периодически колбасится от 400 до 900, - работает GC)

Данный вариант (без методов) наиболее употребим в JS т.к. в нем нет структур и они реализуются объектами, но без ложки дегтя всетаки не обошлось, если к JS объектам добавлять методы (функции) то они начинают существенно проигрывать, причем тем больше чем больше функций, при добавлении 1 - в 4 раза, 3 - в 7 раз и т.д. Это конечно печально, но и сравнивать тут в прямую нельзя, в плюсах методы статические, в JS же - динамические, их код может формироваться в ходе исполнения, как говорится 2 большие разницы.

Так что остаюсь при своем мнении что в общем JS проигрывает совсем не много (при соответствующем применении) но засады есть, где ж их нет, их надо знать, также надо не забывать что типизация в JS находится в зачаточном состоянии - может вылезти некоторый перерасход памяти. Производительность в большинстве тестов +/-1.5 раза, расход памяти от аналогичного до 3-5 раз больше, по моему все это весьма не плохо, тем более для динамического языка)

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Firefox 18 перейдёт на IonMonkey, JIT-компилятор нового поко..., opennews, 12-Сен-12, 14:30  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру