Age | Commit message (Collapse) | Author |
|
* lukas/tools/cover_mem_footprint/OTP-9043:
Fix spelling on analyse
Add short sleep to prevent timing issues on slow machines
Update cover tests which depend on compiled files to be skipped if the compile testcase is skipped
Conflicts:
lib/tools/test/cover_SUITE.erl
|
|
|
|
|
|
compile testcase is skipped
|
|
* lukas/tools/cover_mem_footprint/OTP-9043:
Update testcases which need crypto to be skipped on platforms which does not have crypto
Update internal pmap to have a process limit Add write concurrancy to cover masters ?COVER_TABLE
Update documentation to reflect performance enhancement changes of cover
Add aync_analyse_to_file function to cover
Split the cover ets tables into two tables, one with the clause info and one with the bump info. This will make it faster to search the tables when analyzing and exporting data.
Add process debug tags
Update remote collect to handle multiple requests at once
Remove io printout warnings when exporting an imported module
Make the call to cover parallel so that the test_server takes advantage of the new cool parallel cover features.
Update cover to allow multiple analyse and analyze_to_file calls at the same time. For each call a seperate process will be spawned to handle the request.
Refactor cover to prepare it for making analysis parallel
Update remote loading to only load a certain number of modules at a time to prevent memory usage explosion
Conflicts:
lib/tools/test/cover_SUITE.erl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
have crypto
|
|
Add write concurrancy to cover masters ?COVER_TABLE
|
|
|
|
|
|
with the bump info. This will make it faster to search the tables when analyzing and exporting data.
Also made cover export more parallel in how data is collected from the different nodes and also how data is read from ets. This should make the performance of cover much better on machines with multiple CPUs.
|
|
|
|
|
|
|
|
time. For each call a seperate process will be spawned to handle the request.
|
|
|
|
prevent memory usage explosion
|
|
|
|
Error caused by low resolution timers.
|
|
Option {sort, calls} now sorts on calls.
Option {sort, time } now sorts on time.
|
|
A string whose last character is a dollar sign used to make the syntax
highlighter believe that the string never ends, breaking highlighting
of following code:
-vsn("$Revision: 42 $").
And the double quote as a character constant with a (superfluous)
backslash used to make the syntax highlighter believe that a new
string started:
foo() ->
$\".
This change fixes both problems by adding two regexps to
font-lock-syntactic-keywords in erlang-font-lock-init.
One case that is still broken is when a multi-line string ends with a
dollar sign:
bar() ->
"This multi-line string
ends with a $".
baz() ->
this_gets_incorrectly_highlighted.
|
|
|
|
|
|
|
|
* maint-r13:
Remove copyright headers in vsn.mk files
Conflicts:
lib/appmon/vsn.mk
lib/erl_docgen/vsn.mk
lib/inets/vsn.mk
lib/kernel/vsn.mk
lib/reltool/vsn.mk
lib/ssl/vsn.mk
lib/stdlib/vsn.mk
lib/tools/vsn.mk
lib/tv/vsn.mk
lib/xmerl/vsn.mk
|
|
Copyright notices serve no useful purpose in vsn.mk files, and
only complicate scripts that automatically update version numbers.
|
|
* tm/fix-cover-html-escaping:
Fix cover's HTML-generation logic to escape ampersands in source code
OTP-8776
|
|
Large parts of the ethread library have been rewritten. The
ethread library is an Erlang runtime system internal, portable
thread library used by the runtime system itself.
Most notable improvement is a reader optimized rwlock
implementation which dramatically improve the performance of
read-lock/read-unlock operations on multi processor systems by
avoiding ping-ponging of the rwlock cache lines. The reader
optimized rwlock implementation is used by miscellaneous
rwlocks in the runtime system that are known to be read-locked
frequently, and can be enabled on ETS tables by passing the
`{read_concurrency, true}' option upon table creation. See the
documentation of `ets:new/2' for more information.
The ethread library can now also use the libatomic_ops library
for atomic memory accesses. This makes it possible for the
Erlang runtime system to utilize optimized atomic operations
on more platforms than before. Use the
`--with-libatomic_ops=PATH' configure command line argument
when specifying where the libatomic_ops installation is
located. The libatomic_ops library can be downloaded from:
http://www.hpl.hp.com/research/linux/atomic_ops/
The changed API of the ethread library has also caused
modifications in the Erlang runtime system. Preparations for
the to come "delayed deallocation" feature has also been done
since it depends on the ethread library.
Note: When building for x86, the ethread library will now use
instructions that first appeared on the pentium 4 processor. If
you want the runtime system to be compatible with older
processors (back to 486) you need to pass the
`--enable-ethread-pre-pentium4-compatibility' configure command
line argument when configuring the system.
|
|
When cover generates HTML files and embeds source code within them, it
does not escape ampersands in the source code. These bare ampersands
get misinterpreted by web browsers as HTML character-entity
references; as a result, source code containing ampersands renders
improperly. This small patch fixes the problem by causing bare
ampersands to be escaped into as "&" character-entity references.
|
|
|
|
* egil/eprof:
Fix eprof to handle error cases
Dialyzer cleanup for eprof
Fix fprof_SUITE to use new eprof API
Switch pattern API for eprof profile with mfa
Update eprof documentation
Update eprof_SUITE with more basic tests
Rename sorting choices for eprof
Teach eprof to align text output
Add dump functionality to eprof
Add log functionality to eprof
Update eprof tests to reflect new eprof
Add start timestamp to eprof profiling
Teach eprof to use the new breakpoints
OTP-8706 egil/eprof
eprof has been reimplemented with support in the Erlang virtual machine and
is now both faster (i.e. slows down the code being measured less) and
scales much better. In measurements we saw speed-ups compared to the old
eprof ranging from 6 times (for sequential code that only uses one
scheduler/core) up to 84 times (for parallel code that uses 8 cores).
|
|
|
|
|
|
|
|
|
|
|
|
The eprof documentation is updated to reflect the new eprof application
and some API changes and convenience functions.
|
|
|
|
- Added {sort, mfa} option
|
|
|
|
|
|
|
|
|