суббота, 12 сентября 2009 г.

[life.comp] В России появился официальный день программиста!

Цитата с сайта Минкомсвязи РФ:

Президент России Дмитрий Медведев подписал 11 сентября указ, подготовленный Министерством связи и массовых коммуникаций Российской Федерации, который устанавливает в России новый официальный праздник – День программиста.

Согласно этому документу, День программиста будет праздноваться в России на 256-й день года – 13 сентября, а если год високосный – 12 сентября.

Вот так вот! Поздравляю российских программистов с наступающим праздником!

PS. Надеюсь, что российские программисты не бросят неофициальную традицию считать днем программиста любую пятницу 13-е ;)

[comp.prog.perfomance] Неплохая статья о подготовке к оптимизации программы

Статья The Three Stages of Preparation for Optimizing Parallel Software в Dr.Dobb. Хотя она, якобы, описывает стадии подготовки к оптимизации параллельного кода, ее рекомендации можно использовать и для оптимизации однопоточных программ.

На мой взгляд, большинство советов в ней – довольно банальные. Но некоторые весьма дельные. Как то:

Делайте подробные заметки. Записывайте все, что вы делаете с программой и зачем вы это делаете. Заметки, которые вы сделаете во время выполнения текущего проекта – это основа для базы знаний (даже если она неформальна), такая база может сделать ваш следующий проект более успешным. Эти заметки должны описывать такие открытия как, например, обнаруженные в генераторе нагрузки дефекты и способы их устранения.

Не вносите более одного изменения за раз. Особенно при оптимизации для параллельных платформ, т.к. эффект от сделанных вами изменений может быть не таким как вы ожидаете. Если вы сделали более одного изменения между замерами, их эффекты могут компенсировать друг друга, а в случае отрицательного результата вы не будете знать, какое изменение тому виной.

Еще мне понравилось, что кроме советов о том, что нужно делать, она еще и дает советы о том, чего делать не нужно. Так что, если вам ранее не приходилось плотно заниматься оптимизацией и вы еще не успели набить шишек на этом пути, то имеет смысл эту статью прочитать.

PS. Хочу спросить читателей моего блога – нужно ли мне переводить англоязычные цитаты на русский язык? Сам-то я технический английский читаю довольно легко. Но может я напрасно требую этого же от своих читателей?

пятница, 11 сентября 2009 г.

[comp.concurrency] Части Apple-вского GCD доступны под OpenSource лицензией

Из описания libdispatch:

The libdispatch project consists of the user space implementation of the Grand Central Dispatch API as seen in Mac OS X version 10.6 Snow Leopard. The Mac OS X kernel support for GCD may be found in the xnu project. While kernel support provides many performance optimizations on Mac OS X, it is not strictly required for portability to other platforms. However, in order to implement the full API for Grand Central Dispatch, C compiler support for blocks is required. The blocks runtime is available as part of the LLVM project.

This project is intended to be a resource for developers interested in learning more about libdispatch on Mac OS X. Contributions to this project will be continually evaluated for possible inclusion in future releases of Mac OS X. The sources are available under the terms of the Apache License, Version 2.0 in the hope that they might serve as a launching point for porting GCD to other platforms.

Подробнее об GCD я писал чуть раньше.

PS. Такое впечатление, что Apple у себя использует clang от LLVM.

[comp.internet] Голубиная почта быстрее электронной

В ЮАР провели небольшое соревнование по передаче 4Gb данных на расстояние в ~100км и почтовый голубь оказался быстрее Интернета.

PS. Не удивлюсь, если с текущими тарифами на Интернет у БелТелекома голубиная почта в Белоруссии окажется и быстрее, и дешевле Интернета. Например, мой безлимитный тариф с 256kbps в обе стороны обходится мне в 60000BYR (~675RUR). Тогда как в Москве у Стрима за 620RUR можно получить 4096kpbs входящего и 768kbps исходящего трафика.

[life.photo] Открыл для себя WSJ Pictures of the Day

Оказывается, на сайте The Wall Street Journal есть раздел Pictures of the Day, в котором публикуются потрясающие фотографии.

Вот несколько из них:

четверг, 10 сентября 2009 г.

[comp] Плакат для пользователей Sun от Oracle - IBM-окапец?

Ждем-с ассиметричного ответа от IBM? ;)

[comp.prog.benchmark] Реализация chameneos-redux от Дмитрия Вьюкова порвала всех на Computer Language Benchmark Game

Вот сравнительная таблица результатов: http://shootout.alioth.debian.org/u32q/benchmark.php?test=chameneosredux&lang=all
Результат в 0.72 секунды, когда ближайший конкурент показывает 4.59 – это мощно!

А вот сама программа: http://shootout.alioth.debian.org/u32q/benchmark.php?test=chameneosredux&lang=gcc&id=5

Мои поздравления Дмитрию (aka remark)!

Update: Дмитрий подготовил подробное описание того, что именно он сделал в своей реализации этого теста.