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.
mkdir_all
is used at many places to ensure a destination directory exists - even when it's likely that it already does. Often it is not wrapped in anos.exists(<dst_dir>)
condition. When it is, it should imho not be necessary to add the condition.This PR increases the performance of
mkdir_all
when it is called outside a conditional block like mentioned above and the destition dir is already present. It does it by using an early return fast path. The performance increase is more than 300%.It's the way go does it:
https://github.com/golang/go/blob/dd88f23a2006307f835f42063b5168ec56c2c428/src/os/path.go#L18-L24
The error is kept the same that would be thrown further down the function.
馃 Generated by Copilot at e11c57e
Improve
os.create_folder
function by checking output path validity. Prevent file overwriting and nested folder creation.馃 Generated by Copilot at e11c57e
os.create_folder
.