├── .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