Перейти к содержимому
Korean Random
Pavel3333

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

Рекомендуемые сообщения

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

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

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

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
(изменено)

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

Изменено пользователем GPCracker
  • Нравится 1

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах

Снёс хвм, клиент грузиться прям моментально.

А я картофель ругал.. :mellow:

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах

@GPCracker тоже читал, но не стоит оно того :)

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

@Scharfhobel Совместными усилиями дай Бог и XVM станет грузиться быстрее ;)

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
Только что, GPCracker сказал:

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

 

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

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
(изменено)
58 minutes ago, Pavel3333 said:

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

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

58 minutes ago, Pavel3333 said:

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

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

Изменено пользователем GPCracker

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
4 часа назад, GPCracker сказал:

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

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

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах

@Mixaill, будут ли проводиться изменения в XFW Native?

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
On 13.05.2018 at 5:20 PM, Pavel3333 said:

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

forceinline же

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

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

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
32 минуты назад, SkepticalFox сказал:

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

конкретно?

 

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

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

подробнее?

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах

com.modxvm.xfw.native_1.2.0.00044.wotmod

 

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

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
(изменено)
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.

 

Изменено пользователем Scharfhobel

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах

@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 раз! Спасибо!

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
34 minutes ago, Pavel3333 said:

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

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

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
(изменено)
6 часов назад, GPCracker сказал:

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

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

Изменено пользователем Mixaill
  • Нравится 1

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
19 минут назад, Mixaill сказал:

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

+1

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
21 minutes ago, Mixaill said:

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

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

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

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

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
30 минут назад, GPCracker сказал:

 

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

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

Проц AMD Phenom II X3 710

Память 2x2GB DDR2 667MHz

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

HDD WD Blue 500GB

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
(изменено)
32 minutes ago, Pavel3333 said:

Память 2x2GB DDR2 667MHz

Ты где откопал такого динозавра? Они разве еще не вымерли?

Кстати, наверное будет в тему :)

Изменено пользователем GPCracker

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах
12 часов назад, Mixaill сказал:

com.modxvm.xfw.native_1.2.0.00044.wotmod

 

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

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

Поделиться сообщением


Ссылка на сообщение

Короткая ссылка
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×