я работал с JavaScript API обработки, и я увидел эту цитату:Javascript цепочки методов и времени
Поскольку JavaScript является языком сценариев, каждая строка кода занимает ценное время процессора. Один из способов улучшить время процессора - это цепной вызов методов для сокращения строк кода. Такие объекты, как esri.Graphic и esri.symbol. * Предоставляют методы настройки, которые возвращают сам объект, позволяя цепочку методов.
Менее эффективен:
var symbol = new esri.symbol.SimpleMarkerSymbol();
symbol.setSize(10);
symbol.setColor(new dojo.Color([255,0,0]));
Более эффективное:
var symbol = new esri.symbol.SimpleMarkerSymbol().setSize(10).setColor(new dojo.Color([255,0,0]));
При объединении вызовов методов, необходимо определить баланс между эффективностью и читаемости ваш код. Ваш код может быть более читабельным и поддерживаемым, если вы избегаете цепочки; однако вы потеряете преимущество в производительности, которое предлагает цепочка.
Я понимаю, что в Java, метод цепочки и стек методов должны скомпилироваться с одним и тем же байт-кодом. Однако, поскольку это язык сценариев, действительно ли это поддерживает воду? Кроме того, если это так, стоит ли жертвовать читабельностью кода для производительности этого раздела кода?
И для справки о том, где я получил этот текст от: http://help.arcgis.com/en/webapi/javascript/arcgis/jshelp/inside_graphics.html
Edit: После некоторого тестирования производительности, я обнаружил, что это на самом деле не имеет значения, является ли методы прикованы или нет. (Один раз один был бы быстрее, в другой раз другой был бы быстрее)
Звучит как мусор для меня. – sje397
Почему бы вам не протестировать его: http://jsperf.com/ –
Я скептически отношусь к тому, что большинство современных браузеров компилируют JS для машинного кода перед его выполнением. – Dve