Iron Python의 첫 느낌

아아 한동안은 Iron Python 릴리스 특집을 계속 쓸 것 같은.. 흐흐 :)

Iron Python을 이제 받아서 대충 한번 둘러 봤습니다. 프로젝트 자체는 Visual Studio .NET 기반의 프로젝트 파일로 되어있고, mono에서 컴파일이 가능한 프로젝트 파일은 따로 없는 듯 합니다. 그렇지만 다행히도 컴파일된 바이너리가 들어있어서 빌드 걱정 없이 그냥 실행해 볼 수 있었습니다.

트레이스 백 모양이 파이썬 트레이스백이 아니라 자바 형식이라 좀 어색하군요 흐흐; 그리고 sys.platform이 웬 ‘java-clr’ –;; 아직 os모듈은 없고, 현재 Iron Python에 들어있는 모듈은 __builtins__, imp, math, nt, re, struct, sys, time이 있습니다. 뭔가 벤치마크를 위해 time을 빼놓지는 않았다는 느낌이.. :

CPython보다 빠르다는 속도를 한번 시험해 봤습니다. 테스트 코드는 뭐 아주 간단한 파이썬 취약성 루틴의 대표적인.. while안에서 덧셈하기.. 흐흐;;

결과는

Iron Python 0.6

CPython 2.3

CPython 2.4

0.972

0.625

0.595

아아. 아쉽게도(?) CPython이 간단한 루틴에서는 더 빠르군요. ;; (기분이 묘하다..)

그리고, .NET 클래스 라이브러리 쓰는 것도 어느정도 잘 되는 듯 합니다.

괜히 제가 만든 mono cp949 코덱 시험도 한번 –;

System.Text.Decoder.GetChars의 마지막 2 인자를 어레이랑 어레이 인덱스로 줘야하는데, 어레이를 파이썬에서 어떻게 주는지 알 수가 없어서 일단은 –;;;;;

25 thoughts on “Iron Python의 첫 느낌”

  1. >>> import System
    >>> System.Text.Encoding.GetEncoding(949).GetBytes(‘aaa’.ToCharArray(), 0, 3)

    ** ERROR **: file object.c: line 1595 (mono_runtime_invoke_array): assertion failed: (((gpointer*)params->vector) [i])
    aborting…
    ??? (core dumped)

  2. 안녕하세여 ^^ 모노 인코딩의 문제는 제가 보니까 컨버트 하는데 문제가 있는거 같아요 물론 입력에도 문제가 있기는 하지만요~ cp949 형식의 문자열 스트링을 utf8로 변경할때 바이트 배열을 뽑아야 되는데 이때 이게 정상적으로 작동을 하지 못합니다. 일단 제가 acsii인코더로 바이트 배열을 만든후에 컨버터를 이용해서 utf8로 변경을 한경우에 성공적으로 동작하는걸 확인 했습니다. 결과적으로 GetBytes함수에 문제가 있는거 같네여 ^^;; 그럼..즐~ 모노 하세요~

  3. 음, 그런데 제가 듣기론 아이언 파이썬은 어셈으로 만들었다고 들었던 것 같은데 .NET 기반이었나요?

  4. 최종 심사인가요? 학교마다 시스템이 다른것 같긴 하던데… 잘 버티시길 바랍니다. ^^ (아, 이것도 학교 마다 분위기가 다르겠군요.)

  5. 오늘 하루 모든 복 다 퍼키님꺼!!(생각해보니, 퍼옹의 역사적인 논문심사를 하게 된 교수님들이 행운!!!+_+;)

Comments are closed.