Рубрики
Без рубрики

Nodejs против Python 3 производительность

Первоначально опубликовано на warrenwong.org. Пытаясь стать более питоническим в моем кодировании, у меня есть … Tagged с Python, Node, JavaScript.

Первоначально опубликовано в warrenwong.org .

Пытаясь стать более питоническим в моем кодировании, я переживал некоторые из своих проблем с игрушками Эйлера. Это в основном весело и катарсично, но я заметил что -то довольно интересное.

На Проблема 7 Проекта Euler, решение кажется довольно простым для реализации. Моя реализация для обоих довольно похожа (нет реального очевидного способа заставить ее использовать некоторые из более новых функций JavaScript или Python 3, которые я вижу). Мои предположения состояли в том, что для бега потребуется около того же количества времени.

Реализация Nodejs:

const isPrime = n => {
  for (let i = 2; i < n; i++) {
    if (n % i === 0) {
      return false;
    }
  }
  return true;
};

const getPrime = n => {
  let count = 0;
  let num = 2;
  while (n > count) {
    if (isPrime(num)) {
      count += 1;
    }
    num += 1;
  }
  return num - 1;
};

Реализация Python:

def is_prime(n):
  for i in range(2, n):
    if (n % i == 0):
      return False
  return True

def get_prime(n):
  count = 0
  num = 2
  while n > count:
    if is_prime(num):
      count += 1
    num += 1
  return num - 1

Я имею в виду, это довольно просто и прямо. Временная сложность обоих должна быть точно такой же, но я не мог поверить в разницу. Я запустил это несколько раз с Unix время полезность И я постоянно получал подзадность 2 секунды для реализации Nodejs и более 25 секунд для Python 3.

Для меня на самом деле невероятно тревожно видеть разницу, так как я думаю, что производительность будет довольно похожей. Поскольку мне было любопытно, кажется Другое Более «формальные» критерии также подтверждают это.

Ну, раскрась меня удивлен.

Оригинал: “https://dev.to/wrrnwng/nodejs-vs-python-3-performance-1ok6”