-
Notifications
You must be signed in to change notification settings - Fork 153
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add section Profiling your K semantics
section in the user manual.
#2809
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some minor aesthetic changes.
Suggestions from the makefile blocks removes trailing whitespace so it doesn't introduce a horizontal scroll bar in the rendered version.
I would still like it this gets one more review from @dwightguth or @ehildenb
USER_MANUAL.md
Outdated
|
||
1. The first thing to be aware of is in order to get meaningful data, you need to build the semantics and all of its dependencies with optimizations enabled but _without the frame pointer elimination optimization_. For example, for EVM, this means rebuilding GMP, MPFR, JEMalloc, Crypto++, SECP256K1, etc with the following `exports`. | ||
```shell | ||
export CFLAGS="-g -O2 -fno-omit-frame-pointer"; export CXXFLAGS="-g -O2 -fno-omit-frame-pointer" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's add -DNDEBUG
but remove -g
here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dwightguth is this suggested change supposed to be for both CFLAGS and CXXFLAGS? Currently, we are saying -DNDEBUG
for CXXFLAGS
, but -g
for CFLAGS
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both
04168a7
to
986f4f2
Compare
The rest of the file is wrapped at 80 characters I believe @ChristianoBraga . Please follow the same convention. |
As a matter of fact, because of how terminals that are exactly 80 characters wide tend to work, the entire file is word wrapped such that each line (with the exception of some code fragments and urls that aren't easy to effectively wrap) is less than 80 characters, as in, the 79th character is the last one that is allowed to exist. |
986f4f2
to
5bf8224
Compare
5bf8224
to
19632e3
Compare
I dont’t understand why this was assigned to me in the first place.
Please reassign it to someone who is responsible for formatting the
documentation of K.
…On Sat, 3 Sep 2022 at 17:26 Everett Hildenbrandt ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In USER_MANUAL.md
<#2809 (comment)>
:
> +optimization_. For example, for EVM, this means rebuilding GMP, MPFR,
+JEMalloc, Crypto++, SECP256K1, etc with the following `exports`.
+```shell
+ export CFLAGS="-g -O2 -fno-omit-frame-pointer" ;
+ export CXXFLAGS="-DNDEBUG -O2 -fno-omit-frame-pointer"
+```
+
+You can skip this step, but if you do, any samples within these
+libraries will not have correct stack trace information, which means
Look at the rest of this flie, and format this the same way as the rest.
A space before the backticks codeblock, a space after it, no spaces before
each line in the code block, etc...
You should *always* inspect the formatting of th erest of the file or
project or whatever you're contributing to, it's up to you, the PR author,
to make sure this is correct. Burden should not be shifted onto the
reviewers.
—
Reply to this email directly, view it on GitHub
<#2809 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFNNCEPDYX4A2DZERAEKWL3V4OYANANCNFSM56V6L4XQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
The new section, right after
Debugging
, gives a general description of the process necessary for profiling and illustrates it with a couple of Makefile target examples from the KPlutus project.