Skip to content

Commit c947b35

Browse files
committed
[GR-19691] Update the Aim and Status in the README and document VisualVM
PullRequest: truffleruby/2022
2 parents d23e36f + 287c176 commit c947b35

File tree

3 files changed

+33
-6
lines changed

3 files changed

+33
-6
lines changed

README.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,15 @@ Please report any issue you might find on [GitHub](https://github.com/oracle/tru
5858
TruffleRuby aims to:
5959

6060
* Run idiomatic Ruby code faster
61+
* TruffleRuby is the fastest Ruby implementation for many CPU-intensive benchmarks.
6162
* Run Ruby code in parallel
62-
* Boot Ruby applications in less time
63-
* Execute C extensions in a managed environment
63+
* TruffleRuby does not have a global interpreter lock and runs Ruby code in parallel.
64+
* Support C extensions
65+
* Many C extensions work out of the box, including database drivers.
6466
* Add fast and low-overhead interoperability with languages like Java, JavaScript, Python and R
67+
* Provided by GraalVM, see the [Polyglot documentation](doc/user/polyglot.md).
6568
* Provide new tooling such as debuggers and monitoring that work across languages
69+
* Includes a profiler, debugger, VisualVM, and more, see the [Tools documentation](doc/user/tools.md).
6670
* All while maintaining very high compatibility with the standard implementation of Ruby
6771

6872
## TruffleRuby Runtime Configurations
@@ -118,10 +122,16 @@ See the [contributor workflow](doc/contributor/workflow.md) document if you wish
118122
We recommend that people trying TruffleRuby on their gems and applications
119123
[get in touch with us](#contact) for help.
120124

121-
TruffleRuby is progressing fast but is currently probably not ready for you to
122-
try running your full Rails application on. However it is ready for
123-
experimentation and curious end-users to try on their gems and smaller
124-
applications, and to send us reports of issues they find.
125+
TruffleRuby can run Rails and is compatible with many gems, including C extensions.
126+
TruffleRuby is not 100% compatible with MRI 2.6 yet though, please report any compatibility issue you might find.
127+
TruffleRuby [passes around 97% of ruby/spec](https://eregon.me/blog/2020/06/27/ruby-spec-compatibility-report.html),
128+
more than any other alternative Ruby implementation.
129+
130+
TruffleRuby might not be fast yet on Rails applications and large programs.
131+
Notably, large programs currently take a long time to warmup on TruffleRuby and
132+
this is something the TruffleRuby team is currently working on.
133+
Large programs often involve more performance-critical code and
134+
so there is a higher chance to hit an area of TruffleRuby which has not been optimized yet.
125135

126136
## Releases
127137

doc/user/installing-graalvm.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
[GraalVM](http://graalvm.org/) is the platform on which TruffleRuby runs.
44

5+
Installing GraalVM enables to run TruffleRuby both in the `--native` and `--jvm`
6+
[runtime configurations](../../README.md#truffleruby-runtime-configurations).
7+
58
## Dependencies
69

710
[TruffleRuby's dependencies](../../README.md#dependencies) need to be installed

doc/user/tools.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,20 @@ c = a.compose(b, 0, 0)
1414
c.save('c.png')
1515
```
1616

17+
## VisualVM
18+
19+
You need to use the `--jvm` runtime configuration and [install GraalVM](installing-graalvm.md) to use VisualVM.
20+
21+
VisualVM is a GUI with many tools:
22+
23+
* Monitoring such as CPU usage, heap size, time spent in GC etc (tab: Monitor)
24+
* Capturing and exploring heap dumps (tab: Monitor)
25+
* A list of threads and their status, and thread dumps (tab: Threads)
26+
* CPU and Memory sampling profilers at the Java level (tab: Sampler)
27+
* A CPU sampling profiler at the **Ruby** level (tab: Polyglot Sampler)
28+
29+
There is more documentation about VisualVM on the [GraalVM website](https://www.graalvm.org/tools/visualvm/).
30+
1731
## Profiling
1832

1933
### CPU Tracer

0 commit comments

Comments
 (0)