Pull to refresh
50
0
АО НПК Агат-Аквариус @Agat-Aquarius

блог компании

Send message
Выложил на Google Drive:
  • Gnumeric — оригинальный документ; если у вас вместо диаграмм только огромные белые поля, значит, надо вручную пройтись по всем и заново установить размер 480×360 пикселей, к примеру;
  • ODS — для OpenOffice; похоже, что все диаграммы при экспорте превратились в рисунки (из-за этого размер файла 1 Мбайт);
  • XLS — для классического MS Office; диаграммы выглядят ужасно (при просмотре в LibreOffice), сами подправьте по вкусу;
  • XLSX — для MS Office 2010; выглядит чуть лучше, но всё равно куча битых ссылок.

Если будут иные предложения, пишите.
Имеется в виду способность выглядеть как GCC, плавать как GCC (но не крякать как GCC, правда) — с точки зрения языков C, C++, Fortran. То есть поддерживаются все те же ключи запуска и дополнения к языковым стандартам. Компилируемая программа думает, что ею занимается GCC; хотя, если она в курсе про существование LCС, то, конечно, может детектировать его по соответствующим define'ам.
Было бы просто интересно посмотреть на этот же бенчмарк, где и на интелах java запускалась бы в режиме интерпретации. Там же есть ключик для этого, чтобы jit отключить.
Результаты добавлены в статью. Если я нагуглил не тот ключик, то извините, я не настоящий сварщик.
Я тут поспрашивал у наших — все отводят глаза. Они хоть разрабы все, конечно, но откуда им знать?
Так что, наверное, не пробовали.
Я пытался измерить потребляемый ток, параллельно мониторя напряжение, но пришёл к выводу, что [дешёвый китайский] мультиметр туфту какую-то показывает.
Создатели hsto предусмотрели этот вариант и не позволяют получить ссылку на файл, который не распознан как изображение, как его ни называй.
Кроме явно оговорённых случаев (как в тесте скорости компиляторов), сборка производилась с параметрами по умолчанию — «без применения эзотерических знаний по оптимизации и портированию». Обычно при этом включается режим -O2. Принудительное использование любых других режимов, особенно в контексте бенчмаркинга, считаю делом опасным, особенно когда сравнение может идти со штатно собранными пакетами из поставки операционной системы.
«Керниган и Ритчи — не близнецы-братья, а просто однофамильцы». (старый анекдот)

Нет, в данном случае буква «Эль» означает «Эльбрус», а «CC» — compiler collection, наверное (как и у GCC, с которым LCC старается быть совместим). И это совершенно иная разработка.
Автор не представился в начале цикла статей: кто он, откуда (только общие слова по некую компанию).
«Geektimes — не магазин. Рекламировать товары, услуги, события, аккаунты и прочее, размещать в своих публикациях ссылку на свой блог/сайт можно только в двух случаях: если публикация находится в хабе „Я пиарюсь“, либо в корпоративном блоге».

Серьёзно, что скажет вам название организации? Вы его никогда раньше не слышали и вряд ли услышите в обозримой перспективе. Хоть мы и занимаемся разработкой софта и железа, наша деятельность далека от интересов аудитории HH/GT.

В условиях интереса других участников рынка задушить конкурента во младенчестве стоит более серьёзно подходить к открытости.
Где вы тут увидели конкуренцию? На этом «рынке» пока что скорее монополизм.

Стоит немного поднапрячься, чтобы доказать, что это не вброс, а реальные тесты.
Куда уж реальнее-то? Вы можете сами перепроверить все результаты, в том числе и на «Эльбрусе» — все названия бенчмарков приведены специально для этого.
Спросите чего попроще — я сам не знаю. Он просто стоит, встроенный в другую конструкцию, работает и есть не просит. Я не смог найти на сайте МЦСТ что-то абсолютно такое же (R500 считается устаревшим продуктом, хотя реально используется во вновь создаваемых комплексах), и привёл фотографию максимально похожего внешне — смысл был просто показать, как оно выглядит в принципе.
Если кто захочет повторить тест Pgbench (остальные-то бенчмарки запускаются просто), вот примерная последовательность действий.

Сначала входим под учётной записью postgres, инициализируем хранилище данных и запускаем сервер:
su
su postgres
export PGDATA=$HOME/data-benchmark
initdb
pg_ctl -l $PGDATA/server.log start


Затем в том же сеансе (из-под postgres) запускаем psql и создаём там тестового пользователя и базу данных:
CREATE USER "tester";
CREATE DATABASE "TestPgbench" OWNER "tester";
\q


Затем из-под учётной записи тестового пользователя (tester) заполняем базу тестовыми данными:
pgbench -i -s 32 TestPgbench

где число 32 задаёт максимальное число параллельно обслуживаемых клиентов.

Потом из-под этой же учётной записи (tester) запускаем собственно тесты:
pgbench -c 32 -j 32 -S -T 60 TestPgbench
# -c = эмулируемое число клиентов
# -j = число потоков для эмуляции клиентов
# -S = сценарий SELECT-only
# -T = время выполнения в секундах

Пример батника
#!/bin/sh


if [ -n "$1" ]; then
	DURATION=$1
else
	DURATION=60
fi

if [ -n "$2" ]; then
	declare -a CONCURRENCIES=($2)
else
	declare -a CONCURRENCIES=(1 2 3 4 5 6 7 8 10 12 16 32)
fi


DB_NAME="TestPgbench"
LOG_FILE=pgbench-`date --utc +%Y%m%dz%H%M%S`.log
#APP_PATH=/usr/local/pgsql/bin
APP_PATH=/usr/bin


function Print {
	echo "$1" | tee -a ${LOG_FILE}
} # end function Print


echo "Running on `date --iso-8601=seconds`..." > ${LOG_FILE}

Print ""
Print "Database: ${DB_NAME}"
Print "Concurrencies: `echo ${CONCURRENCIES[@]}`"
Print "Log file: ./${LOG_FILE}"
Print ""


Print ""
Print "Benchmarking SELECT-only queries..."
Print ""
for CONCURRENCY in "${CONCURRENCIES[@]}"; do
	Print "Concurrency = ${CONCURRENCY}..."
	COMMAND="${APP_PATH}/pgbench -c ${CONCURRENCY} -j ${CONCURRENCY} -S -T ${DURATION} ${DB_NAME}"
	echo "Running: $COMMAND" >>${LOG_FILE}
	$COMMAND >>${LOG_FILE} 2>&1
	echo "" >>${LOG_FILE}
done

Print ""
Print "Benchmarking all query types..."
Print ""
for CONCURRENCY in "${CONCURRENCIES[@]}"; do
	Print "Concurrency = ${CONCURRENCY}..."
	COMMAND="${APP_PATH}/pgbench -c ${CONCURRENCY} -j ${CONCURRENCY} -T ${DURATION} ${DB_NAME}"
	echo "Running: $COMMAND" >>${LOG_FILE}
	$COMMAND >>${LOG_FILE} 2>&1
	echo "" >>${LOG_FILE}
done

Print ""
Print "End of all benchmarks."
Print ""



По окончании тестов останавливаем сервер и подчищаем за собой (из-под postgres):
pg_ctl stop
rm -r $PGDATA


Superblaze а вы сами-то не хотите пару строк черкнуть? Уверен, вам есть, что рассказать интересного.
Так в том-то и дело, что всё это должно было быть реализовано ещё 10-15 лет назад, а смогли родить только сейчас. Вот так медленно у нас всё крутится-вертится, и не только в процессоростроении.
У меня предложение получше: давайте я выложу саму таблицу Gnumeric, чтобы любой желающий мог посмотреть графики в том виде, в каком лично ему захочется. Вот только я не знаю, куда можно выложить, чтобы меня сразу же не забанили после хабраэффекта. А класть несжатое содержимое на Pastebin как-то не комильфо, потому что размер получается 370 килобайт (против 20 в сжатом виде).

Можно, конечно, экспортировать в CSV, но тогда каждому придётся самостоятельно строить все графики заново — а это куча времени и сил, как оказалось.
Автор проверял открытие документа Word объёмом 5000 страниц ещё на бюджетных ноутбуках 10-летней давности — никаких проблем ни разу не заметил, время выполнения данного действия всегда было небольшим. Разумеется, документ содержал только текст, ибо рисунками можно и современный процессор подвесить: например, коллега недавно где-то нарыл шаблон оформления с рамками по ГОСТ — так от почти пустого 3-страничного документа наши Core i7 начинали впадать в кому при каждом чихе.
За тем же, зачем AWK, Erlang, Lua, Perl, PHP, Python, Tcl, — ради кросс-платформенных программ на высокоуровневых языках. Скорость выполнения важна далеко не в каждом приложении, а вот скорость разработки (и отладки) и переносимость — очень даже важное свойство.
Такому маркетингу / ньюсмейкингу вообще ничего не помешает делать то, что им в голову взбредёт. Они ещё по вертикали могут «ноль» куда-нибудь передвинуть — самое мило дело. Наука тут бессильна.
Что не так с Java? (Спрашиваю как заядлый .Net-чик, не имеющий ничего против.)
Напомню цель исследования:
Хотелось просто получить обиходное представление о вычислительных мощностях нового «Эльбруса»… с позиции рядового пользователя, использующего готовые программы в собранном виде или компилирующего их из исходных кодов без применения эзотерических знаний по оптимизации и портированию.
Допустим, вы написали программу на Java. На одной платформе эта программа реагирует на действия пользователя за 0,1 секунды, а на другой — за 10 секунд. Вам будет сильно теплее от осознания того, что первая платформа имеет «нечестное преимущество» из-за технологий оптимизации (прозрачных, между прочим), тогда как вторая по-честному раз за разом проделывает одну и ту же работу, которую можно было бы сократить, наверное? Вы тогда ещё, высшей справедливости ради, и в первую версию внесёте искусственную задержку, чтобы пользователи той платформы тоже не расслаблялись?
У меня дома тоже менее быстрый процессор (i7-920), и всё стартует очень быстро. Потому что дома нет Касперского, и теневое копирование отключено. Правда, дома ещё быстрые диски — WD RE3 в массиве fake-RAID1. И нету десятков гигабайтов мелких файликов с данными, которые антивирусом проверяются как неведомые науке бинарники.

Но суть не в этом, а в том, что одна программа (которая, по-хорошему, должна работать в фоне незаметно для пользователя) способна создать такую нагрузку на диск, что пользоваться компьютером фактически невозможно: все ядра свободны, а делать ничего нельзя; даже Блокнот по несколько секунд запускается в такой ситуации. Ну, а когда в дело вступает ещё один процесс, обращающийся к диску, — то вообще туши свет. Другими словами, не важно, сколько потоков умеет параллельно держать центральный процессор, когда узким местом становится жёсткий диск.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity