03:11
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
        
Зацените (13)
Max 24.02.2017 22:08
Подвиcание SA-MP (2)
Max 20.02.2017 21:57
MYSQL Донат (2)
JasonGordon 08.02.2017 10:39
 





Рекомендуем:
Добавить IP: 95.172.59.51:7777





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 1 из 11
Модератор форума: AXE, Weddew 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Что быстрее?
Что быстрее?
Matt_TuckДата: Вторник, 13.03.2012, 18:28 | Сообщение # 1
Местный
Группа: I'm V.I.P.
Сообщений: 710
Награды: 11
Город: Брянск
Репутация: 461
Замечания: 20%
Статус:
Как-то появилось у меня желание перевести мод на mysql, всё же удобно и функционально. Поставил плагин MySQL Plugin R6-2 by BlueG, перевёл весь мод и решил провести замер скорости и честно говоря я обалдел.

mysql
База данных находится на компьютере.
Code
stock LoadHouse()
{
   new query[400],idx,time = GetTickCount();
   mysql_query("SELECT * FROM `HouseInfo`");
   mysql_store_result();
   printf("[Загрузка Домов] Всего строк - %d ",mysql_num_rows());
   if(mysql_num_rows() > 0)
   {
    while (idx < sizeof(HouseInfo))
    {
     mysql_fetch_row(query);
     sscanf(query, "p<|>iffffffs[24]s[24]iiiiiiiiiiiii",
           HouseInfo[idx][idHouse],
     HouseInfo[idx][hEntrancex],
     HouseInfo[idx][hEntrancey],
     HouseInfo[idx][hEntrancez],
     HouseInfo[idx][hExitx],
     HouseInfo[idx][hExity],
     HouseInfo[idx][hExitz],
     HouseInfo[idx][hOwner],
     HouseInfo[idx][hDiscription],
     HouseInfo[idx][hValue],
     HouseInfo[idx][hHel],
     HouseInfo[idx][hArm],
     HouseInfo[idx][hInt],
     HouseInfo[idx][hLock],
     HouseInfo[idx][hOwned],
     HouseInfo[idx][hRent],
     HouseInfo[idx][hRentabil],
     HouseInfo[idx][hTakings],
     HouseInfo[idx][hVec],
     HouseInfo[idx][hVcol1],
     HouseInfo[idx][hVcol2],
     HouseInfo[idx][hLevel]);
     idx++;
    }
   }
   printf("[Загрузка Домов]:Было загружено - %d потрачено %d (ms)", idx,GetTickCount() - time);
   return 1;
}


[18:21:38] [Загрузка Домов] Всего строк - 294
[18:21:38] [Загрузка Домов]:Было загружено - 294 потрачено 424 (ms)

файлы
Code
stock LoadProperty()
{
   new strFromFile2[256],text[512],time = GetTickCount(),idx;
   new File: file = fopen("[House]/property.cfg", io_read);
   if (file)
   {
    while (idx < sizeof(HouseInfo))
    {
     fread(file, strFromFile2);
     sscanf(strFromFile2, "p<,>ffffffiiiiiis[24]s[24]iiiiiiiiiiiiiii",
     HouseInfo[idx][hEntrancex],
     HouseInfo[idx][hEntrancey],
     HouseInfo[idx][hEntrancez],
     HouseInfo[idx][hExitx],
     HouseInfo[idx][hExity],
     HouseInfo[idx][hExitz],
     HouseInfo[idx][hHealthx],
     HouseInfo[idx][hHealthy],
     HouseInfo[idx][hHealthz],
     HouseInfo[idx][hArmourx],
     HouseInfo[idx][hArmoury],
     HouseInfo[idx][hArmourz],
     HouseInfo[idx][hOwner],
     HouseInfo[idx][hDiscription],
     HouseInfo[idx][hValue],
     HouseInfo[idx][hHel],
     HouseInfo[idx][hArm],
     HouseInfo[idx][hInt],
     HouseInfo[idx][hLock],
     HouseInfo[idx][hOwned],
     HouseInfo[idx][hRooms],
     HouseInfo[idx][hRent],
     HouseInfo[idx][hRentabil],
     HouseInfo[idx][hTakings],
     HouseInfo[idx][hVec],
     HouseInfo[idx][hVcol1],
     HouseInfo[idx][hVcol2],
     HouseInfo[idx][hDate],
     HouseInfo[idx][hLevel]);
     if(HouseInfo[idx][hOwned] == 0)
     {
      format(text,sizeof(text),"{FF0000}* {FF9000}Дом № {FFFFFF}%d {FF0000}*\n{FFFFFF}Продается\n Цена:{FF9000}[$%d] \n {FFFFFF}Описание:{FF9000}[%s] \n {FFFFFF}Уровень:{FF9000}[%d]",idx, HouseInfo[idx][hValue],HouseInfo[idx][hDiscription], HouseInfo[idx][hLevel]);
      HousePickup[idx] = CreateDynamicPickup(1273, 2, HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez],-1);
      HouseIcon[idx] = CreateDynamicMapIcon(HouseInfo[idx][hEntrancex],HouseInfo[idx][hEntrancey],HouseInfo[idx][hEntrancez],31,0,-1,-1,-1,200.0);
     }
     else
     {
         if(HouseInfo[idx][hRentabil] == 0)
         {
       format(text,sizeof(text),"{FF0000}* {FF9000}Дом № {FFFFFF}%d {FF0000}*\n{FFFFFF}Владелец:{FF9000}[%s]\n{FFFFFF}Уровень:{FF9000}[%d]",idx,HouseInfo[idx][hOwner],HouseInfo[idx][hLevel]);
      }
      else
      {
          format(text,sizeof(text),"{FF0000}* {FF9000}Дом № {FFFFFF}%d {FF0000}*\n{FFFFFF}Владелец:{FF9000}[%s]\n{FFFFFF}Уровень:{FF9000}[%d]\n{FFFFFF}Аренда:{FF9000}[$%d]",idx,HouseInfo[idx][hOwner],HouseInfo[idx][hLevel],HouseInfo[idx][hRent]);
      }
      HouseIcon[idx] = CreateDynamicMapIcon(HouseInfo[idx][hEntrancex],HouseInfo[idx][hEntrancey],HouseInfo[idx][hEntrancez],32,0,-1,-1,-1,200.0);
      HousePickup[idx] = CreateDynamicPickup(1272, 2, HouseInfo[idx][hEntrancex], HouseInfo[idx][hEntrancey], HouseInfo[idx][hEntrancez],-1);
     }
     HouseLabel[idx] = CreateDynamic3DTextLabel(text,0xFFFFFFFF,HouseInfo[idx][hEntrancex],HouseInfo[idx][hEntrancey],HouseInfo[idx][hEntrancez]+1,20.0);
     idx++;
    }
      
   }
   fclose(file);
                printf("[Загрузка Домов]:Было загружено - %d потрачено %d (ms)", idx,GetTickCount() - time);
   return 1;
}

[Загрузка Домов]:Было загружено - 294 потрачено 6 (ms)

Может я что-то не так делал? Просто как-то разница очень велика и у меня резко отпало желание переходить на мускул.



Не в возрасте дело,а в культуре общения и уровне интеллектуального развития

Если вам лижут жопу, не обольщайтесь, возможно это для смазки.

Twitter - Follow Me ;)
Подписываемся на мой Паблик


Сообщение отредактировал Matt_Tuck - Вторник, 13.03.2012, 18:29
EakwarpДата: Вторник, 13.03.2012, 18:32 | Сообщение # 2
Мастер джэдай
Группа: Продвинутые
Сообщений: 4877
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
А кто сказал что мускул непременно быстрее файлов? Если использовать элементарное чтение файла, без всяких ини ридеров, и прочих заморочек, в максимально оптимизированном виде, то оно конечно будет быстрее чем ждать ответа от, например удаленной базы данных. Мускул это удобный способ хранения и использования информации, позволяющий быстро получить доступ до требуемых данных.


More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.


Valakas Roleplay on Twitter

Платные консультации, разработка, в ICQ. Дорого.
Matt_TuckДата: Вторник, 13.03.2012, 20:48 | Сообщение # 3
Местный
Группа: I'm V.I.P.
Сообщений: 710
Награды: 11
Город: Брянск
Репутация: 461
Замечания: 20%
Статус:
Eakwarp, Ясно. Спасибо.

Значит если и ставить мускул, то только из-за удобства работы с ним, в других случаях лучше файлы.



Не в возрасте дело,а в культуре общения и уровне интеллектуального развития

Если вам лижут жопу, не обольщайтесь, возможно это для смазки.

Twitter - Follow Me ;)
Подписываемся на мой Паблик
EakwarpДата: Вторник, 13.03.2012, 20:51 | Сообщение # 4
Мастер джэдай
Группа: Продвинутые
Сообщений: 4877
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус:
Quote (Matt_Tuck)
Значит если и ставить мускул, то только из-за удобства работы с ним

Сейчас 21 век, мускул пора уже использовать для любых данных, но, нужно грамотно обеспечивать условия его работы.



More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.


Valakas Roleplay on Twitter

Платные консультации, разработка, в ICQ. Дорого.
AirKiteДата: Вторник, 13.03.2012, 22:03 | Сообщение # 5
Долгожитель
Группа: I'm V.I.P.
Сообщений: 1671
Награды: 21
Город: Новосибирск
Репутация: 2070
Замечания: 0%
Статус:
Quote (Eakwarp)
Сейчас 21 век, мускул пора уже использовать для любых данных

Сказал как отрезал.

Matt_Tuck, Во многом зависит мощность MySQL сервера, выделяемых ему ресурсов и т.д. Суть не столько в скорости, сколько в функционале и возможностях. Если бы ты загружал или сохранял 1 дом, то MySQL мог бы оказаться гораздо быстрее... (К тому же твой способ с sscanf УГ). Далее сейчас наверное все MySQL плагины поддерживают отдельный поток, а это означает что не нужно останавливать основной поток дожидаясь ответа mysql сервера и т.д.

В общем подумай сам. Нужно ли тебе на пол секунды быстрее запускать сервер и жертвовать всем тем, что ты имеешь при MySQL? ;)



[1337GAMES] Easy RP
(SAMP SERVER, DEVELOPMENT, NOT SAMP-RP, SMART LIFE)


Jabber: airkite@qip.ru
[Addon] QuickBinder
[FS] Online Players Record
ВеликсДата: Суббота, 17.03.2012, 14:42 | Сообщение # 6
Мастер джэдай
Группа: Модераторы
Сообщений: 3923
Награды: 287
Город: Мухосранск
Репутация: 8404
Замечания: 0%
Статус:
Закрыто.


[cut=freestyle]
ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ ,
СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ,
ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ,
ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ.
УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА.
ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ.
ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ.
ЛЕНАРУ ДАЙ УМА И ЛЕНУ
НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ
© Хасан
[/cut]
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Что быстрее?
Страница 1 из 11
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM