Не используйте круглые скобки для вызова конструктора по умолчанию.
push_back
требует дополнительных перераспределений при каждом превышении пропускной способности. Таким образом, вариант 2 может быть улучшен путем резервирования достаточно места, чтобы избежать перераспределения. Кроме того, более эффективно напрямую нажимать строку, чем пустить пустой, а затем переназначать. И есть конструктор для std::string
, который очень удобен для ваших нужд: из последовательности (5) string (const char* s, size_t n);
Относительно варианта 1: Предораспределение всего вектора требует каждого элемента один раз для инициализации и еще одно время для назначения. Лучше зарезервировать, не создавая элементы и напрямую push_back
те, которые вы действительно хотите.
Это код с использованием этих улучшений:
void myfnc_1(void *a_src, uint32_t a_segment)
{
std::vector values;
size_t nSize = GetSize( );
values.reserve(nSize);
char* v = static_cast ( a_src );
for (size_t i = 0; i < nSize; ++i)
{
values.push_back( std::string( v, a_segment) );
v += a_segment;
}
}
Проверьте Модуль Перезаписи URL для IIS 7, созданного Microsoft
Если у Вас есть 99,00$ для экономии Вас, может хотеть смотреть на http://www.isapirewrite.com/
[Выборка от их веб-сайта]
Обзор продукта
, ISAPI_Rewrite является мощным механизмом управления URL на основе регулярных выражений. Это действует главным образом как mod_Rewrite Apache, но специально разработано для Сервера информации об Интернете (IIS) Microsoft. ISAPI_Rewrite является фильтром ISAPI, записанным в чистом C/C++, таким образом, это чрезвычайно быстро. ISAPI_Rewrite дает Вам свободу пойти вне стандартных схем URL и разработать Вашу собственную схему.
[Пример использования] доступный в http://www.helicontech.com/articles/provocative_SEF_URLs.htm
Взгляните на URLRewriter. Используемый это в производстве однажды без проблем. Но не полагайтесь на это как на единственную проверку качества:
http://www.codeplex.com/urlrewriter
(Это свободно и имеет Microsoft Public License)
Управляемый URL Fusion, Rewriter является мощным механизмом управления URL на основе Apache mod_rewrite расширение. Это разработано, с нуля для обеспечения всех функций Apache mod_rewrite к IIS 6.0 и IIS 7.0. Управляемый URL Fusion Rewriter работает с ASP.NET на Сервере информации об Интернете (IIS) Microsoft 6.0 и Моно Сервер XPS и полностью поддерживается, для всех языков, в IIS 7.0, включая ASP.NET и PHP. Управляемый URL Fusion Rewriter дает Вам свободу пойти вне стандартных схем URL и разработать Вашу собственную схему.
Перезапись ISAPI подходит для IIS 5 или 6. Существует Облегченная версия, доступная бесплатно, или можно заплатить за полную версию для получения большего количества функций, таких как проксирование возможностей. Это было некоторое время, так как я использовал его, но это хорошо работало в то время.
Идеальной альтернативой Apache mod_rewrite и другим модулям Apache в IIS7 является Helicon Ape . Синтаксис на 99% совместим с Apache.
http://www.iis.net/extensions/URLRewrite был разработан для IIS 7.0 и отличается высокой производительностью и интерфейсом администрирования.
Я использую Helicon Ape с тех пор, как спрыгнул с Apache и перешел в IIS. Его синтаксис совместим с Apache.
Вы можете прочитать мою статью о том, как использовать Managed Fusion URL Rewriter здесь:
http://carlos.mendible.com/2010/02/runnig- apache-behind-iis-server-net.html
Надеюсь, это поможет.