CLI: use one process to test many keys for mfkey32v2#191
Draft
p-l- wants to merge 4 commits intoRfidResearchGroup:mainfrom
Draft
CLI: use one process to test many keys for mfkey32v2#191p-l- wants to merge 4 commits intoRfidResearchGroup:mainfrom
p-l- wants to merge 4 commits intoRfidResearchGroup:mainfrom
Conversation
Built artifacts for commit 04ee2f4FirmwareClient |
04ee2f4 to
7e18ed4
Compare
It is done by adding a "server" mode (on STDIN/STDOUT) to `mfkey32v2` using `--server`. This improves the speed of the decrypt process, as it prevents a lot of Python calls to `subprocess.Popen()` (and of course, a lot of fork/execve syscalls). On my laptop, with the same logs (37 records for one block and 37 records for another block), here are the performances, as measuerd using a simple command: ```bash time echo -e "hw connect\nhf mf elog --decrypt\nhw disconnect" | ./chameleon_cli_main.py ``` | | | real | user | sys | |---------------------------|---------|------------|------------|-----------| | Before parallelisation | 05ea03d | 14m59,277s | 14m47,995s | 0m8,490s | | With parallelisation | RfidResearchGroup#187 | 6m13,513s | 35m2,926s | 0m22,038s | | With item skipping | RfidResearchGroup#189 | 2m42,491s | 15m43,425s | 0m9,881s | | With `mfkey32v2 --server` | this PR | 1m55,160s | 0m1,315s | 0m0,250s |
473ffa1 to
732c894
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
It is done by adding a "server" mode (on STDIN/STDOUT) to
mfkey32v2using--server.This improves the speed of the decrypt process, as it prevents a lot of Python calls to
subprocess.Popen()(and of course, a lot of fork/execve syscalls).On my laptop, with the same logs (37 records for one block and 37 records for another block), here are the performances, as measured using a simple command:
mfkey32v2 --serverAlso, the Python code has been cleaned a bit, mostly to improve readability.