Raspberry BASIC > Programming Challenges

One Mil Dash

<< < (3/3)

John Spikowski:
Swift

I may have found a bug with swiftc. The compiled version doesn't do the compare correctly and Middle is never printed.


--- Code: Text ---// Swift - 1mil.swift var accum = 0var milvar = 1000000 for _ in 1...1000000 {  accum += 1  milvar -= 1  if accum == milvar {    print("Middle")  }  } print("Plus:  ", accum)print("Minus: ", milvar) 
Interpretive

pi@RPi4B:~/swift-dev/examples $ /usr/bin/time swift 1mil.swift
Middle
Plus:   1000000
Minus:  0
0.90user 0.12system 0:02.20elapsed 47%CPU (0avgtext+0avgdata 86000maxresident)k
83968inputs+392outputs (368major+4659minor)pagefaults 0swaps
pi@RPi4B:~/swift-dev/examples $

Compiled

pi@RPi4B:~/swift-dev/examples $ swiftc 1mil.swift -o 1mil
pi@RPi4B:~/swift-dev/examples $ ls -l
total 36
-rwxr-xr-x 1 pi pi 14360 Nov 30 11:31 1mil
-rw-r--r-- 1 pi pi   211 Nov 26 01:28 1mil.swift
-rwxr-xr-x 1 pi pi 14524 Nov 26 01:29 main
pi@RPi4B:~/swift-dev/examples $ /usr/bin/time ./1mil
Middle
Plus:   1000000
Minus:  0
0.33user 0.01system 0:00.34elapsed 99%CPU (0avgtext+0avgdata 6724maxresident)k
0inputs+0outputs (0major+274minor)pagefaults 0swaps
pi@RPi4B:~/swift-dev/examples $ swift --version
Swift version 5.1 (swift-5.1.2-RELEASE)
Target: armv7-unknown-linux-gnueabihf
pi@RPi4B:~/swift-dev/examples $

John Spikowski:
Here are the 1mil challenge results.

John Spikowski:
AIR submitted an updated Bash script which is more efficient. (Thank You!) The post and the chart have been updated,

I have no plans to install Ruby or Rust. If you would like to submit an entry for these languages then either join the forum and post it or send me an e-mail to support @ raspberrybasic.org.

John Spikowski:
Ruby

I wasn't aware that Ruby comes pre-installed.


--- Code: Ruby ---# Ruby - 1mil.rb accum = 0milvar = 1000000 for x in 1..1000000  accum += 1  milvar -= 1  if accum == milvar then    puts "Middle"  endend puts "Plus:  #{accum}"puts "Minus: #{milvar}" 

pi@RPi4B:~/ruby-dev/examples $ /usr/bin/time ruby 1mil.rb
Middle
Plus:  1000000
Minus: 0
0.42user 0.04system 0:00.57elapsed 81%CPU (0avgtext+0avgdata 6840maxresident)k
3008inputs+0outputs (1major+881minor)pagefaults 0swaps
pi@RPi4B:~/ruby-dev/examples $

Navigation

[0] Message Index

[*] Previous page

Go to full version