본문으로 건너뛰기
cccskills
무료GitHub에 공개

performant-code

Writing efficient code that handles large data and tight constraints

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md2.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Performant Code

How to write code that won't timeout on large inputs.

Think About Scale First

Before writing code, ask: how big is the data?

Data sizeApproach
< 1 MBLoad into memory, any approach works
1-100 MBLoad into memory, but use efficient algorithms
100 MB - 1 GBStream/mmap, avoid loading entirely into memory
> 1 GBStreaming only, chunk-based processing

I/O Optimization

Large files

  • mmap (C: mmap(), Python: mmap.mmap()) — map file into memory, OS handles paging
  • Buffered binary reads — fread() in C, open(f, 'rb').read(chunk) in Python
  • NEVER read a 500MB file line-by-line with fgets() when you need random access

Writing output

  • Buffer writes — don't call write() for every byte
  • Use fwrite() or sys.stdout.buffer.write() for binary output
  • Flush only when needed

Algorithm Complexity

  • O(n) beats O(n log n) beats O(n²) — always
  • Nested loops on large data = timeout. Restructure to single pass + hash map
  • Sorting is O(n log n) — only sort if you need to
  • Use hash maps/sets for lookup instead of linear search
  • Pre-compute what you can outside loops

Language-Specific Tips

C

  • Use mmap() for large file access
  • -O2 or -O3 for compiler optimizations
  • Avoid malloc()/free() in tight loops — pre-allocate
  • Use memcpy() instead of byte-by-byte copying
  • Integer arithmetic > floating point when possible

Python

  • Use numpy for numerical work (100x faster than pure Python loops)
  • collections.Counter, defaultdict — avoid manual counting
  • List comprehensions > explicit loops
  • struct.unpack() for binary parsing
  • subprocess.run() > os.system()
  • For heavy computation: consider writing a small C program instead

General

  • Profile before optimizing — find the actual bottleneck
  • If a program hangs, it's likely: infinite loop, deadlock, or I/O bound on huge data
  • If a program is slow, check: algorithm complexity, I/O pattern, memory allocation

Constraints Awareness

  • If the task says "< 5000 bytes" — count your bytes, use wc -c
  • If there's a time limit — test with actual data, not toy inputs
  • If there's a memory limit — don't load everything into RAM
  • Always verify constraints BEFORE declaring done

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Building, compiling, and resolving dependency issues across languages

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vstorm-co/pydantic-deepagents1.1천2026년 10월 19일 업데이트

Review Python code for quality, security, and best practices

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vstorm-co/pydantic-deepagents1.1천2026년 10월 19일 업데이트

Systematic code review for bugs, security, style, and performance

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vstorm-co/pydantic-deepagents1.1천2026년 10월 19일 업데이트

Comprehensive data analysis skill for CSV files using Python and pandas

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vstorm-co/pydantic-deepagents1.1천2026년 10월 19일 업데이트

Working with diverse data formats: binary, text, structured, and custom

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vstorm-co/pydantic-deepagents1.1천2026년 10월 19일 업데이트

Best practices for creating research diagrams with Excalidraw MCP tools

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

vstorm-co/pydantic-deepagents1.1천2026년 10월 19일 업데이트

vstorm-co의 스킬 모두 보기

이 스킬의 문제 신고