tag: go

Go 성능 최적화 팁

created: 2023-06-04 | updated: 2023-06-10
#go

Go 성능 최적화 팁

박재완


Airbridge 와 Luft

  • Airbridge
    • 합리적인 비용의 올인원 모바일 마케팅 솔루션
  • Luft
    • Airbridge 에서 유저행동 분석을 위해 사용하는 OLAP 데이터베이스
    • Ziegel 을 스토리지 엔진으로 사용
    • Go 로 작성

C++ to Go

created: 2022-12-04 | updated: 2022-12-10
C++ to Go Introducing Ziegel 박재완 Luft Ziegel and TrailDB Luft OLAP database for analize the analyzing user behavior in real-time Use TrailDB as a storage Written in C/C++ and Go TrailDB TrailDB is an efficient tool for storing and querying series of events Written in C Ziegel New storage engine for the Luft Written in Go Why?

Go good reads

created: 2022-09-18 | updated: 2024-02-08
#go
Index Performance Generics Others Performance Go 1.22 inlining overhaul pprof documentation A Deep Look Into Golang Profile-Guided Optimization (PGO) Profiling and Execution Tracing in Go What I learned pprof can diff with go tool pprof -http=:8080 -diff_base <file2> <file1> How to Write Accurate Benchmarks in Go Not resetting or pausing the timer Making wrong assumptions about micro-benchmarks Not being careful about compiler optimizations Being fooled by the observer effect Obscure Go Optimisations - Bryan Boreham Take-aways Slice-to-interface cast will allocate.

CockroachDB

created: 2020-04-26 | updated: 2020-09-20
페블(Pebble): RocksDB에서 영감을 받은 키밸류 저장소 (Guide) Jordan Lewis's LARGE DATA BANK livestream: Bugfix and Chill(버그를 수정하자!) (Guide) Jordan Lewis's LARGE DATA BANK livestream: CockroachDB is learning the secret technique LISTEN/NOTIFY 피터 매티스와의 인터뷰 - Software Engineering Daily 스프린트서울 참가자분들을 위한 카크로치디비(CockroachDB) 카크로치디비의 컬럼 패밀리

Go의 철학

created: 2020-04-05 | updated: 2022-09-18
#go
Dave Cheney의 The Zen of Go를 번역했습니다. 좀 더 알고 싶으신 분은 발표 영상과 블로그 글을 함께 참고해 주십시오. Go의 철학 쉽고, 읽기 좋으며, 유지가능한 Go 코드 작성을 위한 10가지 엔지니어링 가치. 고퍼콘 이스라엘 2020에 발표하였음. 패키지는 하나의 목적만을 달성합니다 잘 디자인된 Go 패키지는 단 하나의 아이디어와 관련 동작을 제공합니다. 좋은 Go 패키지를 위해 좋은 이름을 먼저 정해야 합니다. 엘리베이터 피치라고 생각하며 패키지 이름을 정해보십시오. 에러는 명시적으로 처리합니다 단단한 프로그램은 문제가 생기기 전에 실패처리를 하는 요소들로 이루어져 있습니다.

xvfb를 이용한 Go headless 테스트

created: 2020-04-02 | updated: 2022-09-18
#go
Go에서 GLFW 등을 이용해 그래픽스 관련 작업을 할 때에도 자동화 테스트 구성이 가능합니다. 하지만 GitHub Actions과 같이 디스플레이가 없는 환경에서는 의존성을 가지고 있다는 이유만으로 그래픽스 관련 테스트가 실패합니다. xvfb는 메뉴얼에서 virtual framebuffer X server for X Version 라고 소개되고 있으며, 서버 사이드 테스트를 위해 주로 사용됩니다. Ubuntu 기준으로 sudo apt install xvfb로 설치하고 xvfb-run에 이어서 테스트 명령어를 추가하여 테스트할 수 있습니다. 실제 GitHub Actions에 적용한 예시를 공유드립니다.

Go

created: 2020-03-29 | updated: 2022-09-18
#go
xvfb를 이용한 Go headless 테스트 Go의 철학 Go module에서 GitHub private repository 사용 좋은 읽을거리

Go module에서 GitHub private 저장소 사용

created: 2020-03-29 | updated: 2022-09-18
#go
Go module에서 GitHub private 저장소를 사용하는 방법입니다. git 설정에서 GitHub 접근을 계정과 토큰을 사용하게 변경 git config --global url."https://${GITHUB_USER}:${{GITHUB_TOKEN}}@github.com".insteadOf "https://github.com" GOPRIVATE 환경변수에 private 저장소 등록 GOPRIVATE="github.com/hueypark/asset"

sql: COMMENT ON INDEX 지원(CockroachDB issue #41316)

created: 2019-10-20 | updated: 2020-02-23

이슈: sql: add support for COMMENT ON INDEX #41316

sql: COMMENT ON INDEX 지원 작업을 했습니다. 이번에는 이슈 등록자가 저에게 먼저 연락을 하는 새로운 경험을 했습니다.

삭제될 WAL, MANIFEST, sstable을 보관하는 기능 제공 (Pebble issue #284)

created: 2019-10-13 | updated: 2020-02-23

개요

이슈: https://github.com/cockroachdb/pebble/issues/284

이번에는 Pebble에서 아무에게도 할당되지 않은 이슈를 선택해 수정했습니다.

초보다 정밀한 단위에 대한 `EXTRACT` 명령이 postgres와 다르게 동작함(CockroachDB issue #40683)

created: 2019-10-13 | updated: 2020-02-23

개요

이번에는 간단하게 해결할 수 있는 이슈를 수정했습니다. 이 정도의 이슈는 처음 스프린트에 참여하는 분도 해결할 수 있을 것으로 기대합니다.

db: SingleDelete 구현(Pebble issue #222)

created: 2019-08-19 | updated: 2020-02-23

개요

Pebble은 LevelDB/RocksDB에서 영감을 받은 카크로치디비용 키-밸류 저장소입니다. 현재(2019년 8월)는 개발 진행중인 상태이며, 2020년 카크로치디비 적용을 계획하고 있습니다.

(번역) Go 스케줄링 파트 3

created: 2018-12-08 | updated: 2020-02-23

원문: https://www.ardanlabs.com/blog/2018/12/scheduling-in-go-part3.html


프렐류드

Go 스케줄러의 구조와 의미 이해를 제공하는 3부작의 세 번째 글입니다. 이 글은 동시성에 중점을 둡니다.

(번역) 카크로치디비(CockroachDB) 블로그 / cgo의 비용과 복잡성

created: 2018-10-26 | updated: 2020-02-23

(번역) 카크로치디비(CockroachDB) 블로그 / Go에서 가비지 컬렉션을 최적화하는 방법

created: 2018-10-23 | updated: 2020-02-23

(번역) 카크로치디비(CockroachDB) 블로그 / 왜 Go가 CockroachDB에 올바른 선택인가

created: 2018-10-21 | updated: 2020-02-23

(번역) Go 작업훔치기 스케줄러

created: 2018-10-13 | updated: 2020-02-23

(번역) Go 스케줄링 파트 2

created: 2018-10-03 | updated: 2020-02-23

원문: https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part2.html


프렐류드

Go 스케줄러의 구조와 의미 이해를 제공하는 3부작의 세 번째 글입니다. 이 글은 Go 스케줄러에 중점을 둡니다.

(번역) Go 스케줄링 파트 1

created: 2018-10-02 | updated: 2020-02-23

원문: https://www.ardanlabs.com/blog/2018/08/scheduling-in-go-part1.html


프렐류드

Go 스케줄러의 구조와 의미 이해를 제공하는 3부작의 세 번째 글입니다. 이 글은 OS 스케줄러에 중점을 둡니다.

Visual Studio Code debug speed up on Windows

created: 2018-05-14 | updated: 2020-02-23

On Visual Studio Code, Go debugging is very slow because that always rebuild everything.

If you set following settings on your .vscode folder Visual Studio Code will only build when changed.