Coding/Python 삽질기2013. 12. 15. 04:02

Cython 설치 ( Mac )

  1. python download ( http://www.cython.org )
  2. sudo python setup.py install
Cython 실습

factorial_100000.pyx ]

def Factorial(int N):
    cdef int checkSize = 5000
    cdef int fi
    cdef int endN
    endN = N / checkSize
    facResult = 1
    for fi in range(1, endN + 1):
        facResult = facResult * reduce(lambda x, y : x * y, range((fi-1)*checkSize+1,fi * checkSize+1))
   
    if ( (endN * checkSize + 1) != (N+1) ):   
        facResult = facResult * reduce(lambda x, y : x * y, range(endN * checkSize + 1, N+1))  
    return facResult


[ setup.py ]

from distutils.core import setup

from Cython.Build import cythonize

setup(
  name = 'Factorial app',
  ext_modules = cythonize("factorial_100000.pyx"),


[ Build ]
python setup.py build_ext —inplace

# 이러면 SO 파일이 생김

[ Sandbox.py ]

import time

from factorial_100000 import Factorial

startTime = time.time()
factorialN = Factorial(10000)

print "runtime is %s"%(time.time() - startTime) 


[ 실행결과 ]



'Coding > Python 삽질기' 카테고리의 다른 글

[Notepad++] Python 실행하기  (0) 2016.08.28
Cython 설치  (4) 2013.12.15
100000! ( 100000 팩토리얼 ) & 1000000! ( 1000000 팩토리얼 )  (0) 2013.06.22
fibonacci 수열  (0) 2013.06.20
Posted by chobocho

댓글을 달아 주세요

  1. boo

    Cython정보 감사합니다.
    cython을 설치를 하고 싶은데요. 기본 pyhon은 설치가 안되는 상태구요. maya라는 프로그램에 python이 내장되어있는 상태입니다.
    여기서 cython을 설치하고 싶은데요.
    처음설치해 보는 것이라서 어디서 부터 해야하는지 모르겠는데.
    시작을 어떻게 해야할까요?

    2016.04.23 09:14 [ ADDR : EDIT/ DEL : REPLY ]
    • 안녕하세요. 저도 Maya에서 Cython 설치를 해본적이 없어서, 도움을 드리기가 어렵습니다.

      2016.04.28 03:51 신고 [ ADDR : EDIT/ DEL ]
  2. boo

    답글 해주셔서 감사합니다.

    2016.04.30 12:10 [ ADDR : EDIT/ DEL : REPLY ]
  3. 흐음

    setup 파일로 빌드하려고하니 다음과 같은 에러가 나네요 "factorial_100000.pyx:8:32: undeclared name not builtin: reduce" 다른분은 잘 되시던가요..?

    2022.05.31 10:44 [ ADDR : EDIT/ DEL : REPLY ]