Оптимизируем вычисления

Оптимизируем вычисления

Google Gears ( http://gears.google.com/ ) обеспечивает выполнение напряженных вычислений без двух вышеоговоренных ограничений. Однако в общем случае нельзя полагаться на наличие Gears (в будущем было бы замечательно, чтобы решение по типу Gears WorkerPool API стало частью стандартного API браузеров).

К счастью, у глобального объекта есть метод setTimeout, который позволяет выполнять определенный код с задержкой, давая тем самым браузеру возможность обработать события и обновить интерфейс пользователя. Это сработает даже в том случае, если задержка для setTimeout выставлена в 0, что позволяет разбить долгоиграющий процесс на множество небольших частей. Общий шаблон для обеспечения такой функциональности можно представить в следующем виде:

function doSomething (callbackFn [, additional arguments]) {

// Выполняем инициализацию

(function () {

// Делаем вычисления...

if (конечное условие) {

// мы закончили

callbackFn();

} else {

// Обрабатываем следующий кусок

setTimeout(arguments.callee, 0);

}

})();

}

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Оптимизируем размер, зону и время действия

Из книги автора

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


6.1. Оптимизируем CSS expressions

Из книги автора

6.1. Оптимизируем CSS expressions CSS-производительность не находится сейчас в фокусе внимания при разработке клиентских приложений для браузера. Очень часто о некоторых ключевых моментах просто не знают (или забывают), и это может привести к появлению множества «узких» мест при


7.5. Оптимизируем «тяжелые» JavaScript-вычисления

Из книги автора

7.5. Оптимизируем «тяжелые» JavaScript-вычисления Наиболее существенным препятствием для выполнения в веб-браузере «тяжелых» вычислений является тот факт, что весь интерфейс пользователя в браузере останавливается и ждет окончания исполнения JavaScript-кода. Это означает, что ни


Сетевые вычисления

Из книги автора

Сетевые вычисления В компьютерной индустрии любят революции. В центре внимания постоянно находятся принципиально новые модели вычислений. Газеты, журналы, консультанты и эксперты до небес превозносят их достоинства и убеждают Вас немедленно применить их на деле. Но


Совместные вычисления

Из книги автора

Совместные вычисления Рабочим группам, состоящим из сотрудников одной или нескольких организаций, необходимо взаимодействие и разделение информации. В этой связи многих привлекает клиент-серверное ПО для рабочих групп, обычно называемое групповым ПО (groupware). В основе


3.4.1. Порядок вычисления операндов

Из книги автора

3.4.1. Порядок вычисления операндов Эта проблема связана с тем, что у человека есть определенные интуитивные представления о порядке выполнения действий программой, однако компилятор не всегда им соответствует. Рассмотрим следующий код (листинг 3.47, пример OpOrder на


Порядок вычисления в формулах

Из книги автора

Порядок вычисления в формулах Чтобы формула выдавала верный результат, необходимо учитывать порядок вычисления в ней. В этом нет ничего сложного, главное – проявлять внимательность при расстановке знаков в формуле.Для следующего примера создайте таблицу, изображенную


Простейшие вычисления

Из книги автора

Простейшие вычисления Вы вручную ввели данные и выровняли колонки, но это можно было сделать и в Word. Теперь следует изучить специфические возможности Excel.В ячейках Excel можно размещать не только числа и текст, но и формулы. В этом случае в ячейке будет виден результат


Операция последовательного вычисления

Из книги автора

Операция последовательного вычисления Операция последовательного вычисления последовательно вычисляет два своих операнда, сначала первый, затем второй. Оба операнда являются выражениями. Синтаксис операции:<выражение1>, <выражение2>Знак операции - запятая,


Контекст вычисления выражений

Из книги автора

Контекст вычисления выражений Выражения всегда вычисляются в некотором контексте — окружении, которое зависит от того, какая часть документа обрабатывается XSLT-процессором в данный момент, и какие объявления присутствовали в самом преобразовании.Контекст


3.2.2 Порядок вычисления

Из книги автора

3.2.2 Порядок вычисления Порядок вычисления подвыражений в выражении неопределен. Напримерint i = 1; v[i] = i++;может вычисляться или как v[1]=1, или как v[2]=1. При отсутствии ограничений на порядок вычисления выражения может генерироваться более хороший код. Было бы замечательно, если


Вычисления, основанные на компонентах

Из книги автора

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


Ингредиенты вычисления

Из книги автора

Ингредиенты вычисления При поиске правильной архитектуры ПО критическим является вопрос о модуляризации: какие критерии нужно использовать при выделении модулей наших программ? Чтобы верно ответить на него, нужно сравнить соперничающих кандидатов.


Итоговые вычисления в таблицах

Из книги автора

Итоговые вычисления в таблицах В Excel имеются средства для расчета итоговых данных в таблицах и их анализа. Например, с помощью команды Промежуточные итоги можно автоматически разделить таблицу на группы и для каждой из них рассчитать итоговые значения.Мощным