 |
|

05.02.2016, 18:47
|
|
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами:
5732336
Репутация:
0
|
|
Сообщение от velafrys
Не нужно воспринимать сообщения, который Вас не поддерживает как поддержку GenCloud, ровно как и вопросы, на которые Вы не можете ответить.
GenCloud уже ответил на вопрос - второй участок кода выполнится быстрее.
К чему я его задавал?
Я просто хотел показать, что писать нормальнонужно сразу.Не нужно мне говорить, мол, "код не оптимизирован" и все такое. Это не тот случай, чтобы простые вещи оптимизировать когда-то там. Нужно использовать StringBuilder, а не рассказывать кулстори. В любом случае, Ваш код менее производителен, в плане этих конкатенаций в цикле.
И я даже не знаю, удивляться мне или нет тому, что Вы не смогли прямо ответить на вопрос, а задвигаете речи про ассемблер.
Здесь "оптимизация" не уровня ассемблерных ставок, а скорее хорошего тона, или просто знание базовых вещей.
Опровергнете это?
Дописать туда StringBuilder - это типа для чего?
Код не просто "не оптимизирован", а он не нуждается в такой "оптимизации" вообще.
Добавление StringBulder сделает из кода говнокод в этом конкретном случае. И абсолютно ничего не решит. Это достаточно очевидный факт. Я так понимаю, что ты этого не понимаешь.
Вот такое простое опровержение фактом. А буду еще факты.
Ты не опроверг еще ни одно утверждение, и особенно утверждение, что код пишется для выполнения - ты не согласен с этим фактом?
Я еще раз настаиваю на том факте, что код написанный на ассемблере для конкатенции строк будет работать быстрее чем пример на java.
Опровергни это, ты же рассуждаешь о примере - вот тебе пример.
Еще одно, с чего ты решил что ассемблер - это всегда вставка в java-коде?
И последнее утверждение, с чего ты решил, что все очерчено рамками примера?
Жду
|
|
|

05.02.2016, 18:49
|
|
Постоянный
Регистрация: 13.04.2015
Сообщений: 454
С нами:
5834308
Репутация:
2128
|
|
Сообщение от Visor123
Я не тестировал, но предположу что быстрее будет на ассемблере
Утверждение состоит в том, что есть такая информация по работе с конкатенцией строк - источник я тоже привел, кто хочет может проверить и сообщить результаты.
В данном случае речь идет не о 100000 конкатенций, а о том, что конкатенция строк не такая уж и медленная процедура сама по себе. Вырывание класса без контента целей его написания глупо само по себе и последовательно это будет понятно. И соответственно, что выродок дернул код не понимая, почему он так написан, думая что это говнокод, а так же будет доказано - что выродок - это не оскорбление человек - а именно выродок наглый и тупой.
Не получится перевести стрелку в обратную сторону, каждое мое утверждение либо можно подтвердить, либо опровергнуть, но только самостоятельно. Пока сообщение ничего не подтверждает и не опровергает.
В итоге последовательных рассуждений мы увидим, что это не только не говнокод, и даже что это не плохой код или как там писал "код не идеален", а оптимальное решения для своей задачи и сделанное именно вот так в таком вот классе.
Следующее утверждение такое: код пишется для того, чтобы выполняться. Классы пишутся, чтобы выполнять свою объектную задачу и цель их написания может быть формализована.
Кто опровергнет такое утверждение?
|
|
|

05.02.2016, 18:52
|
|
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами:
5732336
Репутация:
0
|
|
Теперь обратите внимание как обосрался GenCloud - он не в состоянии опровергнуть тот факт, что конкатенция строк на ассемблере будет выполняться быстрее.
Жду опровержения, или GenCloud обычный клоун.
И обратите внимание как дегенерат GenCloud кривляется, видео выкладывает даже, типа такой шутник.
|
|
|

05.02.2016, 18:59
|
|
Участник форума
Регистрация: 03.02.2016
Сообщений: 148
С нами:
5407316
Репутация:
0
|
|
Сообщение от Visor123
Дописать туда StringBuilder - это типа для чего?
Код не просто "не оптимизирован", а он не нуждается в такой "оптимизации" вообще.
Добавление StringBulder сделает из кода говнокод в этом конкретном случае. И абсолютно ничего не решит. Это достаточно очевидный факт. Я так понимаю, что ты этого не понимаешь.
Вот такое простое опровержение фактом. А буду еще факты.
Ты не опроверг еще ни одно утверждение, и особенно утверждение, что код пишется для выполнения - ты не согласен с этим фактом?
Опровержение, не здесь, в вообще код написанный на ассемблере по конкатенции строк будет выполнятся быстрее чем твой конкретный пример на java.
Опровергни это, ты же рассуждаешь о "вообще"
StringBuilder - это типа для того, чтобы строку билдить.
Он придуман для этого, именно для этого.
И он работает быстрее, и в коде выглядит приятнее.
Я понять не могу, для Вас качество кода и эффективность работы это не аргумент?
"Код пишется для выполнения" - это по определению, тут доказывать ничего не надо.
Но если выбирать между понятным и эффективным кодом (который выполняется/работает) и просто кодом (который выполняется, фиг знает как, конечно, ведь все в конкатенациях, при этом мысль о том, что каждый раз в итерации цикла будет неявно создаваться экземпляр StringBuilder не дает покоя), то я выбираю первое.
|
|
|

05.02.2016, 19:06
|
|
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами:
5732336
Репутация:
0
|
|
Сообщение от velafrys
StringBuilder - это типа для того, чтобы строку билдить.
Он придуман для этого, именно для этого.
И он работает быстрее, и в коде выглядит приятнее.
Я понять не могу, для Вас качество кода и эффективность работы это не аргумент?
"Код пишется для выполнения" - это по определению, тут доказывать ничего не надо.
Но если выбирать между понятным и эффективным кодом (который выполняется/работает) и просто кодом (который выполняется, фиг знает как, конечно, ведь все в конкатенациях, при этом мысль о том, что каждый раз в итерации цикла будет неявно создаваться экземпляр StringBuilder не дает покоя), то я выбираю первое.
С чего ты решил, что все очерчено рамками твоего примера?
Это ключ, ответ на который даст тебе ответ на все остальные твои вопросы.
""Код пишется для выполнения" - это по определению, тут доказывать ничего не надо."
Конкретно для тебя это не очевидно судя из твоих речей, потому что ты не понял что это вообще за класс и какие он выполняет задачи. Когда выродок кинул класс без контекста приложения, это тоже самое что из 4 томов "Война и Мир" взять слово "Война" и сказать что это плохо.
А писать на каждую проверку по StringBuilder или что ты там подразумеваешь, это говнокод. Это очевидно, разве не так?
Ты уж определись, ты рассуждаешь о вообще или о конкретной реализации чего, ты знаешь чего?
Могу так же уверить вас, что на 99,999% выродок тоже не в курсе что он взял за класс.
|
|
|

05.02.2016, 19:25
|
|
Постоянный
Регистрация: 13.04.2015
Сообщений: 454
С нами:
5834308
Репутация:
2128
|
|
Сообщение от Visor123
Теперь обратите внимание как обосрался GenCloud - он не в состоянии опровергнуть тот факт, что конкатенция строк на ассемблере будет выполняться быстрее.
Жду опровержения, или GenCloud обычный клоун.
И обратите внимание как дегенерат GenCloud кривляется, видео выкладывает даже, типа такой шутник.
Шутка состоит в том, что выродка Gencloud поймали и он тут кривляется.
Да жди пока рак на горе свиснет, дискаса не будет с хохло выродками.
|
|
|

05.02.2016, 19:28
|
|
Участник форума
Регистрация: 03.02.2016
Сообщений: 148
С нами:
5407316
Репутация:
0
|
|
Сообщение от Visor123
потому что ты не понял что это вообще за класс и какие он выполняет задачи.
Я вижу кусок кода, где в цикле кишат конкатенации (которые медленнее и неудобнее, в плане поддержки кода), вместо использования .append.
Какая разница, что делает класс? Или если я вырвал из контекста, то я упустил возможность предположить заведомо неэффективную работу класса?
Сообщение от Visor123
А писать на каждую проверку по StringBuilder или что ты там подразумеваешь, это говнокод. Это очевидно, разве не так?
Речь ведь о цикле идет. Про эти тонны if - я ничего не говорю.
У меня нет цели разводить ругань, и уж тем более поддерживать GenCloud.
Сообщение от Visor123
Ты уж определись, ты рассуждаешь о вообще или о конкретной реализации чего, ты знаешь чего?
И то, и другое. Совместимые вещи в этом случае.
"Еще одно, с чего ты решил что ассемблер - это всегда вставка в java-коде?"
Я не сказал, что всегда. Речь была о конкатенации строк и StringBuilder, а Вы приплели ассемблер.
И вообще, что за игры в презумпцию виновности? Почему кто-то должен что-то опровергать и доказывать?
Я просто привожу факт: склеивание строк исключительнос помощью StringBuilder лучше, нежели с использованием "+".
В ответ же слышу рассказы о том, что GenCloud плохой(скорее всего может оно и так, но я не за этим сюда пришел), из контекста все вырвали, да вообще не знаем этот класс нужен. Да вот только все это не важно.
Плохойучасток кода в классе делает класс плохим.
В ответ на это слышу рассказы о том, что вырвали неиспользуемый класс.
Ну раз так, то пока он использовался там было все нормально, а как перестал использоваться - конкатенаций настрочили, да?
|
|
|

05.02.2016, 19:44
|
|
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами:
5732336
Репутация:
0
|
|
Сообщение от velafrys
Я вижу кусок кода, где в цикле кишат конкатенации (которые медленнее и неудобнее, в плане поддержки кода), вместо использования .append.
"В цикле кишат конкатенции"? Где там цикл конкатенций в моем классе?
Покажи конктерное место, где цикл конкатенций и как твой пример относится к моему классу.
То что в одном блоке if идут конкатенции в разные переменные - именно так и нужно для проверок, иначе эту задачу не решить не клонируя класс для множества типов. Или ты думаешь что ты решишь эту задачу?
Не смеши про append. пример приведи))))
Перед этим пример был некорректным для представленного класса.
|
|
|

05.02.2016, 19:47
|
|
Участник форума
Регистрация: 03.02.2016
Сообщений: 148
С нами:
5407316
Репутация:
0
|
|
Код:
Код:
for (L2EventGroupEngineInstance event: _eventInstances.values()) {
replyMSG.append("" + event.getName() + "" + "" + "" + "");
}
Вот этот цикл.
|
|
|

05.02.2016, 19:51
|
|
Постоянный
Регистрация: 22.06.2015
Сообщений: 766
С нами:
5732336
Репутация:
0
|
|
Сообщение от velafrys
И то, и другое. Совместимые вещи в этом случае.
"Еще одно, с чего ты решил что ассемблер - это всегда вставка в java-коде?"
Я не сказал, что всегда. Речь была о конкатенации строк и StringBuilder, а Вы приплели ассемблер.
И вообще, что за игры в презумпцию виновности? Почему кто-то должен что-то опровергать и доказывать?
Я просто привожу факт: склеивание строк исключительнос помощью StringBuilder лучше, нежели с использованием "+".
В ответ же слышу рассказы о том, что GenCloud плохой(скорее всего может оно и так, но я не за этим сюда пришел), из контекста все вырвали, да вообще не знаем этот класс нужен. Да вот только все это не важно.
Плохойучасток кода в классе делает класс плохим.
В ответ на это слышу рассказы о том, что вырвали неиспользуемый класс.
Ну раз так, то пока он использовался там было все нормально, а как перестал использоваться - конкатенаций настрочили, да?
Нельзя совместить "то и другое", ты не тот пример взял - ты его глянь - он очевиден для случая конкатенции в 1 класс StringBuilder и в переменную с явным циклом.
Но для случая "1"+"2" так и со StringBuilder ответ не очевиден, скорее всего что время выполнения будет одинаковым.
В моем классе соединять все строки в 1 переменную StringBuilder - это вообще как тогда проверять что-то?
Почему ответ был, что конкатенция быстрее на ассемблере, потому что твой пример не включает варианты моего класса про цикл (из серии что быстрее, но оно не надо быстрее - нужно проверить варианты, а не соединить много строк), а вот реализация конкатенции вообще любыми методами включает мой класс - так что мой ответ правильный.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|