Skip to content

v6.4.0#202

Open
fa0311 wants to merge 6 commits into
masterfrom
develop-v6
Open

v6.4.0#202
fa0311 wants to merge 6 commits into
masterfrom
develop-v6

Conversation

@fa0311

@fa0311 fa0311 commented Jul 5, 2026

Copy link
Copy Markdown
Owner

No description provided.

HetCreep and others added 6 commits June 1, 2026 15:15
`__lt__`/`__gt__` compared each field with independent `or`, so ordering
was wrong whenever a lower place-value differed in the opposite direction:

    Version("v6.0.0") < Version("v5.10.0")
    # major 6 < 5 -> False, minor 0 < 10 -> True  => returns True (wrong)

Compare the (major, minor, patch) tuples instead, which Python orders
lexicographically — the correct semantic-version behaviour. `__le__`/`__ge__`
delegate to these and are fixed transitively.
ProcessIdManager built its snapshot by calling x.exe() on every process
returned by process_iter() — one syscall per process, on a list rebuilt
each time new_process() diffs before/after a launch. Switch to
process_iter(attrs=["pid", "exe"]), which fetches both fields in one pass
and yields None for exe on AccessDenied (same result as the old try/except
wrapper), markedly faster on machines with many processes.

Also cache get_sid() with lru_cache(maxsize=1): the current user's SID is
constant for the process lifetime, so the win32 lookup need not repeat on
every scheduled-task operation.

No behavioural change.
fix(version): correct semantic version ordering
perf(process_manager): batch process enumeration, cache SID lookup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants