
DrWebber
User-
Posts
82 -
Joined
Reputation
5 NoobBasic information
-
Gender
Не определилось ;)
Recent Profile Visitors
5,007 profile views
-
Документация по игровому питону BigWorld
DrWebber replied to iogami's topic in ActionScript & Python
Сейчас попробовал выполнить print help(BigWorld), все на месте, никаких модов не стоит. INFO: wgAddEdgeDetectEntity(...) INFO: INFO: wgDelEdgeDetectEntity(...) INFO: INFO: wgSetEdgeDetectColors(...) -
Документация по игровому питону BigWorld
DrWebber replied to iogami's topic in ActionScript & Python
Ну так посмотри) res_bw\scripts\common\lib\pydoc.pyc Только я не думаю, что он чем-то отличается. -
Документация по игровому питону BigWorld
DrWebber replied to iogami's topic in ActionScript & Python
Ну если они есть в dir(BigWorld), значит все в порядке. А функция help(она же класс _Helper), на самом деле не __builtin__ - она добавлена туда "искусственно". И как она работает можно посмотреть в модуле pydoc. class _Helper(object): """Define the builtin 'help'. This is a wrapper around pydoc.help (with a twist). """ def __repr__(self): return "Type help() for interactive help, " \ "or help(object) for help about object." def __call__(self, *args, **kwds): import pydoc return pydoc.help(*args, **kwds) def sethelper(): __builtin__.help = _Helper() -
Пойдет. Тест PS Не используй в качестве префикса двойное нижнее подчеркивание - это приводит к проблемам внутри классов. PPS Вот такая штука приводит к неправильной работе обфускатора: def trace(exc=None): print "/------------------------ Traceback --------------------------------\\" if exc is not None: log("[ERROR] " + str(exc)) traceback.print_exc() else: traceback.print_stack() print "\\------------------------------------------------------------------/"
-
Ахаха, дай угадаю, этот мод случайно не убирает простреливаемые объекты с карты?
-
Я про Фому, ты про Ерему. Какой смысл вообще вести разговор о циклах и учитывать только одну итерацию? Это конечно все очень сильно меняло бы, если это было бы так. Давай решим простую задачку для 5ого класса. Вася пробежал 100 метровку за 10с, а Маша за 30с. Во сколько раз медленнее Васи бегает 100м Маша? Собственно я об этом и говорил: "Обфусцированный код выполняется в 75! раз медленнее обычного(15/0.2)" (с) Ты серьезно вообще сейчас? 1) У меня до твоей обфускации не было ни одной строки в том цикле. Про что я тебе и пытаюсь сказать. o.attribute => getattr(o, 'attribute') <- вот появилась строка getattr(o, ''.join(map(chr,((181^212),(160^212),(160^212),(166^212),(189^212),(182^212),(161^212),(160^212),(177^212))))) <- а вот она уже жрет процессорное время 2) Ты действительно считаешь, что простой перебор 2600 строк это долго? Строки, с точки зрения питона, ничем не отличаются от других объктов. Это самый обыкновенный char* + PyObject_HEAD. PyObject_HEAD - стандартный заголовок, в котором содержится счетчик ссылок и информация о типе. Блин, вот не поленился и специально провел замеры. Взял один и тот же реплей и сделал 3 испытания: 1) Запустил вообще без модов. 2) Запустил с модом без обфускации, в котором каждые 200мс вызывается тот самый перебор 2600 элементов. 3) Запустил обфусцированный мод из пункта 2. Вот результаты: Думаю дальше о чем-то спорить нет смысла. UPD: А вот это уже норм должно быть.
-
Согласен. Без понятия, смотря сколько итераций в цикле. Она составит 100мс + (14.8/10^6)*N, где N - количество итераций в цикле 100мс + (14.8/10^6)*N*1000 Ничего подобного, процедура aaa вызывается в обоих случаях и время затраченное на это учитывается тоже в обоих случаях. Да что там говорить, взял сейчас свой мод, обфусцировал. Там в цикле перебирается list из 2600 элементов. Ну и естественно ожидаемые фризы, когда до него доходит дело. Короче, все очевидно же, чем больше конструкций вида x.y при совместной обфускации(structure, затем strings), тем сильнее будут фризы.
-
Это с какой солью? Натриевой или поваренной? Короче развод для л*хов. ПоЦАны нИкачаЙТе он ваШи ПАроле ТЫриТ!!!!! Мда, а алгоритм настолько серьезен, что его нельзя даже называть. Правильно, str.lower()/upper() для лохов.