Оптимизация виртуальной машины

Более простое решение:

pd.DataFrame(df2.teams.tolist(), columns=['team1', 'team2'])

Выход,

  team1 team2
-------------
0    SF   NYG
1    SF   NYG
2    SF   NYG
3    SF   NYG
4    SF   NYG
5    SF   NYG
6    SF   NYG
7    SF   NYG

Если вы хотите разбить столбец с разделителями, а не на списки, вы также можете сделать следующее:

pd.DataFrame(df.teams.str.split('<delim>', expand=True).values,
             columns=['team1', 'team2'])
9
задан Greg Hurlman 21 August 2008 в 14:42
поделиться

7 ответов

Я просто собираюсь добавлять две ссылки, которые объясняют байт-код Java вполне прилично и часть различной оптимизации JVM во время времени выполнения.

4
ответ дан 4 December 2019 в 15:30
поделиться

Оптимизация - то, что делает JVMs жизнеспособный как среды для длинных запущенных приложений, можно держать пари, что SUN, IBM и друзья прилагают все усилия, чтобы гарантировать, что они могут оптимизировать байт-код и скомпилированный код JIT в эффективном способ как возможные.

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

Стоит знать, однако, что JVMs может склоняться к выполнению лучше (и не катастрофический отказ) при представлении только с видом байт-кода компилятор Java имеет тенденцию создавать. Это не неизвестно, чтобы оптимизации были пропущены или даже чтобы JVM отказала, когда перестановки байт-кода происходят, которые корректны, но в отличие от того, что было бы произведено javac. Надо надеяться, такая вещь находится больше в прошлом теперь, но может быть чем-то для знания.

3
ответ дан 4 December 2019 в 15:30
поделиться

Obfuscators, такой как ProGuard выполнит много статических оптимизаций на Вашем байт-коде для Вас.

2
ответ дан 4 December 2019 в 15:30
поделиться

Оптимизация байт-кода является, вероятно, оксюмороном в большинстве случаев

Я не думаю это правда. Оптимизация как спускоподъемные инварианты цикла и константы распространения никогда не может причинять боль, даже если JVM достаточно умна, чтобы сделать их самостоятельно, простым достоинством создания кода действительно меньше работают.

3
ответ дан 4 December 2019 в 15:30
поделиться

Оптимизация байт-кода является, вероятно, оксюмороном в большинстве случаев. Если Вы не управляете VM, Вы понятия не имеете, что он делает для ускорения выполнения кода, если что-либо. Компилятор должен был бы знать детали VM для генерации оптимизированного кода.

0
ответ дан 4 December 2019 в 15:30
поделиться

Компилятор HotSpot оптимизирует Ваш код во времени выполнения лучше, чем возможно во время компиляции - это имеет больше информации для работы с, в конце концов. Единственное время необходимо оптимизировать байт-код вместо просто алгоритма, - при предназначении для мобильных устройств, таких как Blackberry, где JVM для той платформы не достаточно мощна для оптимизации кода во времени выполнения и просто выполняет байт-код.

1
ответ дан 4 December 2019 в 15:30
поделиться

Примечание к Aseraphim:

Может также быть полезно оптимизировать байт-код для невстраиваемых приложений в некоторых ограниченных случаях:

  1. При поставке кода по проводу, например, для приложений WebStart, для уменьшения поставляемого компонента/размера кэша и потому что Вы не обязательно знаете поддержку/скорость клиента.

  2. Для кода, который Вы знаете, производительность, очень важная и используемая при запуске, прежде чем (скажут), что HotSpot имел время для сбора любой статистики.

Снова, преобразования, которые выполняет хороший optimiser/obfuscator, могут быть очень полезными.

0
ответ дан 4 December 2019 в 15:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: