-
Notifications
You must be signed in to change notification settings - Fork 107
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
lazy pages optimization #1133
lazy pages optimization #1133
Conversation
f000e59
to
ac43d26
Compare
ac43d26Pallet tests (values are in nanoseconds)Total execution time
name = pallet-gear
name = pallet-gear-debug
name = pallet-gear-gas
name = pallet-gear-messenger
name = pallet-gear-payment
name = pallet-gear-program
name = pallet-usage
Runtime tests (values are in nanoseconds)Total execution time
name = Async RwLock
name = Async init
name = Async-await
name = Async-duplicates-sync
name = Async-multisig (well known cases)
name = Async-sign (well known cases)
name = Basic capacitor check
name = Decoder
name = Futures-unordered
name = Incomplete-async-payloads
name = Memory test
name = Messages to failed program are handled properly
name = Meta ping (simple check)
name = Multiping
name = Ping-pong
name = Program_id test
name = State-rollback
name = Test create_program sys-call
name = Trap test
name = Wait test
name = basic
name = collector-1
name = guestbook test
name = gui test
6f100f7Pallet tests (values are in nanoseconds)Total execution time
name = pallet-gear
name = pallet-gear-debug
name = pallet-gear-gas
name = pallet-gear-messenger
name = pallet-gear-payment
name = pallet-gear-program
name = pallet-usage
Runtime tests (values are in nanoseconds)Total execution time
name = Async RwLock
name = Async init
name = Async-await
name = Async-duplicates-sync
name = Async-multisig (well known cases)
name = Async-sign (well known cases)
name = Basic capacitor check
name = Decoder
name = Futures-unordered
name = Incomplete-async-payloads
name = Memory test
name = Messages to failed program are handled properly
name = Meta ping (simple check)
name = Multiping
name = Ping-pong
name = Program_id test
name = State-rollback
name = Test create_program sys-call
name = Trap test
name = Wait test
name = basic
name = collector-1
name = guestbook test
name = gui test
94fbad9Pallet tests (values are in nanoseconds)Total execution time
name = pallet-gear
name = pallet-gear-debug
name = pallet-gear-gas
name = pallet-gear-messenger
name = pallet-gear-payment
name = pallet-gear-program
name = pallet-usage
Runtime tests (values are in nanoseconds)Total execution time
name = Async RwLock
name = Async init
name = Async-await
name = Async-duplicates-sync
name = Async-multisig (well known cases)
name = Async-sign (well known cases)
name = Basic capacitor check
name = Decoder
name = Futures-unordered
name = Incomplete-async-payloads
name = Memory test
name = Messages to failed program are handled properly
name = Meta ping (simple check)
name = Multiping
name = Ping-pong
name = Program_id test
name = State-rollback
name = Test create_program sys-call
name = Trap test
name = Wait test
name = basic
name = collector-1
name = guestbook test
name = gui test
7e30b12Pallet tests (values are in nanoseconds)Total execution time
name = pallet-gear
name = pallet-gear-debug
name = pallet-gear-gas
name = pallet-gear-messenger
name = pallet-gear-payment
name = pallet-gear-program
name = pallet-usage
Runtime tests (values are in nanoseconds)Total execution time
name = Async RwLock
name = Async init
name = Async-await
name = Async-duplicates-sync
name = Async-multisig (well known cases)
name = Async-sign (well known cases)
name = Basic capacitor check
name = Decoder
name = Futures-unordered
name = Incomplete-async-payloads
name = Memory test
name = Messages to failed program are handled properly
name = Meta ping (simple check)
name = Multiping
name = Ping-pong
name = Program_id test
name = State-rollback
name = Test create_program sys-call
name = Trap test
name = Wait test
name = basic
name = collector-1
name = guestbook test
name = gui test
a42bd09Pallet tests (values are in nanoseconds)Total execution time
name = pallet-gear
name = pallet-gear-debug
name = pallet-gear-gas
name = pallet-gear-messenger
name = pallet-gear-payment
name = pallet-gear-program
name = pallet-usage
Runtime tests (values are in nanoseconds)Total execution time
name = Async RwLock
name = Async init
name = Async-await
name = Async-duplicates-sync
name = Async-multisig (well known cases)
name = Async-sign (well known cases)
name = Basic capacitor check
name = Decoder
name = Futures-unordered
name = Incomplete-async-payloads
name = Memory test
name = Messages to failed program are handled properly
name = Meta ping (simple check)
name = Multiping
name = Ping-pong
name = Program_id test
name = State-rollback
name = Test create_program sys-call
name = Trap test
name = Wait test
name = basic
name = collector-1
name = guestbook test
name = gui test
268bb66Pallet tests (values are in nanoseconds)Total execution time
name = pallet-gear
name = pallet-gear-debug
name = pallet-gear-gas
name = pallet-gear-messenger
name = pallet-gear-payment
name = pallet-gear-program
name = pallet-usage
Runtime tests (values are in nanoseconds)Total execution time
name = Async RwLock
name = Async init
name = Async-await
name = Async-duplicates-sync
name = Async-multisig (well known cases)
name = Async-sign (well known cases)
name = Basic capacitor check
name = Decoder
name = Futures-unordered
name = Incomplete-async-payloads
name = Memory test
name = Messages to failed program are handled properly
name = Meta ping (simple check)
name = Multiping
name = Ping-pong
name = Program_id test
name = State-rollback
name = Test create_program sys-call
name = Trap test
name = Wait test
name = basic
name = collector-1
name = guestbook test
name = gui test
|
Codecov Report
@@ Coverage Diff @@
## master #1133 +/- ##
==========================================
- Coverage 74.57% 74.22% -0.35%
==========================================
Files 97 97
Lines 9212 9254 +42
==========================================
- Hits 6870 6869 -1
- Misses 2342 2385 +43
Continue to review full report at Codecov.
|
23ffc00
to
6f100f7
Compare
e2b206c
to
f308337
Compare
the fact that the number of samples has decreased does not mean that the performance has grown, |
Please provide a side-by-side benchmark ( |
What do you mean |
this branch: |
bf5413f
to
1b27de5
Compare
Will |
Done, see in head |
I can see the difference only in syscalls, which begin to be profiled |
Good to know. Thx @ark0f |
39aba9e
to
86f6061
Compare
in order to optimise lazy pages work - move logic which calc keys for pages in signal handler.
Also completely remove lazy_pages set because it can be very costly to support it when memory size is big
Perf
I have run gr_read benchmarks to test perf increase:
gear_core_processor::executor::prepare_memory (where lazy pages init info is called) takes
time for gr_read:
time for gr_reply_commit:
Testing
Run node with this patch over all test-net chain - all OK
Important
This patch requires node binary update after runtime update.