Чтобы отладить наш код Android, мы поставили System.out.println(string)
, который сообщит нам, сколько раз функция была вызвана. Другим методом было бы поставить флаг и продолжать увеличивать его после каждого вызова функции. И затем в конце напечатайте окончательное значение флага на System.out.println(...)
. (практически в моем приложении функция будет называться тысячи раз)Ресурсы ЦП и циклы часов: System.out.println или Приращение флага
Мой вопрос: С точки зрения ресурсов процессора и тактовых циклов которых один легче: операции приращения или System.out. Println?
Спасибо за ваш ответ с ясностью. Я думаю, что атомные операции будут дорогостоящими (мое приложение однопоточное) ... – gpuguy
@gpuguy: Вы * думаете *, или вы сравнили и * доказали это? По сравнению с 'System.out.println', атомная операция будет действительно очень дешевой. Это будет немного дороже, чем неатомная операция, но все же дешево. Если вы действительно, * действительно * однопоточные, то вы, вероятно, можете уйти с простой примитивной операцией, но вы должны прекрасно понимать, что в многопоточной среде это может привести к проблемам. –
В принципе, вы правы. Я тестировал атомные операции в многопоточных приложениях с использованием CUDA и OpenCL. Операция атомарного приращения более дорога, чем простое приращение. Однако атомные операции приходят на помощь во многих ситуациях .... – gpuguy