diff options
| author | eunhhu <[email protected]> | 2026-10-19 08:05:53 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-10-19 08:05:53 +0100 |
| commit | 1efe1c74f075ffac72fb0e39f0c7aa8e381d4916 (patch) | |
| tree | ef2d76913cad73c50e4fd226999644e0e2a0c4fe | |
| parent | 30eed7886769d838a5d51b70c764c532ca023b1c (diff) | |
| download | aup-1efe1c74f075ffac72fb0e39f0c7aa8e381d4916.tar.gz aup-1efe1c74f075ffac72fb0e39f0c7aa8e381d4916.zip | |
002: a list value of numbers, bools and i64s is copied whole by Pure now (600 items about 1 us); records with texts or lists still item by itemHEADmaster
| -rw-r--r-- | docs/design/002-dsl-direction.md | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/docs/design/002-dsl-direction.md b/docs/design/002-dsl-direction.md index 8c85082..bf506c6 100644 --- a/docs/design/002-dsl-direction.md +++ b/docs/design/002-dsl-direction.md @@ -913,7 +913,8 @@ on give { changes go to a let's list". - **저장되는 리스트는 값이 아니다.** 상태의 리스트를 fn에 넘기면 지금처럼 거절한다(Pure의 LIST_VALUE는 이벤트의 리스트만 받는다). - **비용.** let의 리스트를 넘길 때마다 그 항목을 복사한다. 자주 부르는 fn에는 한 번 값으로 만든 것(`let t = table(xs)`)을 넘긴다. - 복사 없이 나누는 길은 Pure의 일로 남는다. + 칸이 수, bool, i64뿐인 리스트는 Pure가 배열째 복사한다(2026-10-19부터, 600항목에 약 1 µs). 텍스트나 리스트를 담은 레코드는 + 항목마다 복사한다. 복사 없이 나누는 길(빌려주고 떼기)은 Pure 140의 결정점으로 남는다. - 검증: `bare_lists`가 무작위 리스트 200개를 행으로 받아 리스트를 받는 fn, 두 리스트를 돌려주는 fn, 수의 리스트를 돌려주는 fn을 지나게 하고 파이썬과 견준다. 진단 둘(리스트 값을 바꾸기, 저장되는 리스트를 넘기기). 그 전에 컴파일되던 aup 소스 60개의 모듈은 바이트까지 같다. |
