Это будет работать нормально.
DateTime? strDate = form.dteStartDate;
strDate.Value.ToString("yyyy-MM-dd HH:mm tt");
Most optimisation is done by the JVM. There's generally more scope for optimisation at the JIT level than at compile-time. (The "optimise" flag was actually taken out of javac
, because it turned out that some "optimisations" actually hurt performance in the real world.)
In general (and this applies to many languages/platforms, not just Java):
n
, the "theoretically better" algorithm can easily end up being slower due to constant factors.)The Java HotSpot JIT compiler can detect "hotspots" and adaptively modify the executing code so it delivers better perfomance. Read about it here.
On the other hand, if you want to write code which is efficient to begin with, read a book such as "Hardcore Java" by Robert Simmons or "Java Concurrency in Practice" by Brian Goetz.
Оптимизирован ли он во время выполнения JVM только или также во время компиляции?
Компиляторы Java обычно выполняют очень небольшую оптимизацию (кроме разрешения составных литералов), поскольку «оптимизированный» байт-код может препятствовать способности JIT-компилятора к оптимизации - и именно здесь это действительно имеет значение.
Или оптимизация JVM эффективна достаточно, чтобы мне просто нужно было написать код, который читается и легко поддерживать независимо от скорости производительности?
Вопрос не в том, чтобы доверять JVM лучше, чем вы оптимизируете (хотя это определенно является фактором), вопрос в том, что оптимизация не имеет никакого значения в 95% случаев, поскольку код не выполняется часто . Если на часть кода приходится 0,1% времени выполнения вашего приложения, просто не стоит беспокоиться о нем. Даже если вы можете ускорить его в 100 раз, это ничего вам не даст. И это наиболее частый случай.
Пока вы избегаете откровенно глупых вещей, вам следует забыть об оптимизации, пока у вас не возникнет конкретная проблема с производительностью, а затем оптимизировать только те части кода, которые профилировщик сообщает вам как горячие точки. в вашем коде.
Не беспокойтесь о конкретной оптимизации JVM. Эти детали меняются от версии к версии.
Купите книгу "Эффективная Java" у Джоша Блоха - это лучшая книга по этой теме.
I ' http://en.wikipedia.org/wiki/Optimization_ (computer_science) #When_to_optimize
Конечно, измерение и проверка узких мест с помощью инструментов профилирования - это совсем другое дело. Если вы сделаете это и сможете доказать, что есть области, которые нуждаются в оптимизации, а затем сможете измерить выгоды, продолжайте и оптимизируйте.
Хотя эти советы предназначены для конкретной реализации Java в Google Android, я полагаю , что эти советы по производительности Google Android применимы также и к «нормальной» JVM. Обратите внимание, что, насколько мне известно, Java в Android не оптимизирует код во время выполнения.