Skip to content

Test on: Amazon M3 Large Ubuntu Server

Daniel Henrique Joppi edited this page Feb 4, 2016 · 2 revisions

C# enviromet

Configurations

  • Download and install DNVM:
$ sudo apt-get install unzip curl
$ curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh

Downloading dnvm as script to '/home/ubuntu/.dnx/dnvm'

Appending source string to /home/ubuntu/.bashrc Type 'source /home/ubuntu/.dnx/dnvm/dnvm.sh' to start using dnvm

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
$ echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
$ sudo apt-get update
$ sudo apt-get install mono-complete
$ mono --version

Mono JIT compiler version 4.2.2 (Stable 4.2.2.30/996df3c Fri Jan 22 00:02:19 UTC 2016) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug LLVM: supported, not enabled. GC: sgen

  • Use DNVM to install DNX for .NET Core
$ sudo apt-get install libunwind8 gettext libssl-dev libcurl4-openssl-dev zlib1g libicu-dev uuid-dev
$ dnvm upgrade -r coreclr

Determining latest version Latest version is 1.0.0-rc1-update1 Downloading dnx-coreclr-linux-x64.1.0.0-rc1-update1 from https://www.nuget.org/api/v2 Download: https://www.nuget.org/api/v2/package/dnx-coreclr-linux-x64/1.0.0-rc1-update1 ######################################################################## 100.0% Installing to /home/ubuntu/.dnx/runtimes/dnx-coreclr-linux-x64.1.0.0-rc1-update1 Adding /home/ubuntu/.dnx/runtimes/dnx-coreclr-linux-x64.1.0.0-rc1-update1/bin to process PATH Updating alias 'default' to 'dnx-coreclr-linux-x64.1.0.0-rc1-update1'

  • Use DNVM to install DNX for Mono:
$ dnvm upgrade -r mono

Determining latest version Latest version is 1.0.0-rc1-update1 Downloading dnx-mono.1.0.0-rc1-update1 from https://www.nuget.org/api/v2 Download: https://www.nuget.org/api/v2/package/dnx-mono/1.0.0-rc1-update1 ######################################################################## 100.0% Installing to /home/ubuntu/.dnx/runtimes/dnx-mono.1.0.0-rc1-update1 Adding /home/ubuntu/.dnx/runtimes/dnx-mono.1.0.0-rc1-update1/bin to process PATH Setting alias 'default' to 'dnx-mono.1.0.0-rc1-update1'

  • Install Libuv:
    • Libuv is a multi-platform asynchronous IO library that is used by Kestrel, a cross-platform HTTP server for hosting ASP.NET 5 web applications.
$ sudo apt-get install make automake libtool curl
$ wget http://dist.libuv.org/dist/v1.8.0/libuv-v1.8.0.tar.gz
$ tar -zxf libuv-v1.8.0.tar.gz
$ cd libuv-v1.8.0
$ sudo sh autogen.sh
$ sudo ./configure
$ sudo make
$ sudo make check
$ sudo make install
$ sudo rm -rf /usr/local/src/libuv-1.8.0 && cd ~/
$ sudo ldconfig

Run C# Program

  • Install Git
$ sudo apt-get install git
  • Clone repository
$ git clone https://github.com/danieljoppi/benchmark-node-vs-csharp.git

Cloning into 'benchmark-node-vs-csharp'... remote: Counting objects: 116, done. remote: Compressing objects: 100% (84/84), done. remote: Total 116 (delta 47), reused 87 (delta 18), pack-reused 0 Receiving objects: 100% (116/116), 19.15 KiB | 0 bytes/s, done. Resolving deltas: 100% (47/47), done. Checking connectivity... done.

  • Compile and Run
$ cd benchmark-node-vs-csharp/csharp/
$ dnu restore
$ dnu build
$ dnx web

Clone this wiki locally