The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Критика включения API Idle Detection в Chrome 94. Эксперименты с Rust в Chrome, opennews (??), 23-Сен-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


80. "Критика включения API Idle Detection в Chrome 94. Эксперимен..."  +1 +/
Сообщение от arzeth (ok), 24-Сен-21, 11:00 
> Айку был лень детально продумать архитектуру языка (на самом деле он даже и не собирался, так как джаваскрипт рассматривался как чисто ситуативное и временное решение).

Не правда, не лень было. Ему дали 10 дней, и он их все мало спя делал язык с интерпретатором. Если бы не успел за 10 дней сделать их, то JS не успел попал бы попасть в Netscape 2.0 Beta. И тогда бы Java, возможно, была вместо JS; но Java вряд ли бы взлетела, т.к. компилить вручную надо и т.п, и поэтому бы убрали её затем. И без JS Netscape наверно бы MSIE'у проиграл, из-за чего была бы стагнация ещё до IE6, и интернет на 3—5 лет позже бы взлетел.
https://www.quora.com/How-can-JavaScript-be-made-in-10-days-...

> джаваскрипт, который сжег (в буквальном смысле) гигаватты энергии впустую

JS — наибыстрый скриптовый язык. Если Web Workers (это многопоточность) использовать, то в 1—50 раз (в среднем 30) быстрее Питона (тоже с многопоточностью), развивающегося с 1991 (против 1995) и терявшего обратную совместимость 2 раза (против 0).
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
Если кто сжег гигаватты, то это ученые с Питоном.

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

98. "Критика включения API Idle Detection в Chrome 94. Эксперимен..."  +1 +/
Сообщение от n00by (ok), 24-Сен-21, 15:01 
> JS — наибыстрый скриптовый язык. Если Web Workers (это многопоточность) использовать,
> то в 1—50 раз (в среднем 30) быстрее Питона (тоже с
> многопоточностью), развивающегося с 1991 (против 1995) и терявшего обратную совместимость
> 2 раза (против 0).
> https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
> Если кто сжег гигаватты, то это ученые с Питоном.

Решил проверить. Раз речь пошла об учёных, наверное, они что-то вычисляют. Я не умею программировать на js, взял пример вычисления чисел Фибоначчи отсюда https://learn.javascript.ru/task/fibonacci-numbers
и немного его адаптировал:


$ cat fibonacci.js
#!/usr/bin/node

function fib(n) {
  let a = 1;
  let b = 1;
  for (let i = 3; i <= n; i++) {
    let c = a + b;
    a = b;
    b = c;
  }
  return b;
}

console.log(fib(77));

$ time ./fibonacci.js
5527939700884757

real    0m0,069s
user    0m0,041s
sys    0m0,030s

В качестве соперника выбрал древний язык, не предназначенный для вычислений:


$ cat Фибоначчи.реф
#!/bin/refal

начало ! (.n) = <Fn <Numb .n>>;

Fn {
  ? = <Fn ? 0 1>;
  0 ?n-2 ?n-1 = ?n-2;
  ? ?n-2 ?n-1 = <Fn <? - 1> ?n-1 <?n-2 + ?n-1>>;
}

$ time ./Фибоначчи.реф 77
Поле зрения:
5527939700884757

real    0m0,002s
user    0m0,001s
sys    0m0,000s


Наверное, я делаю что-то не так?
Ответить | Правка | Наверх | Cообщить модератору

121. "Критика включения API Idle Detection в Chrome 94. Эксперимен..."  +2 +/
Сообщение от Урри (ok), 24-Сен-21, 18:52 
> Наверное, я делаю что-то не так?

Не запускаете прямо в браузере, где этот код основательно пережуется JITом, после чего действительно станет очень быстрым. Ну и заодно замеряете время старта ноды, которая является огромным мамонтом и с большим скрипом инициализируется.

P.S. Если кому интересно - фибоначчи на двухстах девяносто восьми языках программирования.
https://rosettacode.org/wiki/Fibonacci_sequence

P.P.S. Хы, фибоначчи на лиспе в 7 (семь) раз быстрее.

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

132. "Критика включения API Idle Detection в Chrome 94. Эксперимен..."  +/
Сообщение от n00by (ok), 25-Сен-21, 07:56 
>> Наверное, я делаю что-то не так?
> Не запускаете прямо в браузере, где этот код основательно пережуется JITом, после
> чего действительно станет очень быстрым.

Так там речь шла об учёных, они же не в браузере считают. Да и тут всего 77 итераций. А если ещё и модель W^X защиты страницы, то минимум один вызов ядра для смены атрибутов.

$ time node --always-opt ./fibonacci.js
5527939700884757

real    0m0,703s
user    0m0,636s
sys    0m0,069s

Если я правильно понимаю, это форсировало JIT и затормозило в 10 раз.

> Ну и заодно замеряете время старта
> ноды, которая является огромным мамонтом и с большим скрипом инициализируется.

Ну ладно. Уговорили! :)

$ time wine ./fibonacci.js

real    0m0,476s
user    0m0,063s
sys    0m0,122s

5527939700884757

> P.S. Если кому интересно - фибоначчи на двухстах девяносто восьми языках программирования.
> https://rosettacode.org/wiki/Fibonacci_sequence

Спасибо. Вот этот вариант на CL фактически аналог моего выше, только скобочки круглые и имена переменных однобуквенные (ну и нет разбора аргументов командной строки).


(defun fibonacci-tail-recursive ( n &optional (a 0) (b 1))
  (if (= n 0)
      a
      (fibonacci-tail-recursive (- n 1) b (+ a b))))

> P.P.S. Хы, фибоначчи на лиспе в 7 (семь) раз быстрее.

Какой именно и по сравнению с чем?

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

108. "Критика включения API Idle Detection в Chrome 94. Эксперимен..."  +1 +/
Сообщение от Урри (ok), 24-Сен-21, 16:37 
>> джаваскрипт, который сжег (в буквальном смысле) гигаватты энергии впустую
> JS — наибыстрый скриптовый язык.

И что, это мешает ему съедать впустую вот прямо сейчас... сек гляну... 3% моего 2.5GHz ноутбучного процессора? Это при том, что у меня юблок, юматрикс и опеннет с интеловскими доками только открыты.

И то, что питон хуже в десятки раз этого факта не меняет. Ученых с питонов - десятки. Хомячков с джаваскриптом - миллиард.

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

141. "Критика включения API Idle Detection в Chrome 94. Эксперимен..."  –1 +/
Сообщение от Аноним (141), 25-Сен-21, 12:37 
> И что, это мешает ему съедать впустую вот прямо сейчас... сек гляну... 3% моего 2.5GHz ноутбучного процессора?

Как ты определил, что это именно js, а не dom или ещё какие-то потроха браузера?

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

150. "Критика включения API Idle Detection в Chrome 94. Эксперимен..."  +/
Сообщение от Урри (ok), 26-Сен-21, 22:39 
В интернете почитал.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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