Xaprb

Stay curious!

It’s not just database servers

with 2 comments

Better performance is important in everything, not just MySQL. I don’t want to wait for my text editor to open a file or perform syntax highlighting. I don’t want to wait for my version control system to compute diffs or update my copy of the code with other peoples’ changes. I don’t want to wait for my code to compile. I don’t want to wait, period.

Two tools I have enjoyed recently are Git and the Go language. Both are fast — very fast. It’s a welcome change after suffering from bzr and launchpad over the last couple years. If there is a slower or less efficient revision control program than bzr, I’m not aware of it.

Go compiles fast enough that it’s even a good scripting language. If Gentoo were written in Go, it would be no fun for its regular devotees to use — who wants to use an operating system that doesn’t give you enough time to savor that satisfying feeling of watching Xorg or LibreOffice compile for hours? You can probably tell that I don’t live for the thrill of watching “> /dev/null 2>&1” scroll up my terminal all day.

Written by Xaprb

November 13th, 2012 at 3:15 pm

Posted in Coding,Commentary

2 Responses to 'It’s not just database servers'

Subscribe to comments with RSS

  1. Regarding git v/s bzr, I agree, bzr project itself looks quite
    dormant. Even the launchpad which hosts it can do with a
    face-lift or some funding, since I have found it unbearably slow
    (hg written from python doesn’t suffer from this). However,
    regarding git, I would like to echo one sentiment (in turn echoed
    by someone I know), that it has become far complex than what it
    was intended to be. Mercurial (whose all commands fit in a single
    man page :)) is touted for its simplicity by git’s detractors.
    However, understanding the layers of git — plumbing, core etc.
    – should enable better understanding. I personally use git more
    than hg or bzr. Other VCS (other than hg, bzr, git) I have used
    are — darcs (technically sound, v1.x has/had horrible
    performance, v2.0 is fine, however, many darcs projects have
    moved to git), svn (I had to use this recently till a project
    moved to git from svn, had to do with git-svn till then), CVS
    (good for VCS archaeologists), fossil (haven’t used it, it is a
    hybrid type though), GNU RCS (very simple one and fits that niche).

  2. Regarding Go, I have been wanting to learn/use it for sometime.
    However, having been from C/Python background, I have found its
    syntax confusing (nothing wrong with that, just an idiosyncrasy).

    Regarding its compilation speed, happy to see it is fast.
    However, I would take it with a grain of salt since I don’t
    know/use any big projects using it (along lines on Firefox, Xorg
    or Libreoffice). If there are any (quick search revealed vitess
    but need to examine that), that is good. Another aspect with
    speed is the optimization — a tcc (tiny C compiler) is quite
    fast (you can boot a freshly built linux kernel at boot time with
    that), however, it is not optimized (even gcc at -O1/O0 is quite
    fast); even something like LTO (which can really speedup the
    application, used on firefox for instance) can be taxing on the
    compiler wrt. time.

Leave a Reply