Jump to content
Korean Random

[DONE] XFW Native - долгая загрузка


Pavel3333

Recommended Posts

5 минут назад, Mixaill сказал:

пропишу тут явно

тем самым Вы зададите повышенный приоритет того, что функция будет inline'овая, но инлайнить ее или нет - решит компилятор.

Link to comment
Short link
Share on other sites

Только что, GPCracker сказал:

@StranikS_Scan, @Pavel3333, когда-то давно я от скуки сидел гуглил, уже правда не помню что, но наткнулся на это. Весьма интересный материал, я бы сказал.

 

Одна жды один человек написал: "Когда на питоне начинаются разговоры про быстроту я сразу волнуюсь"  ©  ВЛ

Link to comment
Short link
Share on other sites

58 minutes ago, Pavel3333 said:

тоже читал, но не стоит оно того

Видимо ты не совсем внимательно читал. Ибо внимательный бы заметил, что компилятор съедает константные инструкции даже на нулевом уровне оптимизации, на последующих он начинает сжирать часть функций (как именно он выбирает, что ему сожрать, а что нет, я пока не разобрался толком). Говнокодеру с оптимизацией неправильно выбранных алгоритмов он конечно не поможет, а вот грамотному программисту может серьезно упростить жизнь, ибо делает написание кода более удобным за счет эффективной оптимизации разнообразного сахара.

58 minutes ago, Pavel3333 said:

а вот оптимизация Питона - это настоящее кредо...

Если продолжить написанное ранее, оптимизация по скорости работы это в первую очередь оптимизация алгоритма. Алгоритма, Паша! Не языка программирования, не процесса компиляции этого в исполняемый код. Алгоритма. Проблема скорости работы кода на 90%, если не более, лежит именно в алгоритмах. Потому как большая часть всех тормозов - это либо неправильно выбранный алгоритм (когда можно сделать существенно проще, и при этом корректно будут выполняться все возможные кейсы), либо ограничения самого алгоритма (к примеру, людям не известны способы организации сортировки со сложностью быстрее O(n), и то это только для самого лучшего случая). И именно поэтому нужно в первую очередь анализировать написанный тобой алгоритм на предмет нецелесообразных вычислений, а уже только потом пытаться оптимизировать процесс выполнения этого алгоритма. Если брать пример, что называется, на месте, то текущая проблема с медленной загрузкой связана именно с ненужными вычислениями, но никак не с тем, что компилятор что-то там неэффективно компилирует.

Edited by GPCracker
Link to comment
Short link
Share on other sites

4 часа назад, GPCracker сказал:

Если продолжить написанное ранее, оптимизация по скорости работы это в первую очередь оптимизация алгоритма. Алгоритма, Паша!

У меня хорошо оптимизированный говнокод, я даже следую PEP8!

  • Upvote 1
Link to comment
Short link
Share on other sites

On 13.05.2018 at 5:20 PM, Pavel3333 said:

тем самым Вы зададите повышенный приоритет того, что функция будет inline'овая, но инлайнить ее или нет - решит компилятор.

forceinline же

а вообще глупости какие-то

хотя и я вот думал, что можно вместо поиска по строке использовать поиск по хешу внутри двоичного дерева...

Link to comment
Short link
Share on other sites

32 минуты назад, SkepticalFox сказал:

а вообще глупости какие-то

конкретно?

 

32 минуты назад, SkepticalFox сказал:

вместо поиска по строке использовать поиск по хешу внутри двоичного дерева...

подробнее?

Link to comment
Short link
Share on other sites

1 час назад, Mixaill сказал:

com.modxvm.xfw.native_1.2.0.00044.wotmod

 

Попробуйте, со второго запуска должно быть шустрее.

чуточку шустрее.

Питон

Цитата

8-05-17 23:46:01.760: INFO: [XFW] Loading mod: com.modxvm.xfw.wotfix, v. 7.6.1.947
2018-05-17 23:46:01.916: INFO: [XFW] Loading mod: com.modxvm.xfw.crashfx, v. 7.6.1.947
2018-05-17 23:46:01.921: INFO: [XFW/VFS][c_extension_load] Native module loading error:
2018-05-17 23:46:01.922: ERROR: Traceback (most recent call last):
2018-05-17 23:46:01.922: ERROR:   File "mods/xfw/python/xfw/vfs.py", line 166, in c_extension_load
2018-05-17 23:46:01.922: ERROR: RuntimeError: [XFW/Crashfix] FAIL: function not found
2018-05-17 23:46:01.922: ERROR:
2018-05-17 23:46:01.922: INFO: =============================
2018-05-17 23:46:01.922: INFO: [XFW/Crashfix] Crash fix was applied.

 

Edited by Scharfhobel
Link to comment
Short link
Share on other sites

@Mixaill аналогично.
 

*** [XFW/VFS][c_extension_load] Native module loading error:
*** Traceback (most recent call last):
***   File "mods/xfw/python/xfw/vfs.py", line 166, in c_extension_load
*** RuntimeError: [XFW/Crashfix] FAIL: function not found
*** 
*** =============================
*** [XFW/Crashfix] Crash fix was applied.

 

@Mixaill замерил время.

Первый запуск:

*** time start: 3.92869420027e-07
загрузка XFW
*** time end: 45.8628795364

В следующем запуске клиент загружается моментально:

*** time start: 3.92869420027e-07
загрузка XFW
*** time end: 1.37995069489

то есть этим решением мы добились увеличением производительности XFW в 45 раз! Спасибо!

Link to comment
Short link
Share on other sites

34 minutes ago, Pavel3333 said:

То есть этим решением мы добились увеличением производительности XFW в 45 раз!

Сорок с лишним секунд на загрузку вместо одной-двух это нехилая такая просадка. Я конечно предполагал, что этот самый поиск дает существенное падение производительности, но чтобы настолько... Не понимаю только почему это сразу не пофиксили.

Link to comment
Short link
Share on other sites

6 часов назад, GPCracker сказал:

Не понимаю только почему это сразу не пофиксили.

40 - это как-то слишком дофига. У меня разница вообще незаметна на ноутбучном i7 Haswell.

Edited by Mixaill
  • Upvote 1
Link to comment
Short link
Share on other sites

21 minutes ago, Mixaill said:

40 - это как слишком дофига. У меня разница вообще незаметна на ноутбучном i7 Haswell.

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

Но факт остается фактом - на некоторых конфигурациях железа оптимизация дает существенное улучшение производительности.

@Pavel3333, в таком случае конфигурацию железа по возможности в студию.

Link to comment
Short link
Share on other sites

30 минут назад, GPCracker сказал:

 

@Pavel3333, в таком случае конфигурацию железа по возможности в студию.

В 16 часов по МСК дам полный дамп, сейчас по памяти.

Проц AMD Phenom II X3 710

Память 2x2GB DDR2 667MHz

Материнка Gigabyte GA-MA78LM??

HDD WD Blue 500GB

Link to comment
Short link
Share on other sites

12 часов назад, Mixaill сказал:

com.modxvm.xfw.native_1.2.0.00044.wotmod

 

Попробуйте, со второго запуска должно быть шустрее.

Реально быстро стало грузиться.Разницы с загрузкой на чистом клиенте практически нет.Спасибо что оптимизировали,а то перед этим вообще жесть была.

Link to comment
Short link
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...