Русский форум по D

Судьба dlang.ru не совсем ясна, и поэтому русскоязычные пользователи D решили объединиться на новом форуме – http://lang-d.tk. От администратора:

“Создание данного форума преследовало одну единственную цель: восполнить брешь в виде отсутствия русскоязычных форумов по языку программирования D в рунете. Единственный, на сколько мне известно, специализированный сайт по данной тематике – http://dlang.ru, который месяц уже в неработоспособном состоянии. А время идет. Давайте попробуем общаться тут”.

Так что – приглашаю всех на новый форум!

Обновление всех проектов

На днях обновились библиотеки dlib, dmech, DGL и игра Atrium.

  • В коллекции библиотек dlib 0.6.0 значительно улучшен декодер JPEG, добавлена поддержка новых типов прореживания и APP-маркеров. Улучшено управление памятью (удалять теперь объекты можно через интерфейсы и родительские классы), добавлены независимые от сборщика мусора реализации классов изображений и файловых потоков. В пакете dlib.math появилась реализация некоторых идиом комбинаторики (dlib.math.combinatorics).
  • Физический движок dmech 0.2.0 включает необходимые изменения для поддержки dlib 0.6.x. Также к движку теперь прилагается небольшая документация в виде уроков.
  • DGL/GC-free, независимая от сборщика мусора ветка проекта, теперь тоже переведена на dlib 0.6.x.
  • Вышла первая альфа-версия Atrium (0.0.1a). Релиз, главным образом, обозначил перевод игры на последние версии вышеперечисленных библиотек. Есть готовые сборки для Windows и Linux.

Atom

Много лет под Windows пользуюсь текстовым редактором Programmer’s Notepad, решил сейчас попробовать что-то новое. Обратил внимание на фирменный редактор от GitHub – Atom.

Приятно удивила поддержка разделяемых по горизонтали и вертикали рабочих панелей а ля Emacs или Vim. Есть темная и светлая темы оформления. Редактор открывает в качестве проекта любой каталог и отображает дерево файлов – мне лично всегда не хватало такой удобной мелочи.
Но главная “киллер-фича” – поддержка дополнений. Есть встроенный каталог пакетов, через который удобно искать дополнения – всего их очень много, пакеты для Atom создают все, кому не лень. Я, например установил atom-dlang (подсветка синтаксиса для D), atom-terminal (позволяет открыть окно терминала в папке с проектом), color-picker (диалог выбора цвета), atom-html-preview (просмотр HTML-страниц внутри редактора).

Бенчмарк загрузки PNG

Не так давно один из участников сообщества D провел любопытный тест, сравнив скорости загрузки изображения в формате PNG с различными библиотеками. В сравнении участвовали D-библиотеки (dlib и imageformats), а также C#.

Использовалось RGB-изображение размером 2048х2048, компилятор DMD 2.0.67 c флагами -release -inline -O. Задачей была загрузка из PNG, отражение по горизонтали и сохранение в PNG. Результат получился следующий:

C#:
Загрузка – 90 мс
Отражение – 10 мс
Сохранение – 380 мс

D (dlib):
Загрузка – 500 мс
Отражение – 30 мс
Сохранение – 950 мс

D (imageformats):
Загрузка – 230 мс
Отражение – 30 мс
Сохранение – 1100 мс

Тред с обсуждением

На днях обязательно сделаю собственный тест – необходимо выяснить, что именно тормозит в декодере.