2010-07-28 5 views
0

AWK는 많은 처리 능력을 사용합니까? 그렇다면 더 나은 스크립팅 언어가 있습니까? 또는 C 자체 (나머지 코드는 어디에서)에서해야합니까?AWK 스크립트가 많은 CPU를 차지합니까?

+0

C로 무엇을하고 있으며, 쉘이나 다른 프로그래밍 언어로 할 수없는 것은 무엇입니까? – ghostdog74

+0

오, 그 거대한 시스템이 C로 쓰여졌 고 그것을 변경하는 것은 옵션이 아닙니다. – hari

+0

오케이. 나는 그것을 부분적으로 알아 냈다. awk 스크립트는 'date'를 호출합니다. 어떤 반응이 오래 걸립니다. 도움을 주신 모든 분들께 감사드립니다. – hari

답변

2

당신이하고 싶은 말에 따라 다릅니다. 대부분의 작업은 regexp 엔진으로 전달됩니다.이 엔진은 사용하는 언어에 상관없이 유사해야합니다.

이제 C 프로그램 내부에서 awk 스크립트를 사용하고 있고 C의 기능을 구현하는 데 필요한 리소스가있는 경우이를 수행하는 것이 가장 좋습니다. 프로세스 생성/종료 + 통신 오버 헤드 (성능에 큰 영향을 미칠 수도 있고 그렇지 않을 수도 있음)를 피할 수 있습니다.

자세한 내용은 스크립트에 대해 자세히 알려주십시오.

+0

답장을 보내 주셔서 감사합니다.이 경우 : C 파일에서 -> 호출하는 쉘 스크립트 -> awk 스크립트 - 로그 파일을 계속보고 새 항목이 로그 파일에 도착하면 필터링됩니다 스크립트로 일치하는 경우 필터 세트가 XML 형식으로 인쇄됩니다. – hari

+0

로그 파일이 너무 자주 쓰여지지 않는다고 가정 할 때, 이것은 어떤 방식 으로든 상관 없습니다. awk 스크립트를 C 코드에 포함 시키려면 쉘 스크립트도 포함시켜야합니다. 그것은 분명히 더 빠를 것이지만, 거의 그렇지 않을 가능성이 높습니다. 따라서 비용 (시간)과 이익 (속도)을 비교해야합니다. – Blindy

+0

물론 하나의 프로그램에 모든 것을 포함 시키면 의존성 오류를 최소화하고 배포가 쉬워집니다. 생각할 거리. – Blindy

0

대부분의 코드가 c 인 경우 셸링 처리보다는 문자열 처리를 위해 c를 사용하는 것이 더 깔끔합니다.

PCRE directly을 프로그램에 사용할 수 있습니다.

관련 문제