-
-
Notifications
You must be signed in to change notification settings - Fork 14
add post about allocation rate of the rpython gc #162
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
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.
Nice!
print(mem / (t2 - t1), 'GB/s') | ||
``` | ||
|
||
Then we need to add some RPython schaffolding: |
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.
Then we need to add some RPython schaffolding: | |
Then we need to add some RPython scaffolding: |
9.684149 s | ||
14.901161 GB | ||
1.538717 GB/s | ||
``` |
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.
Maybe a word or two here about how the mark-and-sweep GC is much faster than the Boehm one?
0.005999000 seconds sys | ||
``` | ||
|
||
This is pretty cool, we can run this loop with an IPC of >5. Every allocation |
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.
IPC?
|
||
## How often does the GC run? | ||
|
||
The RPython GC queries the L2 cache size to determine the size of the nursery. We can find out what it is like this: |
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.
The RPython GC queries the L2 cache size to determine the size of the nursery. We can find out what it is like this: | |
The RPython GC queries the L2 cache size to determine the size of the nursery. We can find out what it is by printing some PYPYLOG gc information to stdout: |
The RPython GC queries the L2 cache size to determine the size of the nursery. We can find out what it is like this: | |
The RPython GC queries the L2 cache size to determine the size of the nursery. We can find out what it is by turning on PYPYLOG, selecting the proper parameters, and printing to `stdout` via `:-` : |
|
||
``` | ||
Loop 1 (run;/home/cfbolz/projects/gitpypy/allocatealot.py:6-9~#24 FOR_ITER) has address 0x7ced473ffa0b to 0x7ced473ffbb0 (bootstrap 0x7ced473ff980) | ||
``` |
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.
How does the code block show up in the rendered post? I think it might be nicer to break it into two lines with a '\'
continuation marker
thanks @mattip! |
No description provided.