vak: (Default)
Your Test Results (Tested on 3/28/2017, 3:06:49 PM)
Download Speed: 28.9 Mbit/s (3612.5 kbyte/s transfer rate)
  Upload Speed: 4.88 Mbit/s (610 kbyte/s transfer rate)
       Latency: 23 ms
vak: (Default)
Провёл простейшее измерение memory footprint для примера "Hello world" на четырёх языках: C, Go, C++ и D. Размер требуемой памяти и количество прерываний подкачки страниц измерялись утилитой /usr/bin/time. Операционная система Ubuntu Linux.
Language    Resident Size   Page faults
----------------------------------------
C           1324k           61
Go          1064k           120
C++         3052k           126
D           2796k           144 
Как можно видеть, Go требует наименьшего размера памяти: в три раза меньше чем C++ и D, и на 30% меньше чем Си.
vak: (Default)
Приехала ко мне вот такая штуковина:



Это Arduino-совместимая плата, построенная на микроконтроллере FE310 фирмы SiFive. Процессор имеет открытую архитектуру RISC-V. Фактически это первая реализация RISC-V в кремнии, доступная широкой публике. Плату можно заказать за $59 на сайте CrowdSupply.

Скачиваем и устанавливаем среду разработки:
git clone --recursive https://github.com/sifive/freedom-e-sdk.git
cd freedom-e-sdk
make tools
Компилируем и загружаем в плату тест Dhrystone:
make software PROGRAM=dhrystone BOARD=freedom-e300-hifive1
make upload PROGRAM=dhrystone BOARD=freedom-e300-hifive1
Подключаемся к консоли платы и жмём кнопку Reset:
core freq at 279979622 Hz
циферки )
Dhrystones per Second: 775193.8


Progam has exited with code:0x00000000
Видим, что процессор работает на частоте 280 МГц. Измеренную производительность надо поделить на 1757 (скорость VAX), чтобы получить величину DMIPS = 775193.8 / 1757 = 441.2. Для сравнения: микроконтроллер ATmega2560 16MHz даёт 7.23 DMIPS, процессор STM32F103 72MHz - 48.8 DMIPS, PIC32MX 80MHz - 92 DMIPS.

Для оценки эффективности архитектуры процессора имеет смысл поделить производительность на частоту процессора. Получим характеристику DMIPS на MHz. Результат такой:
Processor    Architecture    DMIPS/MHz
-----------------------------------------
ATmega2560 AVR 0.45
STM32F103 ARM 0.68 PIC32MX MIPS 1.15
FE310 RISC-V 1.57
vak: (Default)
Вы будете смеяться, но персональный компьютер Эльбрус-401 опять готов к серийному производству. В предыдущий раз такое случалось два года назад. Тактовая частота процессора 750 МГц, цена 199 т.р. (около $3250).

По данным тестов, производительность Эльбруса-401 примерно соответствует плате Raspberry Pi 2 Model B 1000MHz ($36 на Амазоне).
vak: (Улыбка)
Измерил скорость работы трёх разных Verilog-симуляторов на комплексном тесте системы команд микро-БЭСМ.

Synopsys VCS предсказуемо лидирует с большим отрывом. На втором месте Xilinx Vivado Simulator (бывший Cadence NCSIM). Altera Modelsim (заимствованный у Mentor Graphics) слегка отстаёт.

Сохранилась фотография из газеты "Дубна" от 13 июня 1990 года, где команда разработчиков демонстрирует работу ровно этого же теста отцам-основателям Мельникову и Томилину (автору аналогичного теста системы команд для БЭСМ-6).



На фотографии слева направо: В.М.Кадыков, И.Н.Силин, Т.Ф.Сапожникова, В.А.Мельников, А.П.Сапожников (1 ряд), И.А.Емелин, Ф.В.Левчановский, А.Н.Томилин (2 ряд, что выше).

Упомянутая статья на 4-5 страницах газеты: http://www.besm6.org/wiki/1990-dubna-retro86
 
vak: (Улыбка)
Решил обзавестись приличным производительным ноутбуком в домашнем хозяйстве. Выбрал Dell Inspiron 15 с процессором i7 и памятью 8Гб. Тем более, что Dell давал скидку в стольник - обошлось в $599 (плюс налоги). На радостях заказал еще дополнительные 8Гб памяти. Фигушки: вставить-то некуда, в ноубуке стоят две планки по 4Гб. Придётся обходиться двенадцатью гигами. На первое время должно хватить, впрочем.

Раз такое дело, взялся перемерять скорострельность всех девайсов в хозяйстве. Даже не пожалел $15 на платный вариант утилиты Geekbench. В список вошли iMac, iPad, Nexus 6, новый Inspiron 15 i7, дешёвый Inspiron 15 Pentium, и для сравнения старенький ноутбук Toshiba. Получилась такая сводная таблица: http://browser.primatelabs.com/user/106089
vak: (Улыбка)
Для компьютера pi-topCEED подходит неколько разных плат, но я решил остановиться на Raspberry Pi 3 Model B. Нужно иметь в хозяйстве что-нибудь ARMовское 64-битное. Работает отлично, за исключением двух моментов: операционка Raspbian всё еще 32-битная, и драйвер Bluetooth пока не фунциклирует.

Измеряем скорость в попугаях Dhrystone.

(pi-top) $ svn checkout https://subversion.assembla.com/svn/vak-opensource/trunk/utilities/dhrystone
[...]
Checked out revision 30.
(pi-top) $ cd dhrystone/
(pi-top) $ make

[...]
(pi-top) $ ./dhrystone
[...]
Nanoseconds for one run through Dhrystone: 312.7
            Million Dhrystones per Second: 3.198
                                    DMIPS: 1819.9


Получается примерно в три раза шустрее, чем плата LinkIt Smart 7688 (580MHz), и в девять раз медленнее, чем моя рабочая станция Intel Xeon (2.8GHz). Более полная таблица результатов для сравнения есть здесь: http://www.roylongbottom.org.uk/dhrystone%20results.htm
vak: (Улыбка)
Я как-то уже писал про аккумуляторы стандарта 18650. Главная проблема с ними в том, что в продаже слишком много подделок, с враной ёмкостью, завышенной в разы. Мне подсказали неплохую идею: раскурочить б/у аккумулятор от ноутбука. Оказывается, все ноутбучные аккумуляторы устроены одинаково, и состоят из 6 или 9 батареек типа 18650, соединенных последовательно-параллельно в виде 3x2 или 3x3. Выглядит это так:



У меня в хозяйстве нашёлся один такой аккумулятор от старого ноутбука, который уже потерял ёмкость и отказывался заряжаться. Второй я добыл на работе - при переезде офиса народ выбрасывал старое барахло. Вообще-то я боялся, что пользы от старых аккумуляторов будет немного, ведь их емкость должна деградировать со временем. Однако оказалось, что всё не так плохо.

(1) Аккумулятор от ноутбука Lenovo Thinkpad W500 десятилетней давности, заявленной ёмкостью 7.8А·ч, 85Вт·ч. Внутри девять элементов CGR18650E. Измеренная ёмкость: 2091, 2144, 2153, 2170, 2178, 2186, 2194, 2236, 2252 мА·ч.

(2) Аккумулятор от какого-то другого ноутбука, с виду поновее предыдущего. Внутри тоже девять элементов, без маркировки. Измеренная ёмкость: 2247, 2257, 2282, 2282, 2282, 2290, 2290, 2306 мА·ч (девятый куда-то подевался). Тоже все рабочие, и ёмкость даже немного получше.

Аккумуляторы такой ёмкости можно купить по цене от $3, причём есть большой риск нарваться на подделку. К примеру: EBL на Амазоне с заявленной ёмкостью 3000мА·ч, реально 2200мА·ч. Гораздо более выгодный вариант: купить на том же Амазоне дешёвый ноутбучный аккумулятор за $6 и добыть из него шесть качественных элементов 18650. Получается меньше $1/шт, то есть в три раза дешевле и с гарантированно нормальной ёмкостью.

Более мощные аккумуляторы мне удалось отыскать на GearBest: NCR18650B по цене $17 за 4 штуки (с тех пор они подешевели). Измеренная ёмкость: 3119, 3156, 3237, 3318 мА·ч.
vak: (Улыбка)
Не всякие литий-ионные батарейки одинаково полезны. Я обзавёлся полезным девайсом - зарядником с функцией тестирования ёмкости батареек, и решил проверить характеристики имеющихся под рукой аккумуляторов типа 18650.

(1) Ultrafire "красные" с заявленной ёмкостью 4200 mAh. Реально - от 450 до 550 mAh. Короче, туфта полная. Хотя этими батарейками завалены весь Ebay и AliExpress.



(2) Ultrafire "синие", якобы 4800 mAh. На самом деле около 800mAh. Тоже ничего хорошего.

(3) EBL с обещанной ёмкостью 3000 mAh. По результатам испытаний - 2200 mAh. Это уже более-менее терпимо, учитывая цену $3.17 за штуку.


Народ бает, что батарейки NCR18650B реально выдают заявленные 3400 mAh. Надо будет как-нибудь попробовать.
vak: (Улыбка)
Появились результаты измерения производительности Эльбруса, которым вроде бы можно доверять. Смотрите страницу 7: http://www.kpda.ru/upload/iblock/a80/senkov_25.11.2015.pdf

Тест Dhrystone у меня под рукой, так что я тут быстренько прикинул. Получается, последний Эльбрус-401 выпуска 2015 года в 16 раз медленнее моего iMac 2012 года. Процессоры соответственно Эльбрус-4С 800МГц и Intel Core i5 2.7ГГц.

Интересно, что производительность Эльбруса получилась равной скорости платы Raspberry Pi 2 Model B 1000MHz ($36 на Амазоне).
vak: (Улыбка)
Измерил скорость записи и чтения карточки microSD на плате Linkit MT7688: получилась запись 6.5 Мбайт/сек и чтение 14 Мбайт/сек. Это примерно на уровне хорошего жесткого диска конца 90-х.

# ./diskspeed -m 512
Testing 4-kbyte block size.
Write speed: 512 Mbytes in 78.771 seconds = 6655 kbytes/sec
 Read speed: 512 Mbytes in 36.733 seconds = 14272 kbytes/sec
vak: (Улыбка)
Установив Debian, скачиваем исходники теста Dhrystone и измеряем скорость процессора MediaTek MT7688, установленного на плате LinkIt Smart.


(mylinkit) ~ # svn checkout https://subversion.assembla.com/svn/vak-opensource/trunk/utilities/dhrystone
A dhrystone/Makefile
A dhrystone/RATIONALE
A dhrystone/README
A dhrystone/README_C
A dhrystone/VARIATIONS
A dhrystone/dhry.h
A dhrystone/dhry_1.c
A dhrystone/dhry_2.c
A dhrystone/dhry_c.dif
A dhrystone/submit.frm
Checked out revision 30.
(mylinkit) ~ # cd dhrystone/
(mylinkit) dhrystone # make
cc -O3 -DNRUNS=100000000 -Wall -Werror -c -o dhry_1.o dhry_1.c
cc -O3 -DNRUNS=100000000 -Wall -Werror -c -o dhry_2.o dhry_2.c
cc -o dhrystone dhry_1.o dhry_2.o
(mylinkit) dhrystone # ./dhrystone

Dhrystone Benchmark, Version 2.1 (Language: C)

Execution starts, 100000000 runs through Dhrystone
Execution ends
[...]
Nanoseconds for one run through Dhrystone: 896.8
            Million Dhrystones per Second: 1.115
                                    DMIPS: 634.7


Сравнивая с таблицей результатов в интернете и интерполируя, можно видеть, что процессор MT7688 580MHz работает примерно со скоростью Pentium II 400MHz. Некоторая "отсталость" объясняется тем, что MT7688 имеет 16-битную шину памяти DRAM, а Pentium II - 64-битную. Ну и потребление отличается на два порядка.