小编Mar*_*rco的帖子

为什么使用参数使这个函数变得如此慢?

我最近一直在努力创建一个素数查找程序.但是,我注意到一个函数在使用参数时比使用预设值时慢得多.

在3个不同的版本中,很明显变量显着减慢了程序,我想知道原因.

版本1:7.5秒

这是原始的(这个问题有点简化)功能:

def version1(n, p):
  return ((n*n - 2) & ((1 << p) - 1)) + ((n*n - 2) >> p)
Run Code Online (Sandbox Code Playgroud)

使用timeit模块运行100次时:

timeit.timeit("version1(200, 500000000)", "from __main__ import version1", number=100)
Run Code Online (Sandbox Code Playgroud)

这需要7.5几秒钟.

版本2:0.0001秒

但是,这是第二个版本,其中没有参数,并且数字直接放在返回值中.该方程与第1版完全相同:

def version2():
  return ((200*200 - 2) & ((1 << 500000000) - 1)) + ((200*200 - 2) >> 500000000)
Run Code Online (Sandbox Code Playgroud)

使用timeit模块运行100次时:

timeit.timeit("version2()", "from __main__ import version2", number=100
Run Code Online (Sandbox Code Playgroud)

在这只需要0.00001几秒钟!

版本3:6.3秒

最后,为了完整性,我尝试了一个没有参数但仍将其值保存为变量的版本:

def version3():
  n …
Run Code Online (Sandbox Code Playgroud)

python algorithm math performance

15
推荐指数
1
解决办法
799
查看次数

使用 Xcode 11 时,SwiftUI 视图在小窗口中呈现而不是全屏呈现

我最近使用 Xcode 12 的 beta 创建了一个新的 SwiftUI 项目。然后我尝试在非 beta Xcode 11 中打开这个项目,在更新代码以使用 SwiftUI 1.0-style AppDelegate 后,我能够构建和运行应用程序。问题是,现在我已经转移到 Xcode 11,该应用程序在一个小框架内呈现,而不是占据整个屏幕。

这是一个简化的示例:

Xcode 12 与 Xcode 11

SwiftUI 应用程序占据整个屏幕 SwiftUI 在小框架中渲染,而不是全屏


我的简化视图的代码如下:

struct ContentView: View {
    var body: some View {
        VStack {
            Text("Hello World!")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

应用委托:

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
        // Called when a new scene session is being created.
        // Use this method to select a configuration to …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift swiftui

7
推荐指数
2
解决办法
1534
查看次数

标签 统计

algorithm ×1

ios ×1

math ×1

performance ×1

python ×1

swift ×1

swiftui ×1

xcode ×1