For loop: why am I ++ slower than me = me + 1 in swift

which is a regular empty loop with the normal increment operator "i ++"

import Foundation let start = CFAbsoluteTimeGetCurrent() for var i = 0; i < 1000000; i++ { } let timeTaken = CFAbsoluteTimeGetCurrent() - start println(timeTaken) // 0.0229730010032654 

but this cycle with "i = i + 1" is much faster

 import Foundation let start = CFAbsoluteTimeGetCurrent() for var i = 0; i < 1000000; i = i + 1 { } let timeTaken = CFAbsoluteTimeGetCurrent() - start println(timeTaken) // 0.00384700298309326 

the second cycle is 5x - 6 times faster

I understand that swift is still in beta, and I do not compare it with other languages, but for me it does not make sense.

+6
source share
1 answer

Not an optimizer issue? the world of fair trials will be

 var i = 0 for j in 1..1000000 { i++ } var i = 0 for j in 1..1000000 { i = i + 1 } 
+1
source

Source: https://habr.com/ru/post/971041/


All Articles