The OpenNET Project / Index page

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



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

Исходное сообщение
"Выпуск PyPy 5.0, реализации Python, написанной на языке Pyth..."
Отправлено Нимано, 11-Мрт-16 20:31 
> но вот только объяснение этому такое:
> https://ru.wikipedia.org/wiki/PyPy

Какое? Сам скрипт не транслируется в Си, а то что JIT "как бы на Си", особо не влияет на результат, только на работу непосредственно самого джита (т.е генерирование нативного кода)
ЗЫ:

> Кроме того если в приведённый выше код на C добавить одну строку
> из openmp:
>

 
> #include <stdio.h>
> #include <math.h>

...
>


> То результаты C кардинально меняются:
> gcc test.c -fopenmp -lm
> time ./a.out
> 0.782010319461
> real 0m0.545s
> user 0m4.207s
> sys 0m0.000s

Ну, а если бабушке пришить^W^W к питонокоду добавить две строчки, переписать одну и убрать три:


from math import sin, cos                                                                
def compute(val):                                                                        
    return 0.5 * cos(0.5)/sin(0.5) - cos((val + 0.5))/(2*sin(0.5))                      
def test():                                                                              
    return compute(100000000-1)

print(test())


То результаты действительно меняются )

# time pypy test2.py
0.782010319461
pypy test2.py  0,06s user 0,04s system 99% cpu 0,102 total
# gcc49 -Ofast -lm -fopenmp test.c
# time ./a.out
0.782010319460
./a.out  35,24s user 0,00s system 391% cpu 8,993 total

> Добавим нолик к диапазону:
> Python2: отказывается исполнять такой код

xrange в помощь
https://docs.python.org/2/library/functions.html#xrange



>[оверквотинг удален]
> real 0m38.697s
> user 0m38.659s
> sys 0m0.000s
> код на C c openmp:
> gcc test.c -fopenmp -lm
> time ./a.out
> -0.124548962703
> real 0m6.378s
> user 0m48.648s
> sys 0m0.000s


Чей-то у вас компутер допотопный o_O

Тот самый код на питоне:


#  time python test2.py
-0.124548962702
python test2.py  0,02s user 0,02s system 97% cpu 0,042 total

 

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



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

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