 |
|
 |
|
|
|
Последние Файлы GTA 4 |
Последние Файлы GTA-MP |
Реклама |
|
|
|
|
|
Что быстрее?
| |
| 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 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 4874
Награды: 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 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 4874
Награды: 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 |
|
Мастер джэдай
Группа:
Модераторы
Сообщений: 3931
Награды: 287
Город: Мухосранск
Репутация: 8429
Замечания: 0%
Статус: 
| Закрыто.
[cut=freestyle] ПРИНЕСЛА СОРОКА В РОТЕ ПРИВОРОТ , СВЯЗАЛАСЬ НА ШЕЕ ЛОЗА И БЫЛ ПОЛНЫЙ ПИ**ЕЦ, ОСЕНЬ С ЗИМОЙ, ЛЕТО С ВЕСНОЙ, ГУСЬ С ЛИСОЙ, ЕБ**ИСЬ ВО ТЬМЕ НОЧНОЙ. УЗЕЛ ЗАВЯЗАЛСЯ, ПЕПЕЛ РАЗМЕТАЛСЯ И ЛИСА ЗАБЕРЕМЕНЕЛА. ВМЕСТЕ ВЕК ВЕКОВАТЬ, ПУТУ НЕ РАЗВЯЗАТЬ. ТРАВА ПЕРЕПЛЕТИСЬ, УЗЕЛ ЗАВОРОЖИСЬ. ЛЕНАРУ ДАЙ УМА И ЛЕНУ НА ВЕЛЕ НЕ ОТРАЗИСЬ,ЕБ*СЬ ЕБ*СЬ ЕБ*СЬ © Хасан [/cut]
|
| |
|
|
|
 |
|
 | |
| |
|