IntroductionCharacterizing the scalability of Erlang.VMOn kernel-core processorsExplanation:
Erlang schedulers are based on execution ction counting as a method for measuring execution time. A function is roughly equivalent to a function call. since each function call may take a different amount of time, the actual periods are not the same between different functions. when a process is scheduled to run, it is assigned a number of functions that it
1.1. High concurrency
1. Process
The smallest Execution Unit of Erlang is a process, and the biggest feature of the process is good isolation (with its own independent memory space, crash will not affect other work units ).
Erlang process features
2. coroutine
Switch by yourself
Efficient. Because the system context (such as page tables) is not frequently switched, the efficiency
Create a new. Erlang File:Io:format ("consulting. Erlang in ~p~n", [Element (2, FILE:GET_CWD ())]).C:CD ("C:/erl5.7.2/work"). % Note is the symbol "/" instead of "\". The catalogue changes according to individual needsIo:format ("Now in:~p~n", [Element (2, FILE:GET_CWD ())]).To view the properties of the Erlang executable program:For example, my environment:Erlan
Variablethe variable must start with an uppercase letter. in Erlang, variables are like those in math. When associating a value with a variable, it is an assertion, that is, a statement of fact. This variable is the value, that's all.Two assumptions about the simple statement of x=1234.
First, x is not a variable, it's not a concept that you're used to in Java and C languages.
Second, = is not an assignment operator, b
Do you want to learn Erlang! I feel that erlang is the future direction of multi-thread concurrent multi-core open-source is his advantage. if you want to work with us, please visit http://groups.csdn.net/erlang. no error. if you want to learn Erlang, please join us!
I feel that e
This article describes how to set the Erlang environment of Emacs and how to use common shortcut keys.
1. Download and install Emacs
The http://ftp.gnu.org/gnu/windows/emacs/ has an EXE file download at the bottom of the page.
2. Configure the Erlang plug-in
If Erlang has been installed$ (Erl_home) \ Lib \ tools-2.6.6.6 \ EmacsEmacs plug-in. (It is said tha
# The title may be confusing. In fact, I am not pleasing to the eye. "Color" refers to Beijing dialect, which is generally "unique. To say that one person is "a color", most of them are not praise, but negative loss. # Is an operator in Erlang syntax. Therefore, the title indicates the unique Erlang operator #. I noticed that # is the result of reading programming with
I. Variables
1. The variable [Single Assignment] in Erlang means that the variable can be assigned only once.
2. The variable must start with an uppercase letter.
Ii. Atom
The atom is equivalent to the enumeration type in C ++, but the value of the atom in Erlang is itself.
An atom is a string starting with a lower-case letter. However, if it is enclosed by single quotes, it doesn't matter if it is named. A
Erlang provides binary_to_term to convert binary data into original Erlang data. However, this function also has side effects. If you directly perform a binary_to_term operation on the data transmitted from the peer end, the VM crash may be dropped.
Binary_to_term side effects
This is because binary_to_term generates these atoms when binary data has Atomic values. However, the total number of VM atoms is li
Erlang Cowboy WebSocket ServerThe original text is:Http://marcelog.github.io/articles/erlang_websocket_server_cowboy_tutorial.htmlThis article is not a simple translation of the original text, is a reference to the original, according to my understanding and practice written. The source code of this article is:Https://github.com/marcelog/erws1 IntroductionErlang can be used to implement a WebSocket server. Cowboy such a framework can accomplish this t
original articles, reproduced please specify the Source: Server non-amateur research http://blog.csdn.net/erlib author SunfaceContact e-mail: [Email protected]ProcessesTrying to get a global view of processes was helpful when Trying to assess what much work was being done in the VMS in terms O F Tasks. A general good practice in Erlang are to use processes for truly concurrent activities-on Web servers, you'll usually g ET one process per request or c
In the previous article, the registration process associated atoms have global scope, where the global refers to the current Erlang virtual machine, in the distributed, is the current distributed node. Therefore, registering the process-associated atoms in one node cannot be used directly in another node, but must be used with the target node.
Copy Code code as follows:
{regname, Node}! {messages}.
Example
Start a Server node f
Baidu Cloud push to send official address Http://developer.baidu.com/wiki/index.php?title=docs/cplat/push
Simple introduction of the following principle:
Baidu Cloud push sends support for iOS and Android cloud push. Android support is good, but iOS is generally difficult to tune. Baidu Cloud for the iOS push, he just did a middle agent, to provide users with the interface, the advantage is to use Baidu Cloud Push, Android and iOS can be unified management; The disadvantage is: the communicati
PI is calculated mainly by Monte Carlo method. The code is as follows:1) pi.pl: $time 1 = Time (), foreach (1..20000000) { my ($x, $y) = (rand (), Rand ()); if (sqrt ($x * * 2 + $y * * 2) The Perl script runs as follows, and the average execution time for 20 million times is about 27 seconds: 2) pi.py Import randomimport Datetimeimport mathstarttime = Datetime.datetime.now () total = 0for I in Xrange (20000000): x, y = r Andom.random (), Random.random () if MATH.SQRT (x * * 2 + y * 2)
Compiling source code
Download source code from Erlang website
$ wget http://erlang.org/download/otp_src_19.1.tar.gzInstallation dependencies
$ sudo yum install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf gitUnzip the first step of the download source code
$ tar zxvf otp_src_19.1.tar.gzInstallation
$ CD opt_src_19.1$./otp_build autoconf$./configure make sudo make installVerify
$ erlInstall from Fedora Library (not recomme
1. Building the directory structureIn my example, the project folder is Bank1Ebin directory: storing compiled beam filesInclude directory: storing HRL filesSRC directory: Storing erl source Files2. Create a Emakefile fileAt compile time, the compiler will handle the Emakefile file as appropriate.{[' src/* '% specify the erl source file directory],[debug_info,{i, "include"} percent specifies the Include folder, {OutDir, "Ebin"} percent to specify the compiled beam file directory]}.2, write the co
Questions:When we put all the supervision tree in a project through a simple function game:start (), we find that the tree structure is particularly complex, with only one root node, and then it expands.Here, this is why application appears, designing a sub-block (application) that can be switched on at any time. For example: In the Log app, DB app, game app, connect app.So the switch management of these applications is very convenient, "Imagine if you use supervisor, the runtime also to manuall
See http://ecug.org/
You are welcome to spread this message everywhere.
----CN erlounge III-launch
Time ~ , For 2 days
Location: Shanghai (detailed address to be confirmed)
Character: This is intended for the Erlang Chinese community, but it does not exclude anyone interested in topics such as Erlang, distributed, and multi-core.
Topics: Erlang-rela
Here is an elang description:
Erlang Quick Start Abstract: Erlang is not only a programming language, but also has some features closer to the operating system than the programming language: concurrent threads, Job Scheduling, memory management, distributed, and networking. It has a super lightweight process, which dynamically changes the memory requirements. Erlang
Source: http://erlang-china.org/misc/scalaris_and_build-in-json.html
Recently active Erlang community events are the code announcement of scalaris and the hot json bif discussion.
Scalaris is the mysterious yet an other key-value dB project presented by Alexander reinefeld on Erlang Exchange 2008 in the previous article. Currently, its source code has been publi
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.