Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

корень зла (программистское)

Любопытная попытка написать супер-оптимизированный HTTP request/response parser. Намерения самые добрые, но... мне кажется, в этом небольшом модуле я смог бы набрать материала на часовую лекцию о том, когда не надо оптимизировать и как не надо.

Даже проглядев его вскользь, я вижу несколько мест, где на первый взгляд очень эффективный подход на самом деле даст относительно медленный код, который легко можно улучшить; а также заодно и место, где есть потенциальный buffer overflow. Утверждение автора, что его модуль "...is nearly optimal in its use of CPU instructions", конечно, слишком оптимистично. Но главное - почти наверняка выбранная модель общения с клиентом, через колбэки, на практике приведет к большим потерям времени и эффективности, чем столь тщательно сынженированные ручные подгонки под названия HTTP-методов, или отсутствие malloc()-ов.

Меж тем проект, ради которого это затеяно, Node.js (быстрый V8-джаваскрипт на сервере), весьма интересен.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 60 comments