Skip to content

Commit afc826e

Browse files
Merge pull request #1528 from LadyMozzarella/958-877-readme-updates
Add relevant discussion links from issues to Readmes, Clean up a few Readmes
2 parents 2c9dbb3 + f86c924 commit afc826e

File tree

6 files changed

+194
-107
lines changed

6 files changed

+194
-107
lines changed

frameworks/CSharp/README.md

Lines changed: 46 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,69 @@
1-
# Limited Travis-CI Verification
1+
# C# (CSharp) Frameworks
22

3-
Because the verification system uses the linux-only Travis-CI
4-
service, verifying Windows-only tests has to be done manually
5-
and is very time consuming.
3+
The information below contains information specific to C#.
4+
For further guidance, review the
5+
[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/).
66

7-
Consider including an additional test, likely based on Mono and
8-
FastCGI (e.g. xsp), that can run on Linux when submitting a new
9-
framework. This will drastically speed up our ability to merge
10-
in your pull request.
7+
## Infrastructure Software Versions
118

12-
# Different Mono Versions
9+
* [Mono C# compiler latest version](http://www.mono-project.com/docs/about-mono/languages/csharp/)
10+
11+
## Adding a New C# Framework
12+
13+
### Different Mono Versions
1314

1415
While we have not currently run into the need to have multiple
1516
simultaneous Mono installations, it is [possible](http://www.mono-project.com/docs/compiling-mono/parallel-mono-environments/)
1617

17-
# Debugging Mono + NuGet
18+
### Debugging Mono + NuGet
1819

19-
Mono understands an environment variable `MONO_LOG_LEVEL=debug` that is helpful for checking that
20+
Mono understands an environment variable `MONO_LOG_LEVEL=debug`
21+
that is helpful for checking that
2022
mono is properly working e.g. loading necessary DLL's.
2123

22-
Most NuGet commands understand a `-Verbosity` flag, which is great because the error messages can be completely
23-
mystifying when working with Mono too. Use this would enable all the debugging you can:
24+
Most NuGet commands understand a `-Verbosity` flag, which is
25+
great because the error messages can be completely
26+
mystifying when working with Mono too. Use this would enable
27+
all the debugging you can:
2428

2529
$ MONO_LOG_LEVEL=debug mono NuGet2.exe update -Verbosity "detailed" -self
2630

2731
For example, aspnet was constantly failing with this message:
2832

2933
Could not connect to the feed specified at 'https://www.nuget.org/api/v2/'. Please verify that the package source (located in the Package Manager Settings) is valid and ensure your network connectivity.`.
3034

31-
Using `-Verbosity "detailed"` shows that the real error is actually a Mono library problem, as so:
35+
Using `-Verbosity "detailed"` shows that the real error is
36+
actually a Mono library problem, as so:
3237

3338
System.InvalidOperationException: Could not connect to the feed specified at 'https://www.nuget.org/api/v2/'. Please verify that the package source (located in the Package Manager Settings) is valid and ensure your network connectivity. ---> System.Net.WebException: libMonoPosixHelper.so ---> System.DllNotFoundException: libMonoPosixHelper.so
3439
at (wrapper managed-to-native) System.IO.Compression.DeflateStreamNative:CreateZStream (System.IO.Compression.CompressionMode,bool,System.IO.Compression.DeflateStreamNative/UnmanagedReadOrWrite,intptr)
3540
<snip>
3641

3742
More helpful info is [here](http://www.mono-project.com/docs/advanced/pinvoke/dllnotfoundexception/), [here](http://docs.nuget.org/docs/reference/command-line-reference)
43+
44+
### Limited Travis-CI Verification
45+
46+
Because the verification system uses the linux-only Travis-CI
47+
service, verifying Windows-only tests has to be done manually
48+
and is very time consuming.
49+
50+
Consider including an additional test, likely based on Mono and
51+
FastCGI (e.g. xsp), that can run on Linux when submitting a new
52+
framework. This will drastically speed up our ability to merge
53+
in your pull request.
54+
55+
## Get Help
56+
57+
### C# Experts
58+
59+
_There aren't any C# experts listed, yet. If you're an expert, add yourself!_
60+
61+
### C# Community
62+
63+
_We don't have any community links added. Add some to help further guide
64+
future contirbutors._
65+
66+
### Resources
67+
68+
_If you stumble upon some helpful links or discussions, add them
69+
for easy reference for future contributors._

frameworks/CSharp/nancy/README.md

Lines changed: 51 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,54 @@
1-
# Nancy on Mono and Windows
1+
# Nancy on Mono and Windows Benchmarking Test
22

3-
## Tests
3+
The information below contains information specific to Nancy on Mono and Windows.
4+
For further guidance, review the
5+
[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/).
6+
Also note the additional information provided in the [CSharp README](../).
47

5-
### JSON
8+
This is the Nancy on Mono and Windows portion of a [benchmarking test suite](../../)
9+
comparing a variety of web platforms.
610

7-
* `http://localhost:8080/json`
11+
## Infrastructure Software Versions
812

9-
---
13+
**Language**
14+
15+
* C# 5.0
16+
17+
**Platforms**
18+
19+
* .NET Framework 4.5 (Windows)
20+
* Mono 3.0.X (Linux)
21+
22+
**Web Servers**
23+
24+
* IIS 8 (Windows)
25+
* nginx 1.4.0 & XSP FastCGI (Linux)
26+
27+
**Web Stack**
28+
29+
* ASP.NET 4.5
30+
* Nancy 0.17.1 (custom build to address this issue: https://github.com/NancyFx/Nancy/pull/1100)
31+
32+
**Databases**
33+
34+
* MySQL Connector/Net
35+
36+
**Developer Tools**
37+
38+
* Visual Studio 2012
39+
40+
## Paths & Source for Tests
41+
42+
* [JSON Serialization](NancyModules/JsonModule.cs): "/json"
1043

1144
### Nancy - Dapper (ORM)
1245

13-
**MySQL**
46+
* [Single Database Query](NancyModules/DbModule.cs): "/db"
47+
* [Multiple Database Queries](NancyModules/DbModule.cs): "/db/10"
1448

15-
* `http://localhost:8080/db`
16-
* `http://localhost:8080/db/10`
49+
## Add a New Test for Nancy
1750

18-
## Mono Installation
51+
### Mono Installation
1952

2053
sudo apt-get install build-essential autoconf automake libtool zlib1g-dev git
2154

@@ -36,31 +69,18 @@
3669
make
3770
sudo make install
3871

39-
## Versions
40-
41-
**Language**
42-
43-
* C# 5.0
44-
45-
**Platforms**
46-
47-
* .NET Framework 4.5 (Windows)
48-
* Mono 3.0.X (Linux)
49-
50-
**Web Servers**
51-
52-
* IIS 8 (Windows)
53-
* nginx 1.4.0 & XSP FastCGI (Linux)
72+
## Get Help
5473

55-
**Web Stack**
74+
### Experts
5675

57-
* ASP.NET 4.5
58-
* Nancy 0.17.1 (custom build to address this issue: https://github.com/NancyFx/Nancy/pull/1100)
76+
_There aren't any experts listed, yet. If you're an expert, add yourself!_
5977

60-
**Databases**
78+
### Community
6179

62-
* MySQL Connector/Net
80+
* Chat in the [#NancyFX](https://jabbr.net/account/login?ReturnUrl=%2F#/rooms/nancyfx) room on JabbR.
81+
* #NancyFx on Twitter.
6382

64-
**Developer Tools**
83+
### Resources
6584

66-
* Visual Studio 2012
85+
* [Source Code](https://github.com/NancyFx/Nancy)
86+
* [Issue #877 - Discussion regarding Event2.dll and Global.asax thread configuration](https://github.com/TechEmpower/FrameworkBenchmarks/issues/877)

frameworks/Java/README.md

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,41 @@
1-
# Installation and Bash Configuration
1+
# Java Frameworks
22

3-
In order to declare that your framework requires Java, you should have an `install.sh`
4-
that contains at least
3+
The information below contains information specific to Java.
4+
For further guidance, review the
5+
[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/).
6+
7+
## Infrastructure Software Versions
8+
9+
* Java 7
10+
* Java 8
11+
12+
## Adding a New Java Framework
13+
14+
### Installation and Bash Configuration
15+
16+
In order to declare that your framework requires Java, you
17+
should have an `install.sh` that contains at least
518

619
#!/bin/bash
720

821
fw_depends java
922

1023
This installs the OpenJDK 7 JVM.
1124

12-
Frameworks can also choose to install Oracle Java 8 JVM by declaring a dependency on "java8"
13-
instead of java. In order to use Java 8 JVM frameworks need to add the following line in their "setup.sh" file:
25+
Frameworks can also choose to install Oracle Java 8 JVM by
26+
declaring a dependency on "java8" instead of java. In order
27+
to use Java 8 JVM frameworks need to add the following line
28+
in their "setup.sh" file:
29+
30+
export JAVA_HOME=/opt/java8
31+
32+
## Get Help
33+
34+
### Java Experts
35+
36+
_There aren't any experts listed, yet. If you're an expert,
37+
add yourself!_
38+
39+
### Interesting Links
1440

15-
export JAVA_HOME=/opt/java8
41+
* [Surprise! Java is fastest for server-side Web apps](http://www.infoworld.com/article/2609675/java/surprise--java-is-fastest-for-server-side-web-apps.html)

frameworks/PHP/README.md

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
1-
# PHP Version
1+
# PHP Frameworks
2+
3+
The information below contains information specific to PHP.
4+
For further guidance, review the
5+
[documentation](http://frameworkbenchmarks.readthedocs.org/en/latest/).
6+
7+
## Infrastructre Software Versions
8+
9+
### PHP Version
210

311
[Currently this toolset runs PHP 5.5.17](https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/toolset/setup/linux/languages/php.sh). At the moment all PHP-based frameworks use the
412
same PHP version, but we are open to receiving a pull request
513
that enables supporting multiple versions.
614

7-
# PHP Acceleration and Caching
15+
## Adding New PHP-based Frameworks
16+
17+
### PHP Acceleration and Caching
818

919
Caching the output of the PHP bytecode compiler is expressly
1020
allowed by this benchmark. As we use PHP 5.5, which comes
@@ -43,7 +53,7 @@ easier to use systems such as APCu.
4353

4454
Ask if you are not certain.
4555

46-
# Adding New PHP-based Frameworks
56+
## Install.sh and Setup.sh Files
4757

4858
Most PHP frameworks use `fw_depends php nginx composer` in their `install.sh` file,
4959
which installs PHP, Nginx, and Composer automatically. They then create a `setup.sh`
@@ -75,7 +85,7 @@ When using `php`, `php-fpm`, or other binaries, always use the full path
7585
to the binary, e.g. instead of `php <command>`,
7686
use `/home/foo/FrameworkBenchmarks/installs/php-5.5.17/bin/php <your command>`.
7787

78-
# Dependency Management Using Composer
88+
### Dependency Management Using Composer
7989

8090
Many PHP apps use [Composer](https://getcomposer.org/) for dependency management,
8191
which greatly simplifies downloading the framework, loading the framework, and
@@ -90,7 +100,7 @@ The lock file is a fully-defined file generated by composer 1) reading your JSON
90100
dependencies 3) downloading a lot of data from Github. Without this lock file, composer takes 2-3x
91101
longer to run, and it can even halt and require user input
92102

93-
## Setting up Composer
103+
#### Setting up Composer
94104

95105
Add a `composer.json` file to your framework's root folder, e.g. `php-fuel/composer.json`.
96106
Ensure your `install.sh` lists composer as a dependency, and uses `composer.phar` to
@@ -109,7 +119,7 @@ e.g. `php-fuel/vendor` that contains all dependencies. Update your PHP scripts
109119
to either directly reference files inside of vendor, or use the `vendor/autoload.php`
110120
file.
111121

112-
## Generating composer.lock file
122+
#### Generating composer.lock file
113123

114124
Composer uses Github *a lot*, enough so that it is common for it to exceed the
115125
API limit and cause infinite hangs or installation failures. To avoid this, it
@@ -145,16 +155,28 @@ queries as they are shown. Use these steps
145155
# Add the lock file to this repository
146156
git add -f composer.lock
147157

148-
## Updating Composer setup
158+
#### Updating Composer setup
149159

150160
If you update `composer.json`, you need to regenerate the lock
151161
file. If you forget to do this, you will see this error message
152162
when running:
153163

154164
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
155165

156-
# Debugging PHP Frameworks
166+
### Debugging PHP Frameworks
157167

158168
The first stop for HTTP 500 errors is to enable stack traces.
159169
Update `config/php-fpm.conf` to include `php_flag[display_errors] = on`.
160170
If you don't use php-fpm, update the `config/php.ini`
171+
172+
## Get Help
173+
174+
### PHP Experts
175+
176+
_There aren't any PHP experts listed, yet. If you're an expert,
177+
add yourself!_
178+
179+
### Resources & Interesting Links
180+
181+
_If you find some interesting links related to the PHP tests,
182+
add them here._

0 commit comments

Comments
 (0)