Какова клавиша быстрого вызова для закрытия окна немедленного вызова в Visual Studio 2010. Открыть с помощью Ctr + Alt + I
Закрыть с помощью клавиши быстрого вызова в режиме док-станции.
-121--1262096-Я только что завернул подпрограмму Fortran 90 питону, используя F2PY. Тонкость состоит в том, что подпрограмма Fortran aslo принимает функцию обратного вызова python в качестве одного из своих аргументов:
SUBROUTINE f90foo(pyfunc, a)
real(kind=8),intent(in) :: a
!f2py intent(callback) pyfunc
external pyfunc
!f2py real*8 y,x
!f2py y = pyfunc(x)
!*** debug begins***
print *, 'Start Loop'
do i=1,1000
p = pyfunc(a)
end do
total = etime(elapsed)
print *, 'End: total=', total, ' user=', elapsed(1), ' system=', elapsed(2)
stop
!*** debug ends ***
Pyfunc pyfunc
является функцией python, определенной в другом месте моего кода python. Обертка работает хорошо, но, выполняя обернутую версию выше, я получил время примерно в 5 раз больше, чем я могу получить, используя чистого питона, как показано ниже,
def pythonfoo(k):
""" k: scalar
returns: scalar
"""
print('Pure Python: Start Loop')
start = time.time()
for i in xrange(1000):
p = pyfunc(k)
elapsed = (time.time() - start)
print('End: total=%20f'% elapsed)
Итак, вопрос в том, что происходит? Я действительно хочу оставить pyfunc
, как потому, что очень много времени, чтобы перекодировать его в чисто fortran функции, так есть ли какой-либо способ улучшить скорость модуля обертки?