The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"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 раз больше, по моему все это весьма не плохо, тем более для динамического языка)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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