-Поиск по дневнику

Поиск сообщений в akry

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 21.08.2007
Записей:
Комментариев:
Написано: 40052


Экономия от пропуска букв

Среда, 16 Октября 2013 г. 19:27 + в цитатник

Прпускать буквы мжно, часто эт не влият на пнимание текста (как и перестановки) — у него изрядная збыточность. Насколько это выгодно?

Проще всего с энергозатратами человека. Положим, что мы печатаем со скоростью 120 символов в минуту. Быстрый поиск в гугле даёт энергозатраты на печать порядка 105 ккал в час, что одначает, что на один знак приходится 0.016(6) ккал. Для простоты мы не рассматриваем износ суставов и возможные болезни, связанные с долгой печатью. Учитывая среднюю длину слова в русском языке 5.25 символов, и предполагая безопасный пропуск 1 символа в слове, мы можем пропустить 23 знака в минуту, 1364 знака в час, 10100 знаков за восьмичасовой рабочий день. Что даёт нам ежедневный выигрыш аж в 180 ккал! Это небольшой вкусный кусок мяса. За рабочий год же набегает порядка пятидесяти тысяч килокалорий (50 кило стейков) — и всё от пропуска небольшого числа букв!

Теперь hardware. Параметров очень много, можно обрисовать лишь общую методику анализа. Во-первых, это амортизация оборудования. Во-вторых, электричество. В-третьих, хранение информации.(Амортизацию мебели, аренду квартиры/офиса здесь мы рассматривать не будем).

Амортизация. Что мы оцениваем? Всю цепочку. Фактически, это стоимость 0.5 секунды (120 знаков в секунду, 0.5 секунд на знак) амортизации клавиатуры. Нажимаемые параллельно клавиши-модификаторы не рассматриваем. Стоимость 0.5 секунды амортизации системного блока, кабелей, и т. п. Упрощённо, можно считать, что лишний знак сокращает срок жизни оборудования на 0.5 секунд. В случае отправки текста по Интернету придётся учитывать и компрессию. 

Электроэнергия. Базово тут та же история, что и с амортизацией: общие энергозатраты за 0.5 секунды. Но очевидно, что это валидно в первую очередь для клавиатуры, поскольку она используется практически эксклюзивно для печати. 

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

Затраты на вывод на монитор вероятно не имеет смысла рассматривать: туда в любом случае отправляется битовой дамп, его конкретное наполнение не имеет значения. Хотя в ряде случаев энергозатраты монитора могут меняться в зависимости от того, что на экране. Характерный пример: AMOLED, где более тёмные пиксели ведут к сниженному энергопотреблению. В этом случае, если на экране чёрные буквы на белом фоне, отсутствие каждой буквы будет увеличивать энергозатраты. С другими типами экранов и с другими цветовыми палитрами ситуация может быть другой.

Информационные затраты? Положим, у нас расходуется от одного до двух байтов на символ. Но это нетто. А брутто — смотря где. Например, жёсткий диск. Минимальный юнит: размер кластера. То есть затраты будут варьироваться от 1 байта до размера кластера (в предельном случае). Без учёта компрессии (её учесть непросто, потому что степень сжатия у разных алгоритмов разная, и она точно будет меняться в зависимости от предыдущих и последующих символов). Далее следует собрать статистику для конкретного случая: сколько в среднем новых кластеров получается от заданного числа лишних букв на какой-то период работы — и поделить на это число стоимость диска. Таким образом, считать затраты на единичную букву не имеет смысла, следует анализировать усреднённые значения на основе статистики использования. Скажем, если мы экономим 10% букв и объёмы значимо превышают размер кластера, значит мы экономим 10% от стоимости диска.

TCP/IP — не знаю. Очевидно, затраты тоже будут от 1 до K, где K — предельный размер пакета. Но имеет ли их смысл считать? Похоже, что нет — все расходы тут амортизационные. Затрат на хранение нет.

 

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

 

Рубрики:  Crazy Scientist
Метки:  



 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку