Реклама

Статьи | Прочие языки

Rust и Benchmarking


Оригинальный код бенчмарка на Java выглядел так:
  1. public class Main {
  2.     public static void main(String[] args) {
  3.         int w = 25600;
  4.         int h = 2048;
  5.         int a[] = new int[w*h];
  6.         long stt = System.currentTimeMillis();
  7.         for (int i=0; i<w; i++)
  8.             for (int j=0; j<h; j++)
  9.                 a[i+w*j] = i*j;
  10.         System.out.println(System.currentTimeMillis()-stt);
  11.     }
  12. }
Казалось бы — что сложного просто перенести этот код на другой язык, тем более, что близкий по парадигме. Полный энтузиазма и решительности, я поставил Rust, Cargo и SolidOak (рекламирующую себя как Rust IDE, но на деле представляющую из себя просто NeoVim в окошке) и понял как сильно я ошибался.

Открыть спойлер

Продолжить

Рейтинг:  7  (Против: 0 | За: 7)
Добавил: Oak

Комментарии (13)

container_of подробно


https://annimon.com/code/?act=comm&id=4693 Поскольку возникли вопросы, как эта магия работает, разберём макрос подробнее.

task.png
Итак, есть задача: зная адрес вложенной структуры child (на рисунке выделен светло-зелёным оттенком, так я обозначаю известный адрес), нужно получить адрес структуры parent (выделено цветом, близким к оранжевому, неизвестный адрес), содержащей child. Можно было бы хранить указать на parent в child, но есть несколько проблем. Для примера были даны простейшие структуры, но в реальных задачах структуры могут содержать много элементов и хуже, если есть полный (или почти полный) граф указателей между ними, тогда можно запросто забыть проинициализировать указатель во вложенной структуре на структуру-контейнер, тем более когда вложенных структур
Продолжить

Рейтинг:  6  (Против: 0 | За: 6)
Добавил: Freddy

Комментарии (9)

Язык Go и зачем нужен был ещё один язык


Хочу рассказать вам об относительно новом языке Go. Также часто называемый Golang. Искать что-нибудь в интернете нужно искать с приставкой golang, иначе всякие сайты про CS:GO будут))

Ой. Ну короче. Языку Go - 5 лет. Молодой язык взял свое начало в недрах Google. Разработчики языка Си и Unix (Кен Томпсон) и Роб Пайк задумались, а каким должен быть хороший язык программирования. Здесь они решили, что язык будет компилируемый и главной фичей языка будет многопоточность и отдельный синтаксический сахар для потоков и каналов. Почему они так сделали? В текущих реалиях мощности компьютера увеличиваются а программы все еще работают в одном потоке. Нужно было это как-то исправить.

Об остальных фичах коротко - статическая типизация, сборщик мусора, упрощенный
Продолжить

Рейтинг:  2  (Против: 3 | За: 5)
Добавил: StarTek

Комментарии (18)

Stylus. Знакомство


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

Организовываем кухнюОгромное количество инструментов для фронтенда написано на Node.js, Stylus не исключение. Это открытый проект, так что вы можете собрать его из исходников, или установить из NPM:
  1. $ npm install stylus -g

Стили должны храниться в файлах
Продолжить

Рейтинг:  5  (Против: 1 | За: 6)
Добавил: Ксакеп

Комментарии (21)

Lib_rms - библиотека для работы с RMS


Lib_rms - библиотека для MIDlet Pascal, для грамотной работы с RMS.
Главное отличие в том, что данная библиотека имеет гораздо большие возможности, нежели стандартные средства работы с RMS в MIDlet Pascal.

#1 Бредословие
#2 Введение в RMS
#3 Подключение библиотеки
#4 Пример
#5 Обработка ошибок
#6 Несколько бесполезных событий
#7 Принцип чтения/записи
#8 Документация
#9 Реанимация

---
#1 Бредословие

Люди делятся на 2 категории: на тех, кто прошёл Quake от начала до конца, и на тех, у кого не хватило терпения или реакции, чтобы выпустить кишки всем злобным монстрам. Поколение игры Quake хорошо знает основной принцип: "Главное - не забыть сохраниться!"

---
#2 Введение в RMS

Хранение данных организовано в Java 2 ME с помощью системы управления
Продолжить

Рейтинг:  5  (Против: 1 | За: 6)
Добавил: Kalter

Комментарии (15)
Всего: 19
<< 1 2 3 4 >>

Мы в соцсетях

vk tw tg yt

Пожертвования

Аноним2850 р.
Freddy1700 р.
riseremi1611 р.
NaruTrey800 р.
vlavolk637 р.
  © aNNiMON (Melnik Software)