├── .gitignore ├── force-field ├── c++ │ ├── Makefile │ ├── main.cpp │ ├── particle.hpp │ └── vector.hpp ├── swift │ ├── a.out │ └── force-field │ │ ├── force-field.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcuserdata │ │ │ │ └── alex.xcuserdatad │ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── xcshareddata │ │ │ │ └── force-field.xccheckout │ │ ├── xcuserdata │ │ │ └── alex.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ ├── xcschememanagement.plist │ │ │ │ └── force-field.xcscheme │ │ └── project.pbxproj │ │ └── force-field │ │ ├── main.swift │ │ ├── Particle.swift │ │ └── Vector.swift ├── python │ ├── vector.pyc │ ├── particle.pyc │ ├── __pycache__ │ │ ├── vector.cpython-33.pyc │ │ └── particle.cpython-33.pyc │ ├── main.py │ ├── particle.py │ └── vector.py ├── java │ ├── Makefile │ ├── Main.java │ ├── Particle.java │ └── Vector.java ├── ruby │ ├── main.rb │ ├── Vector.rb │ └── Particle.rb ├── php │ ├── main.php │ ├── Particle.php │ └── Vector.php ├── js │ ├── main.js │ ├── particle.js │ └── vector.js ├── dart │ ├── main.dart │ ├── particle.dart │ └── vector.dart ├── rust │ ├── main.rs │ ├── particle.rs │ └── vector.rs ├── cs │ ├── Program.cs │ ├── Particle.cs │ └── Vector.cs ├── go │ └── main.go └── README.md ├── roll-avg ├── swift │ ├── a.out │ ├── note.md │ └── rolling-avg │ │ ├── rolling-avg.xcodeproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcuserdata │ │ │ │ └── alex.xcuserdatad │ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── xcshareddata │ │ │ │ └── rolling-avg.xccheckout │ │ ├── xcuserdata │ │ │ └── alex.xcuserdatad │ │ │ │ └── xcschemes │ │ │ │ ├── xcschememanagement.plist │ │ │ │ └── rolling-avg.xcscheme │ │ └── project.pbxproj │ │ └── rolling-avg │ │ └── main.swift ├── java │ ├── Main.class │ └── Main.java ├── c │ ├── excursion │ │ ├── func1.c │ │ ├── instructions.md │ │ └── long command.txt │ ├── note.md │ └── main.c ├── ruby │ └── main.rb ├── python │ └── main.py ├── dart │ └── main.dart ├── php │ └── main.php ├── go │ └── main.go ├── rust │ └── main.rs ├── js │ └── main.js ├── cs │ └── Program.cs └── README.md ├── array-reverse ├── swift │ ├── a.out │ └── array-reverse │ │ ├── array-reverse.xcodeproj │ │ ├── xcuserdata │ │ │ └── alex.xcuserdatad │ │ │ │ ├── xcdebugger │ │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ │ └── xcschemes │ │ │ │ ├── xcschememanagement.plist │ │ │ │ └── array-reverse.xcscheme │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ ├── xcuserdata │ │ │ │ └── alex.xcuserdatad │ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── xcshareddata │ │ │ │ └── array-reverse.xccheckout │ │ └── project.pbxproj │ │ └── array-reverse │ │ └── main.swift ├── java │ ├── Main.class │ └── Main.java ├── ruby │ ├── main_builtin.rb │ └── main.rb ├── php │ ├── main-builtin.php │ ├── main-user.php │ └── note.md ├── python │ ├── main2_builtin.py │ ├── main3_builtin.py │ ├── main2.py │ └── main3.py ├── js │ ├── main_builtin.js │ └── main.js ├── rust │ ├── main_builtin.rs │ └── main.rs ├── go │ └── main.go ├── dart │ └── main.dart ├── c │ └── main.c ├── cs │ └── Program.cs └── README.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | -------------------------------------------------------------------------------- /force-field/c++/Makefile: -------------------------------------------------------------------------------- 1 | a.out: 2 | g++ -O2 -std=c++11 main.cpp 3 | 4 | clean: 5 | rm -rf a.out -------------------------------------------------------------------------------- /roll-avg/swift/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/roll-avg/swift/a.out -------------------------------------------------------------------------------- /roll-avg/swift/note.md: -------------------------------------------------------------------------------- 1 | See the note in the C test ([click here](../c/note.md), if you're on GitHub) -------------------------------------------------------------------------------- /force-field/swift/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/force-field/swift/a.out -------------------------------------------------------------------------------- /array-reverse/swift/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/array-reverse/swift/a.out -------------------------------------------------------------------------------- /roll-avg/java/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/roll-avg/java/Main.class -------------------------------------------------------------------------------- /array-reverse/java/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/array-reverse/java/Main.class -------------------------------------------------------------------------------- /force-field/python/vector.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/force-field/python/vector.pyc -------------------------------------------------------------------------------- /force-field/python/particle.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/force-field/python/particle.pyc -------------------------------------------------------------------------------- /force-field/python/__pycache__/vector.cpython-33.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/force-field/python/__pycache__/vector.cpython-33.pyc -------------------------------------------------------------------------------- /force-field/python/__pycache__/particle.cpython-33.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/force-field/python/__pycache__/particle.cpython-33.pyc -------------------------------------------------------------------------------- /roll-avg/c/excursion/func1.c: -------------------------------------------------------------------------------- 1 | unsigned int addUpTo(unsigned int dest) { 2 | unsigned int sum = 0; 3 | for (int i = 1; i <= dest; i++) { 4 | sum += i; 5 | } 6 | return sum; 7 | } 8 | -------------------------------------------------------------------------------- /array-reverse/swift/array-reverse/array-reverse.xcodeproj/xcuserdata/alex.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /force-field/java/Makefile: -------------------------------------------------------------------------------- 1 | Main.class: Particle.class Vector.class 2 | javac Main.java 3 | 4 | Particle.class: Vector.class 5 | javac Particle.java 6 | 7 | Vector.class: 8 | javac Vector.java 9 | 10 | clean: 11 | rm -rf Vector.class Particle.class Main.class -------------------------------------------------------------------------------- /roll-avg/swift/rolling-avg/rolling-avg.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /force-field/swift/force-field/force-field.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /array-reverse/ruby/main_builtin.rb: -------------------------------------------------------------------------------- 1 | if ARGV.length != 2 2 | puts 'Usage: ruby main.rb ' 3 | exit 1 4 | end 5 | 6 | size = ARGV[0].to_i 7 | iterations = ARGV[1].to_i 8 | 9 | list = (0...size).to_a 10 | 11 | iterations.times do 12 | list.reverse! 13 | end -------------------------------------------------------------------------------- /array-reverse/swift/array-reverse/array-reverse.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /array-reverse/php/main-builtin.php: -------------------------------------------------------------------------------- 1 | ", $argv[0]); 6 | exit(1); 7 | } 8 | 9 | 10 | $myList = range(0, $argv[1] - 1); 11 | 12 | for ($i = 0; $i < $argv[2]; $i++) 13 | { 14 | $myList = array_reverse($myList); 15 | } 16 | -------------------------------------------------------------------------------- /roll-avg/swift/rolling-avg/rolling-avg.xcodeproj/project.xcworkspace/xcuserdata/alex.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/roll-avg/swift/rolling-avg/rolling-avg.xcodeproj/project.xcworkspace/xcuserdata/alex.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /force-field/swift/force-field/force-field.xcodeproj/project.xcworkspace/xcuserdata/alex.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/force-field/swift/force-field/force-field.xcodeproj/project.xcworkspace/xcuserdata/alex.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /roll-avg/c/excursion/instructions.md: -------------------------------------------------------------------------------- 1 | **Create unoptimized func1_unopt.s LLVM IR** 2 | 3 | clang -c -S func1.c -O0 -emit-llvm -o func1_unopt.s 4 | 5 | **Create optimized func1.bc** 6 | 7 | opt func1_unopt.s *some arguments here* -o func1.bc 8 | 9 | **Create optimized func1.s assembly** 10 | 11 | llc func1.bc 12 | -------------------------------------------------------------------------------- /array-reverse/swift/array-reverse/array-reverse.xcodeproj/project.xcworkspace/xcuserdata/alex.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/unixpickle/Benchmarks/HEAD/array-reverse/swift/array-reverse/array-reverse.xcodeproj/project.xcworkspace/xcuserdata/alex.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /array-reverse/python/main2_builtin.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | if len(sys.argv) != 3: 4 | print('Usage: python main2.py ') 5 | exit(1) 6 | 7 | size = int(sys.argv[1]) 8 | iterations = int(sys.argv[2]) 9 | 10 | myList = range(0, size) 11 | 12 | for i in xrange(0, iterations): 13 | myList.reverse() 14 | -------------------------------------------------------------------------------- /array-reverse/python/main3_builtin.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | if len(sys.argv) != 3: 4 | print('Usage: python3 main3_builtin.py ') 5 | exit(1) 6 | 7 | size = int(sys.argv[1]) 8 | iterations = int(sys.argv[2]) 9 | 10 | myList = list(range(0, size)) 11 | 12 | for i in range(0, iterations): 13 | myList.reverse() 14 | -------------------------------------------------------------------------------- /array-reverse/js/main_builtin.js: -------------------------------------------------------------------------------- 1 | if (process.argv.length !== 4) { 2 | console.error('Usage: node main.js '); 3 | process.exit(1); 4 | } 5 | 6 | var size = parseInt(process.argv[2]); 7 | var iterations = parseInt(process.argv[3]); 8 | 9 | // generate the array 10 | list = [] 11 | for (var i = 0; i < size; i++) { 12 | list.push(i); 13 | } 14 | 15 | for (var i = 0; i < iterations; i++) { 16 | list.reverse(); 17 | } 18 | -------------------------------------------------------------------------------- /array-reverse/ruby/main.rb: -------------------------------------------------------------------------------- 1 | def reverseArray(theList) 2 | (theList.length >> 1).times do |i| 3 | lastIdx = theList.length - i - 1 4 | theList[i], theList[lastIdx] = theList[lastIdx], theList[i] 5 | end 6 | end 7 | 8 | if ARGV.length != 2 9 | puts 'Usage: ruby main.rb ' 10 | exit 1 11 | end 12 | 13 | size = ARGV[0].to_i 14 | iterations = ARGV[1].to_i 15 | 16 | list = (0...size).to_a 17 | 18 | iterations.times do 19 | reverseArray list 20 | end -------------------------------------------------------------------------------- /array-reverse/python/main2.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | def reverseArray(theArray): 4 | for i in xrange(0, len(theArray) >> 1): 5 | lastIdx = len(theArray) - i - 1 6 | theArray[lastIdx], theArray[i] = theArray[i], theArray[lastIdx] 7 | 8 | if len(sys.argv) != 3: 9 | print('Usage: python main2.py ') 10 | exit(1) 11 | 12 | size = int(sys.argv[1]) 13 | iterations = int(sys.argv[2]) 14 | 15 | myList = range(0, size) 16 | 17 | for i in xrange(0, iterations): 18 | reverseArray(myList) 19 | -------------------------------------------------------------------------------- /array-reverse/python/main3.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | def reverseArray(theArray): 4 | for i in range(0, len(theArray) >> 1): 5 | lastIdx = len(theArray) - i - 1 6 | theArray[lastIdx], theArray[i] = theArray[i], theArray[lastIdx] 7 | 8 | if len(sys.argv) != 3: 9 | print('Usage: python3 main3.py ') 10 | exit(1) 11 | 12 | size = int(sys.argv[1]) 13 | iterations = int(sys.argv[2]) 14 | 15 | myList = list(range(0, size)) 16 | 17 | for i in range(0, iterations): 18 | reverseArray(myList) 19 | -------------------------------------------------------------------------------- /array-reverse/rust/main_builtin.rs: -------------------------------------------------------------------------------- 1 | use std::env::args; 2 | 3 | fn main() { 4 | if args().count() != 3 { 5 | panic!("Usage: {} ", args().next().unwrap()); 6 | } 7 | 8 | let mut args_iter = args().skip(1); 9 | 10 | let count: usize = args_iter.next().unwrap().parse().unwrap(); 11 | let iterations: usize = args_iter.next().unwrap().parse().unwrap(); 12 | 13 | let mut array: Vec = (0..count).collect(); 14 | 15 | for _ in 0..iterations { 16 | array.reverse(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /force-field/ruby/main.rb: -------------------------------------------------------------------------------- 1 | require './Particle.rb' 2 | require './Vector.rb' 3 | 4 | if ARGV.length != 2 5 | puts 'Usage: ruby main.rb