Следующий пример работает как на ssl, так и на не-ssl и работает намного быстрее, поскольку вы используете только одно правило для управления http и https
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s on(s)|offs()
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R]
[Tested]
перенаправляет
http
-
https
-
утверждения assert
полностью исключены, как и блоки утверждений вида if __debug__: ...
(так что вы можете поместить свой отладочный код в такие блоки утверждений и просто выполнить -O
, чтобы избежать этого отладочного кода).
С -OO
, кроме того, устраняются и докстринги.
Из документов :
Когда вызывается интерпретатор Python с флагом -O, оптимизированный код генерируется и сохраняется в файлах .pyo. В настоящее время оптимизатор мало помогает; он только удаляет утверждения assert. Когда используется -O, весь байт-код оптимизируется; Файлы .pyc игнорируются, а файлы .py компилируются в оптимизированный байт-код.
Передача двух флагов -O интерпретатору Python (-OO) заставит компилятор байт-кода выполнить оптимизацию, которая в некоторых редких случаях может привести к сбоям в работе программ. В настоящее время из байт-кода удаляются только
__doc__
строки, что приводит к более компактным файлам .pyo. Поскольку некоторые программы могут полагаться на то, что они доступны, вам следует использовать эту опцию, только если вы знаете, что делаете.Программа не запускается быстрее при чтении из файла .pyc или .pyo, чем при чтении из файла .py; единственное, что быстрее в файлах .pyc или .pyo - это скорость, с которой они загружаются.
То есть, другими словами, почти ничего.
]Это в некоторой степени зависит от версии Python . Чтобы точно узнать, что он , найдите в исходном коде Py_OptimizeFlag. В 2.5 он
- заставляет интерпретатор загружать файлы .pyo, а не файлы .pyc (в файлах .zip просто делает .pyo предпочтительнее .pyc)
- вызывает
__ debug __
имеет значение 0- игнорирует операторы assert в исходном коде
- обрабатывает
__ debug __
статически как 0- заставляет генератор байтового кода сохранять файлы .pyo, а не .pyc
Как указано в режиме оптимизации python :
python -O в настоящее время выполняет следующие действия:
__ debug __
в False (по умолчанию True) и при вызове как python -OO
Я не знаю, почему все забывают упомянуть __ проблема отладки __
; возможно, это потому, что я единственный, кто его использует :) Конструкция if __debug __
вообще не создает байт-код при работе под -O
, и я считаю это очень полезным.