Did you try on the device? The simulator is a strange beast and its performance may not be representative of what you get on a real device. Manuel
James Parker
: Hi,
I’m exporting a Haskell function that generates RSA keys for an iOS application. I’m using the crypto-pubkey and crypto-random packages. Unfortunately, the key generation is taking an extremely long time (around 5 minutes) when run in the simulator (XCode 7.2.1). When running Haskell code through Criterion, key generation only takes 110ms. When benchmarking a c program that links the Haskell FFI library (on my x86 laptop), key generation takes about 130ms.
Does anyone have any ideas why this is so much slower on the simulator? I thought maybe there was an issue with running out of randomness, so I tried creating a fixed seed by using `createTestEntropyPool`, but this did not make any difference. I’ve included the relevant key generate function below.
gen :: MonadRandom m => m (RSA.PublicKey, RSA.PrivateKey) gen = withCPRG $ \prg -> return $ RSA.generate prg 256 65537
instance MonadRandom IO where type MonadCPRG IO = SystemRNG
withCPRG f = do entropy <- createEntropyPool (res, _) <- f $ cprgCreate entropy return res
I’d appreciate any help.
Thanks!
James _______________________________________________ iPhone mailing list iPhone@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/iphone