Отражатель для Java?

Я запустил некоторый тест, и определенно попытайтесь использовать dd.Aggregation а не apply. посмотрите ниже результатов:

%%timeit
df = dask.datasets.timeseries()
df_gb = df.groupby(df.name)
gp_col = ['x','y' ,'id']
list_ser_gb = [df_gb[att_col_gr].apply(set_list_att2, 
                                           meta=pd.Series(dtype='object', name=f'{att_col_gr}_att'))
                   for att_col_gr in gp_col]
df_edge_att = df_gb.size().to_frame(name="Weight")
for ser in list_ser_gb:
        df_edge_att = df_edge_att.join(ser.to_frame(), how='left')        
df_edge_att.head()

результаты:
5 минимальных 44 В± 11,2 с на цикл (означают В± станд. dev. 7 выполнений, 1 цикл каждый)

Однако выполнение с dd.Aggregation существует значительное улучшение:

%%timeit
df = dask.datasets.timeseries()
custom_agg = dd.Aggregation(
    'custom_agg', 
    lambda s: s.apply(set), 
    lambda s: s.apply(lambda chunks: list(set(itertools.chain.from_iterable(chunks)))),
)
df_gb = df.groupby(df.name)
gp_col = ['x','y' ,'id']
list_ser_gb = [df_gb[att_col_gr].agg(custom_agg) for att_col_gr in gp_col]
df_edge_att = df_gb.size().to_frame(name="Weight")
for ser in list_ser_gb:
        df_edge_att = df_edge_att.join(ser.to_frame(), how='left')        
df_edge_att.head()

результаты:
2 минуты В± 1,13 с на цикл (означают В± станд. dev. 7 выполнений, 1 цикл каждый)

33
задан abatishchev 6 April 2009 в 17:38
поделиться

4 ответа

Из того, что мало я знаю, что функциональность Отражателя.NET доступна в в значительной степени всем Java IDE, включая Eclipse. Просто добавьте a jar файл к проекты и Вы можете просмотреть его классы, как Вы просматриваете свои собственные классы.

Для аспекта декомпилятора (в противоположность чистому средству просмотра классов) также существуют некоторые альтернативы. Инструмент JDK javap только декомпиляции к байт-коду, таким образом, не действительно полезно добраться до исходного кода (но мог бы помочь с получением понимания кода).

JAD является довольно популярным декомпилятором в мире Java, и он производит компилируемый код Java большую часть времени (некоторые последовательности байт-кода не легко переводимы к допустимому Java, 'хотя, таким образом, некоторые угловые случаи существуют).

13
ответ дан 27 November 2019 в 19:30
поделиться

Посмотрите, Как я декомпилирую файлы класса Java? Существует ссылка там на JD-GUI, который, кажется, о том, что Вы ищете.

Править: Также посмотрите, Открывают Java *.Class Файлы.

Редактирование 2: И Лучший свободный Java .class средство просмотра?, который конкретно упоминает Отражатель.NET.

15
ответ дан 27 November 2019 в 19:30
поделиться

Я не супер знаком с Java, но JBrowser работает на Вас?

0
ответ дан 27 November 2019 в 19:30
поделиться

Можно получить JAD для декомпиляции .class в .java. Это довольно хорошо в нем.

Если Вы используете Eclipse, получают jadclipse плагин также. Необходимо будет настроить путь к jad.exe. В следующий раз, когда Вы открываете .class, Вы будете видеть декомпилируемый источник вместо .class объявления. И можно просмотреть с F3 также. Это очень полезно.

3
ответ дан 27 November 2019 в 19:30
поделиться
Другие вопросы по тегам:

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