CodePerfect — A fast, lightweight IDE for Go

Hi everybody,

I’m working on CodePerfect, an IDE for Go. It’s built like a video game: instant startup, GPU-rendered UI, near-zero latency, indexes large codebases quickly, relatively small resource footprint. It’s written in C/C++ and designed from the ground up for performance.

Currently it caters to users who code in Vim or Sublime Text, who just want a lightweight editor that gets out of the way, but still want IDE features without the hassle of writing configs and setting up plugins. CodePerfect provides the best of both worlds: the speed of Vim, with an entire batteries-included IDE out of the box. Among other things it supports:

  • Go to definition
  • Find usages
  • Autocomplete
  • Parameter hints
  • Project-wide find/replace
  • Rename identifier
  • Find implementations/interfaces
  • Generate implementation
  • Integrated debugger/build
  • AST-based navigation
  • Postfix completions
  • Vim keybindings
  • Fuzzy search for everything
  • Live project-wide search
  • Command palette (cmd+k)
  • and more

…all while running at 144 FPS with virtually no lag.

We achieve performance by:

(a) avoiding third-party code as much as possible, especially things like Electron, language servers, and other heavy dependencies;

(b) writing simple, linear-control-flow, “non-pessimized" code, without unnecessary abstractions or “patterns”; and

(c) amortizing memory allocation with arenas.

That’s basically it; there aren’t really any crazy 200 IQ optimizations or algorithms or anything like that. We do make use of appropriate data structures and things like multithreading and mmap, but the main driver of performance is just writing simple code and banking on modern computers being insanely fast.

If you want to play with it, there’s a free 7 day trial, no cc or signup needed (download link). After that, as mentioned, it’s a one-time fee for a perpetual license, and a subscription for ongoing updates. You can purchase either individually, or both.

I’d love to hear your feedback, questions, suggestions, and what you personally want/need in an IDE. We’re certain to still have bugs and missing features and any reports would be greatly appreciated. We also have a Discord.

Thank you for reading!

1 Like

That looks like a nice work and I would rly like to try it, but it really lack of linux support though. Also I would like to see the demo on video before trying to download this kind of software. Cheers!

1 Like

Hello go

This would be interesting to me if it were open source. We already have quite a few capable, fast editors that work really well with go (Vim with vim-go, Notepad++, Geany to name a few) and one that is built specifically for go (LiteIDE). I think people looking for a lightweight solution (if they’re really that worried about VSCode’s performance) will gravitate towards (and contribute to) those since they’re open source and free. I personally dislike monthly subscriptions for updates but I might be alone there.

That said, this is an ambitious project. Good luck!