objcperf
Scope note: objcperf is Objective-C (MRC/ARC;
NSStringconcat andNSLogin loops). Distinct from sibling swiftperf. On Linux the checker is a C line-window scanner over.m/.h(clang builds the tool); full Apple runtime not required for lint.
Objective-C performance notes, small examples, and objcperf-lint.
Part of XPerf. Shared docs: docs/README.md. Corpus-ready for the 2026-10-22 rule set. oc-nsstring-append-hot / oc-nslog-hot off (measured, not escalated). Date-formatter, JSON, and regular-expression hints are pending measure and are not part of that verdict. Two rules removed (tombstone, never got a slug). Guide v0.
Contents
- English guide (v0) — from
docs/guide-src/ objcperf-lint— two measured rules off; three hint rules pending measure; two rules removed (tombstone, never got a slug)- Corpus pins
Focus
Pre-size NSMutableArray, avoid stringByAppendingString in loops (prefer NSMutableString), keep NSLog out of hot loops.
Run lint
cd packages/objcperf/objcperf-lint && make
./objcperf-lint path/to/sources
bash ../scripts/smoke-lint.sh
bash ../scripts/self-lint.shExit 1 only for error-severity findings (hints exit 0 unless --strict-hints).
Layout
docs/guide-src/ chapter sources
docs/ assembled guide + corpus.md + evidence-policy.md
evidence/ two measured rules (both off); three pending hint notes; OC001/OC004 tombstones
examples/ tiny demos
objcperf-lint/ checker + fixtures
scripts/ smoke-lint.sh, self-lint.sh