optimized logging speed #1354

Merged
merged 3 commits into from Dec 7, 2016

Projects

None yet

2 participants

@torusrxxx
Member
torusrxxx commented Dec 7, 2016 edited

Test script:

log "Start Performance Testing"
mov $perf,GetTickCount()
mov $i,0x4000
looping:
log {$i}
log {$i*2}
mov $i,$i-1
test $i,$i
jnz looping
nop
nop
mov $perf1,GetTickCount()-$perf
mov $perf,$perf1
log "Performance Testing Finished!Performance: {u:$perf}"

Test is conducted by monitoring the user CPU time of the GUI thread of x64dbg before and after running above script. $pref is not sync with GUI updates so it cannot be used. Results:

Old, UTF-8, Log Enabled: 6.9888448
Old, UTF-8, Log Disabled: 1.1388073
Old, UTF-16, Log Enabled: 6.0060385
Old, UTF-16, Log Disabled: 0.312002
New, UTF-8, Log Enabled: 4.6644299 (-33.3%)
New, UTF-8, Log Disabled: 0.3900025 (-65.8%)
New, UTF-16, Log Enabled: 5.1012327 (-15.1%)
New, UTF-16, Log Disabled: 0.1092007 (-65%)


This change is Reviewable

@mrexodia mrexodia merged commit 0adf243 into x64dbg:development Dec 7, 2016
@torusrxxx torusrxxx deleted the torusrxxx:patch0000004f branch Dec 8, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment