Написание плагинов
#45

Запилил нормальный тестовый мод без мусора:
Code:
#include <a_samp>
#include <jit>
#include <tp>

#define TEXT "Юc№,Q)CxТФLrнПкХBjф[oiCЧм<bhшЗ,ыWR]ЁxчM}*Д8аCbР+bэjЭ1№D=оnнM!чepWo%GTKЧyR6VTЙSАщэЭSem юjFOЩ]ЭьтЛНЖ.ЧHLЛ"

main(){}

public OnGameModeInit()
{
	new time = GetTickCount();
    for (new i; i < 1000000; i++)
	{
		TP_ToLowerString(TEXT);
	}
    printf("PLUGIN: %d ms", GetTickCount() - time);
    
    time = GetTickCount();
    for (new i; i < 1000000; i++)
    {
        UpperToLower(TEXT);
    }
    printf("PAWN UpperToLower: %d ms", GetTickCount() - time);

    time = GetTickCount();
    for (new i; i < 1000000; i++)
    {
        StringToLowerByTable_ASCII(TEXT);
    }
    printf("PAWN StringToLowerByTable_ASCII: %d ms", GetTickCount() - time);
	return 1;
}

new chars_lower_ascii[] = // en+ru
{
	0x00010203,0x04050607,0x08090A0B,0x0C0D0E0F,0x10111213,0x14151617,0x18191A1B,0x1C1D1E1F,
	0x20212223,0x24252627,0x28292A2B,0x2C2D2E2F,0x30313233,0x34353637,0x38393A3B,0x3C3D3E3F,
	0x40616263,0x64656667,0x68696A6B,0x6C6D6E6F,0x70717273,0x74757677,0x78797A5B,0x5C5D5E5F,
	0x60616263,0x64656667,0x68696A6B,0x6C6D6E6F,0x70717273,0x74757677,0x78797A7B,0x7C7D7E7F,
	0x80818283,0x84858687,0x88898A8B,0x8C8D8E8F,0x90919293,0x94959697,0x98999A9B,0x9C9D9E9F,
	0xA0A1A2A3,0xA4A5A6A7,0xB8A9AAAB,0xACADAEAF,0xB0B1B2B3,0xB4B5B6B7,0xB8B9BABB,0xBCBDBEBF,
	0xE0E1E2E3,0xE4E5E6E7,0xE8E9EAEB,0xECEDEEEF,0xF0F1F2F3,0xF4F5F6F7,0xF8F9FAFB,0xFCFDFEFF,
	0xE0E1E2E3,0xE4E5E6E7,0xE8E9EAEB,0xECEDEEEF,0xF0F1F2F3,0xF4F5F6F7,0xF8F9FAFB,0xFCFDFEFF
};
stock StringToLowerByTable_ASCII(string[]) {
	new index = -1;
	while(string[++index]) {
			string[index] = chars_lower_ascii{string[index]};

	}
}

UpperToLower(string[])
{
    new len = strlen(string);
    for (new i; i < len; i++)
    {
        switch (string[i])
        {
            case 'A': string[i] = 'a';
            case 'B': string[i] = 'b';
            case 'C': string[i] = 'c';
            case 'D': string[i] = 'd';
            case 'E': string[i] = 'e';
            case 'F': string[i] = 'f';
            case 'G': string[i] = 'g';
            case 'H': string[i] = 'h';
            case 'I': string[i] = 'i';
            case 'J': string[i] = 'j';
            case 'K': string[i] = 'k';
            case 'L': string[i] = 'l';
            case 'M': string[i] = 'm';
            case 'N': string[i] = 'n';
            case 'O': string[i] = 'o';
            case 'P': string[i] = 'p';
            case 'Q': string[i] = 'q';
            case 'R': string[i] = 'r';
            case 'S': string[i] = 's';
            case 'T': string[i] = 't';
            case 'U': string[i] = 'u';
            case 'V': string[i] = 'v';
            case 'W': string[i] = 'w';
            case 'X': string[i] = 'x';
            case 'Y': string[i] = 'y';
            case 'Z': string[i] = 'z';
            case 'А': string[i] = 'а';
            case 'Б': string[i] = 'б';
            case 'В': string[i] = 'в';
            case 'Г': string[i] = 'г';
            case 'Д': string[i] = 'д';
            case 'Е': string[i] = 'е';
            case 'Ё': string[i] = 'ё';
            case 'Ж': string[i] = 'ж';
            case 'З': string[i] = 'з';
            case 'И': string[i] = 'и';
            case 'Й': string[i] = 'й';
            case 'К': string[i] = 'к';
            case 'Л': string[i] = 'л';
            case 'М': string[i] = 'м';
            case 'Н': string[i] = 'н';
            case 'О': string[i] = 'о';
            case 'П': string[i] = 'п';
            case 'Р': string[i] = 'р';
            case 'С': string[i] = 'с';
            case 'Т': string[i] = 'т';
            case 'У': string[i] = 'у';
            case 'Ф': string[i] = 'ф';
            case 'Х': string[i] = 'х';
            case 'Ц': string[i] = 'ц';
            case 'Ч': string[i] = 'ч';
            case 'Ш': string[i] = 'ш';
            case 'Щ': string[i] = 'щ';
            case 'Ъ': string[i] = 'ъ';
            case 'Ы': string[i] = 'ы';
            case 'Ь': string[i] = 'ь';
            case 'Э': string[i] = 'э';
            case 'Ю': string[i] = 'ю';
            case 'Я': string[i] = 'я';
        }
    }
}
Обращаю внимание на то что в сборке от автора не подключён jit плагин!

Система: Core i7-3630QM 2.4GHz, 16Gb
Результаты:
Code:
PLUGIN: 713 ms
PAWN UpperToLower: 1560 ms
PAWN StringToLowerByTable_ASCII: 478 ms
Во вложении уже исправленная сборка.
Reply


Messages In This Thread
Написание плагинов - by Diman777 - 13.02.2017, 01:51
Re: Написание плагинов - by White_116 - 13.02.2017, 08:29
Re: Написание плагинов - by DartfoL - 13.02.2017, 09:09
Re: Написание плагинов - by OstGot - 13.02.2017, 09:36
Re: Написание плагинов - by DartfoL - 13.02.2017, 10:21
Re: Написание плагинов - by Mutha_X - 13.02.2017, 10:31
Re: Написание плагинов - by Diman777 - 13.02.2017, 13:45
Re: Написание плагинов - by Mutha_X - 13.02.2017, 15:37
Re: Написание плагинов - by White_116 - 13.02.2017, 15:47
Re: Написание плагинов - by Mutha_X - 13.02.2017, 16:53
Re: Написание плагинов - by Diman777 - 13.02.2017, 16:59
Re: Написание плагинов - by White_116 - 13.02.2017, 18:24
Re: Написание плагинов - by Diman777 - 13.02.2017, 19:00
Re: Написание плагинов - by DartfoL - 13.02.2017, 19:14
Re: Написание плагинов - by ZiGGi - 13.02.2017, 19:21
Re: Написание плагинов - by DartfoL - 13.02.2017, 19:27
Re: Написание плагинов - by Diman777 - 13.02.2017, 19:37
Re: Написание плагинов - by ZiGGi - 13.02.2017, 20:13
Re: Написание плагинов - by Mutha_X - 13.02.2017, 20:36
Re: Написание плагинов - by stabker - 13.02.2017, 20:39
Re: Написание плагинов - by Diman777 - 13.02.2017, 21:04
Re: Написание плагинов - by ZiGGi - 13.02.2017, 21:14
Re: Написание плагинов - by Diman777 - 13.02.2017, 21:33
Re: Написание плагинов - by joker2020pro - 14.02.2017, 05:17
Re: Написание плагинов - by White_116 - 14.02.2017, 08:19
Re: Написание плагинов - by Diman777 - 14.02.2017, 12:47
Re: Написание плагинов - by Mutha_X - 14.02.2017, 17:05
Re: Написание плагинов - by White_116 - 14.02.2017, 17:24
Re: Написание плагинов - by ZiGGi - 14.02.2017, 19:59
Re: Написание плагинов - by Diman777 - 14.02.2017, 20:48
Re: Написание плагинов - by Mutha_X - 14.02.2017, 22:00
Re: Написание плагинов - by Stepashka - 15.02.2017, 06:03
Re: Написание плагинов - by MIASO - 15.02.2017, 21:39
Re: Написание плагинов - by Diman777 - 15.02.2017, 22:30
Re: Написание плагинов - by MIASO - 16.02.2017, 12:59
Re: Написание плагинов - by Diman777 - 16.02.2017, 18:37
Re: Написание плагинов - by Bombo - 16.02.2017, 18:55
Re: Написание плагинов - by Diman777 - 16.02.2017, 19:12
Re: Написание плагинов - by DartfoL - 17.02.2017, 19:20
Re: Написание плагинов - by Diman777 - 17.02.2017, 20:24
Re: Написание плагинов - by DartfoL - 18.02.2017, 08:26
Re: Написание плагинов - by MIASO - 19.02.2017, 14:22
Re: Написание плагинов - by DartfoL - 19.02.2017, 16:11
Re: Написание плагинов - by Diman777 - 20.02.2017, 02:12
Re: Написание плагинов - by Stepashka - 20.02.2017, 05:05
Re: Написание плагинов - by MIASO - 20.02.2017, 10:13
Re: Написание плагинов - by DartfoL - 20.02.2017, 11:26
Re: Написание плагинов - by White_116 - 20.02.2017, 18:30
Re: Написание плагинов - by Diman777 - 20.02.2017, 19:49
Re: Написание плагинов - by White_116 - 20.02.2017, 19:59
Re: Написание плагинов - by OKStyle - 21.02.2017, 03:17
Re: Написание плагинов - by White_116 - 21.02.2017, 04:35
Re: Написание плагинов - by MIASO - 21.02.2017, 12:31
Re: Написание плагинов - by Stepashka - 21.02.2017, 12:40
Re: Написание плагинов - by Kolstin - 21.02.2017, 13:55
Re: Написание плагинов - by White_116 - 21.02.2017, 15:23
Re: Написание плагинов - by MIASO - 21.02.2017, 18:00
Re: Написание плагинов - by White_116 - 21.02.2017, 18:13
Re: Написание плагинов - by Gettopro - 21.02.2017, 18:24
Re: Написание плагинов - by DartfoL - 21.02.2017, 19:52
Re: Написание плагинов - by Diman777 - 21.02.2017, 20:05
Re: Написание плагинов - by NarutoUA - 21.02.2017, 20:13
Re: Написание плагинов - by Diman777 - 21.02.2017, 20:29
Re: Написание плагинов - by DartfoL - 21.02.2017, 20:31
Re: Написание плагинов - by NarutoUA - 21.02.2017, 20:46
Re: Написание плагинов - by Diman777 - 21.02.2017, 22:03
Re: Написание плагинов - by MIASO - 21.02.2017, 22:11
Re: Написание плагинов - by Diman777 - 21.02.2017, 22:46
Re: Написание плагинов - by MIASO - 21.02.2017, 23:41
Re: Написание плагинов - by DartfoL - 22.02.2017, 10:42
Re: Написание плагинов - by Mutha_X - 23.02.2017, 21:24
Re: Написание плагинов - by MIASO - 23.02.2017, 21:35
Re: Написание плагинов - by Mutha_X - 23.02.2017, 21:58
Re: Написание плагинов - by DartfoL - 24.02.2017, 07:32
Re: Написание плагинов - by Mutha_X - 24.02.2017, 07:48
Re: Написание плагинов - by ZiGGi - 24.02.2017, 07:49
Re: Написание плагинов - by Mutha_X - 24.02.2017, 08:13
Re: Написание плагинов - by Mutha_X - 24.02.2017, 08:15
Re: Написание плагинов - by ZiGGi - 24.02.2017, 08:30
Re: Написание плагинов - by ZiGGi - 24.02.2017, 08:58
Re: Написание плагинов - by DartfoL - 24.02.2017, 09:12
Re: Написание плагинов - by Diman777 - 17.03.2017, 00:17
Re: Написание плагинов - by joker2020pro - 17.03.2017, 07:56
Re: Написание плагинов - by Diman777 - 17.03.2017, 18:33

Forum Jump:


Users browsing this thread: 5 Guest(s)