Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 6 из 6
  1. #1
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±

    Кусок кода

    Когда то давно наткнулся на такую темку в интернете где данная функция strsplit быстрее всяких strtock и других подобных..
      Открыть/закрыть
    PHP код:
        stock strsplit(dest[], const string[], &indexseperator=' ')
        {
            if(
    index != && string[index] != '\0')
            {
                
    index++;
            }
            new 
    0;
            for (;;)
            {
                if (
    == 0)
                {
                    for (;;)
                    {
                        if (
    string[index] == seperator)
                        {
                            
    index++;
                        }
                        else
                        {
                            switch (
    string[index])
                            {
                                case 
    '\0''\a''\b''\f''\n''\r''\t''\v'index++;
                                default: break;
                            }
                        }
                    }
                }
                if (
    string[index] == seperator)
                {
                    break;
                }
                switch (
    string[index])
                {
                    case 
    '\0''\a''\b''\f''\n''\r''\t''\v': break;
                    default: 
    dest[i++] = string[index++];
                }
            }
            
    dest[i] = '\0';
        } 

    Можно ли как то заюзать данный код для команд и действительно ли он будет работать быстрее других?

  2. #2
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Да, эта функция быстрее, чем strtok. Но всё-равно лучше использовать sscanf2.

  3. #3
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Во сколько быстрее работает sscanf чем эта функция?

  4. #4
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Во сколько быстрее работает sscanf чем эта функция?
    Не знаю, проверь.

  5. #5
    Аватар для MacMailler
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.02.2014
    Сообщений
    38
    Репутация:
    15 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Во сколько быстрее работает sscanf чем эта функция?
    В шесть раз. Еще у sscanf'а функционала больше, чем у этой функции.

  6. Пользователь сказал cпасибо:
    vovandolg (19.01.2016)
  7. #6
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Использование sscanf2 действительно оправдано, если вы используете большое множество аргументов ( правда, не всегда ).

    Как-то давно выкладывал собственную реализацию функции Split ( далее переименовал в SplitString ).

    Реализация не идеальна, но, как я отметил в своей статье, она действительно, выполняется в несколько раз быстрее, чем стандартный split.
    Последний раз редактировалось L0ndl3m; 20.01.2016 в 00:21.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •