Регистрация  |  Вход

Faster Loops

Стоит посмотреть:
http://paulbattisson.com/force-com-cast-episode-6-faster-loops/
http://paulbattisson.com/force-com-casts-episode-7-faster-loops-part-2/

Очень интересное видео. До этого момента не задумывался про скорость выполнения кода в Salesforce, собственно потому что наверное не сталкивался на практике с превышением лимита по CPU Time или недовольным заказчиком Но информация однозначно в копилку.

Единственно не понял будет ли отличие 4 способа (где скорость 415) от того я обычно делаю.

for (Contact con : acc.Contacts) {
...
}

В примере на видео acc.Contacts выносится в отдельный List по которому идет итерация. Хотя по идее это должно быть одно и тоже. По идее :).

Очень интересное видео. До этого момента не задумывался про скорость выполнения кода в Salesforce, собственно потому что наверное не сталкивался на практике с превышением лимита по CPU Time или недовольным заказчиком :) Но информация однозначно в копилку.

Единственно не понял будет ли отличие 4 способа (где скорость 415) от того я обычно делаю.
[code]for (Contact con : acc.Contacts) {
...
}[/code]
В примере на видео acc.Contacts выносится в отдельный List по которому идет итерация. Хотя по идее это должно быть одно и тоже. По идее :).

Кстати, новый тип задач рождается - оптимизация кода с точки зрения скорости выполнения.
Предчувствую вопросы на собеседованиях - "что работает быстрее - это или это?"

Раньше помню в сложным методах считал колличество code statements и оптимизировал циклы чтобы сделать их линейными и сократить кол-во итераций.

А сейчас будем сидеть с профайлером и считать CPUTime.

Кстати, новый тип задач рождается - оптимизация кода с точки зрения скорости выполнения.
Предчувствую вопросы на собеседованиях - "что работает быстрее - это или это?"
:D 
Раньше помню в сложным методах считал колличество code statements и оптимизировал циклы чтобы сделать их линейными и сократить кол-во итераций.

А сейчас будем сидеть с профайлером и считать CPUTime.

Кстати заметил что CPUTime может быть немного разный на разных оргах, но выполняющий один код. К примеру на сендбоксе и продакшн)

Кстати заметил что CPUTime может быть немного разный на разных оргах, но выполняющий один код. К примеру на сендбоксе и продакшн) 

DevNull
Кстати заметил что CPUTime может быть немного разный на разных оргах, но выполняющий один код. К примеру на сендбоксе и продакшн)

Я могу даже больше сказать, если ты несколько раз запустишь один и тот же код CPU Time будет разный.
И это вполне нормально.

[quote="DevNull"]Кстати заметил что CPUTime может быть немного разный на разных оргах, но выполняющий один код. К примеру на сендбоксе и продакшн)[/quote]
Я могу даже больше сказать, если ты несколько раз запустишь один и тот же код CPU Time будет разный.
И это вполне нормально.

Gres
Я могу даже больше сказать, если ты несколько раз запустишь один и тот же код CPU Time будет разный.
И это вполне нормально.

Прямо читаешь мои мысли, хотел задать такой вопрос А насколько будут различаться? В каких пределах? Если смотрел.

[quote="Gres"]Я могу даже больше сказать, если ты несколько раз запустишь один и тот же код CPU Time будет разный. 
И это вполне нормально.[/quote]
Прямо читаешь мои мысли, хотел задать такой вопрос :) А насколько будут различаться? В каких пределах? Если смотрел.

Dmitry Shnyrev
Gres
Я могу даже больше сказать, если ты несколько раз запустишь один и тот же код CPU Time будет разный.
И это вполне нормально.

Прямо читаешь мои мысли, хотел задать такой вопрос А насколько будут различаться? В каких пределах? Если смотрел.

Даже если один и тотже SOQL два раза подряд запустить, например в консоли, то второй выполнится быстрее.

[quote="Dmitry Shnyrev"][quote="Gres"]Я могу даже больше сказать, если ты несколько раз запустишь один и тот же код CPU Time будет разный. 
И это вполне нормально.[/quote]
Прямо читаешь мои мысли, хотел задать такой вопрос :) А насколько будут различаться? В каких пределах? Если смотрел.[/quote]
Даже если один и тотже SOQL два раза подряд запустить, например в консоли, то второй выполнится быстрее.