- TI nspire
[TI-nspire] CX (I) 프로그래밍, 속도 비교 (MicroPython vs (Nspire-)LUA vs Nspire-BASIC)
https://tiplanet.org/forum/viewtopic.php?f=43&t=15309&lang=en
링크 결과에 의하면
피보나치 재귀함수의 경우
(빠름) Lua TINCS >>> Lua emu = MicroPython calc "JIT" > Basic TINCS >> Basic
Nspire 내장 LUA 프로그램이 시스템(OS)에 최적화되었다고 볼 수 있겠습니다.
DATA에 표시되는 비교 대상이 여러가지로 표시되는데,
- MicroPython emu
- MicroPython calc "JIT"
- Lua emu
- Lua calc
- Lua TINCS
- Basic
- Basic TINCS
TINCS 가 붙은 것이 실물 계산기인 TI-nspire 내장 언어인 것은 확실해 보이구요.
나머지는 어떻게 실행했다는 것인지 불분명합니다.
같은 기기 안에서 실행해야 속도-시간 비교에 의미가 있을법 한데...
emu 가 붙은 것은 TI-nspire 의 PC용 Emu 에서 돌렸다는 것 같기도 합니다.
종합 결론은 이렇게 내리고 있네요.
- BASIC : 실행 속도가 많이 뒤쳐진다.
- Lua / Python : 상당히 비슷한 수준이며 "JIT"와 유사한 모드(?)가 활성화되면 Python이 우세에 있다.
여튼
CX II 에 내장된 microPython 을 사용한 것이 아니고, Ndless 에서 돌린 것입니다.
작동 기기는 CX 입니다.
CX II 에서는 성능차이가 어떻게 바뀌었는지 확인이 필요합니다.
세상의모든계산기 님의 최근 댓글
다항식 나눗셈 (가장 정석적인 방법) (피제수, 나뉠 식) r1*r3 를 (제수, 나누는 식) r1+r3 로 직접 나누며, 여기서 r1을 변수로 취급합니다. 1. 몫 구하기: r1*r3 (나뉠 식)의 최고차항을 r1+r3 (나누는 식)의 최고차항 r1로 나눕니다. (r1*r3) / r1 = r3 <-- 이것이 몫(Quotient)이 됩니다. 2. 나머지 구하기: (원래 분자) - (몫 × 분모) 를 계산합니다. (r1*r3) - (r3 × (r1+r3)) = r1*r3 - (r1*r3 + r3^2) = -r3^2 <-- 이것이 나머지(Remainder)가 됩니다. 3. 결과 조합: 최종 결과는 `몫 + (나머지 / 나누는 식)` 형태로 씁니다. r3 + (-r3^2 / (r1+r3)) \[ \begin{array}{l} \phantom{r_1+r_3 \overline{) r_1 r_3}} r_3 \\ r_1+r_3 \overline{) \begin{array}[t]{@{}r@{}} r_1 r_3 \phantom{+r_3^2} \\ - (r_1 r_3 + r_3^2) \\ \hline -r_3^2 \\ \end{array}} \end{array} \] 2025 10.14 부분적 과정으로 분자(변수의 곱)를 다른 변수로 치환할 수 있다면 (r1*r3=a, r2*r4=b) 다항식에서도 강제 나눗셈 과정을 막을 수 있겠습니다만, 원래의 식에 적용시킬 수는 없어 의미가 없겠습니다. 2025 10.14 (r1*r3) / (r1+r3) 에서 원래라면 분자(r1*r3)에서 하나의 변수를 선택하여 그것을 기준으로 분모를 나누고 몫과 나머지로 분리하여 표현하는 것이 기본 원칙입니다만, 결과가 단항인 분수식일 경우 분자가 두 변수의 곱으로 표현되더라도 그것이 더 간단한 표현인 것으로 보고 그대로 두는 듯 합니다. 하지만 마지막 예시에서 보이는 것처럼 +1만 붙는 간단한 형식일지라도 다항식이 되는 순간 원래의 기본 원칙대로 대수의 나눗셈(r1*r3를 (r1+r3)로 나눔)이 강제 진행되어버리고 이를 막을 수 없는 듯 합니다. 2025 10.14 낮에 TV에서 영화 '말모이' 해주더라구요. 그래서 한번 물어 봤습니다. 2025 10.10 마지막 발언이 마지막 힌트이자 문제의 핵심이군요. 처음 들은 달이 8월이었다면 (15일인지 17일인지 확신할 수 없어서) 마지막 대사를 할 수 없지만, 처음 들은 달이 7월이었다면 (선택지가 16일 하나라서 확신이 가능하므로) 마지막 대사를 할 수 있다. 대사를 했으니 7월이다. 이제 이해되었습니다. 지금 보니까 이해가 되는데, 당시에는 왜 이해가 안됐을까요? 세가지 전제 하에 문제를 풀면 A는 마지막 대화 2줄만으로 C의 생일을 알 수 없어야 정상인데, 무슨 이유에서인지 "그럼 나도 앎!"이라고 선언해 버립니다. 알게 된 이유를 대화 속에서 찾을 수는 없습니다. 이 편견에 사로잡혀 빠져나오지 못하고 다른 길로 계속 샜나봅니다. 2025 10.09