Стоит посмотреть: 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) {
...
}
Очень интересное видео. До этого момента не задумывался про скорость выполнения кода в Salesforce, собственно потому что наверное не сталкивался на практике с превышением лимита по CPU Time или недовольным заказчиком :) Но информация однозначно в копилку. Единственно не понял будет ли отличие 4 способа (где скорость 415) от того я обычно делаю. [code]for (Contact con : acc.Contacts) { ... }[/code] В примере на видео acc.Contacts выносится в отдельный List по которому идет итерация. Хотя по идее это должно быть одно и тоже. По идее :).
Кстати, новый тип задач рождается - оптимизация кода с точки зрения скорости выполнения.
Предчувствую вопросы на собеседованиях - "что работает быстрее - это или это?"
Раньше помню в сложным методах считал колличество code statements и оптимизировал циклы чтобы сделать их линейными и сократить кол-во итераций.
А сейчас будем сидеть с профайлером и считать CPUTime.
Кстати, новый тип задач рождается - оптимизация кода с точки зрения скорости выполнения. Предчувствую вопросы на собеседованиях - "что работает быстрее - это или это?" :D Раньше помню в сложным методах считал колличество code statements и оптимизировал циклы чтобы сделать их линейными и сократить кол-во итераций. А сейчас будем сидеть с профайлером и считать CPUTime.
Кстати заметил что CPUTime может быть немного разный на разных оргах, но выполняющий один код. К примеру на сендбоксе и продакшн)
Кстати заметил что CPUTime может быть немного разный на разных оргах, но выполняющий один код. К примеру на сендбоксе и продакшн)
[quote="DevNull"]Кстати заметил что CPUTime может быть немного разный на разных оргах, но выполняющий один код. К примеру на сендбоксе и продакшн)[/quote] Я могу даже больше сказать, если ты несколько раз запустишь один и тот же код CPU Time будет разный. И это вполне нормально.
[quote="Gres"]Я могу даже больше сказать, если ты несколько раз запустишь один и тот же код CPU Time будет разный. И это вполне нормально.[/quote] Прямо читаешь мои мысли, хотел задать такой вопрос :) А насколько будут различаться? В каких пределах? Если смотрел.
[quote="Dmitry Shnyrev"][quote="Gres"]Я могу даже больше сказать, если ты несколько раз запустишь один и тот же код CPU Time будет разный. И это вполне нормально.[/quote] Прямо читаешь мои мысли, хотел задать такой вопрос :) А насколько будут различаться? В каких пределах? Если смотрел.[/quote] Даже если один и тотже SOQL два раза подряд запустить, например в консоли, то второй выполнится быстрее.