[질문] perl로 스크립트를 만드는 중인데요.
글쓴이: sam / 작성시간: 일, 2003/07/20 - 3:38오후
다름이 아니라
아래 부분에서요.
while( tell(LDIC) < $l_offset_e) { read(LDIC, $buf, 8); ($offset, $len) = unpack("i l", $buf); read(LDIC, $word, $len); $wlist{$word} = $offset; }
이 부분이 10만번 정도 루프를 도는데요...
좀더 시간을 단축시킬 방법이 없을까해서 고민중입니다.
아니면 이부분에서 어느부분이 가장 시간을 많이 잡아먹는지
알고싶습니다. ' ' )a
Forums:
DISK I/O 특성을 고려할때, 한번에 많은 데이타를 읽어서 I/O 요
DISK I/O 특성을 고려할때, 한번에 많은 데이타를 읽어서 I/O 요청 회수를 줄이는게 중요합니다. (물론 메모리의 여유가 있어야 겠죠.)
따라서, 버퍼를 크게 잡아서 한번에 많이 읽도록 하세요.
read() 대신 sysread()같은걸 사용해 보시지요.perl
read() 대신 sysread()같은걸 사용해 보시지요.
perldoc -f sysread
--
익스펙토 페트로눔
[quote]read() 대신 sysread()같은걸 사용해 보시지요.
sysread 는 system 호출인 read(2) 를 바로 호출하는 함수인데,
이게 어떻게 성능 향상에 도움이 되죠.
오히려 버퍼를 이용한 read 함수가 더 빠르지 않나요?
LDIC을 DB에 넣어야 할 듯 싶은데요? 아무리 빨라도 10만번의 I/
LDIC을 DB에 넣어야 할 듯 싶은데요? 아무리 빨라도 10만번의 I/O라면...
댓글 달기