|
|
|
|
buffer 로 쓸만한 것 만들어보려고 cStringIO 를 사용해 보았다. 메모리가 일정 이상이 되면 새로 메모리를 잡으려고 cStringIO 의 truncate(0) 를 호출했다. (요건 옛날에 혜식이형도 속았댔다 -ㅇ-;)
별 문제 없이 잘 돌길래 잘 쓰고 있는데.. 다른 거랑 성능 비교할 일이 생겨서 좀 많이(10만번 정도) 호출해보았다. 헛 이럴 수가 메모리가 샌다!!! -ㅇ-;; 190 메가까지 커진 버퍼를 망연자실 바라보다 알아보니 seek(0,0) 을 해주어야 한단다.(혜식이형 땡큐;) truncate(0) 를 그냥 호출하면 그 때 파일 포인터의 위치에서 truncate 한댄다;
하아.. 배신이다; (레퍼런스에 좀 자세히 적어주지.. -_-;)
@
제목이랑은 다른 얘기지만 list 의 앞에서 pop 하면 list 를 모두 복사한단다. list 로 버퍼 구현하긴 글렀군;
@
string 이 += 에 워낙 최적화가 되어 있어서 무시무시한 성능을 보여줬다. 내가 만든 buffer 의 약 3배? buffer 왜 만들었냐.. ㅠoㅠ;
아.. 근데 같은 string 으로 계속 test 하면 interned string 이 되어(spell 맞나?;) 메모리에 cache 되기도 한단다; random 하게 string 을 만들어내서 다시 테스트 해봐야 겠다. |
|
Track this back : http://nezy.net/blog/trackback/17 |
|
|
|
|
«
2024/11
»
일 |
월 |
화 |
수 |
목 |
금 |
토 |
|
|
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
|
Total : 1508814
Today : 715
Yesterday : 80 |
|
|
|