optimization
-
Go: Fiber 서버 최적화 하기 (optimization)컴퓨터/Go language 2024. 9. 12. 21:39
Go언어 웹 프레임워크 fiber v2를 사용하면서 얻은 팁들을 정리한 글이다. GitHub - gofiber/fiber: ⚡️ Express inspired web framework written in Go⚡️ Express inspired web framework written in Go. Contribute to gofiber/fiber development by creating an account on GitHub.github.com 1. zero memory alloc []byte stringbyte 배열과 문자열 (json marshal/unmarshal 시 많은 사용)을 아래처럼 하면 allocation을 새롭게 하게 된다.string(byteArr) // var byteArr []byte..
-
Go/Java: 금칙어 검사 함수들 벤치마크 및 향상컴퓨터/Go language 2024. 5. 2. 00:28
금지어 리스트를 .txt 에 저장하고 서버 메모리에 로딩했다. (10kb)금지어를 가장 빠르게 체크하는 방법은 무엇일까 궁금해서 벤치마크를 돌려보았다.기준: 10KB input string + 500개 금지어 리스트 1. 정규 표현식 사용성능: 14,260K ns/op메모리 사용: 4321B/op할당 횟수: 24 allocs/op아래처럼 첫 로딩에 regex로 패턴을 모두 컴파일하고, 인풋 string을 확인했다.생각보다 대용량일 수록 굉장히 느리다.func CompileBadWordsPattern() error { var pattern strings.Builder pattern.WriteString(`(`) for i, word := range badWordsList { if word == "" { ..