Performance issues with short bytestring's 'unpack'
- Dominant language
- Haskell
- Stars
- 74
- Forks
- 38
- PR merge metrics
- No merged PRs in 30d
Description
In GitLab by @maerwald on Jul 17, 2022, 20:37
https://github.com/haskell/bytestring/pull/526
Benchmark comparison: https://gist.github.com/hasufell/cb46c979fedcef8a5d087ad193666e74
## Regressions
* replaceFileName (windows)
* dropFileName (windows)
* takeDirectory (windows)
* combine (windows)
* joinPath (windows)
* splitDirectories (windows)
* splitDrive (windows)
* takeDrive (windows)
* hasDrive (posix)
* hasDrive (windows)
* dropDrive (windows)
* isDrive (posix)
* isDrive (windows)
* normalise (windows)
* equalFilePath (windows)
* makeRelative (windows)
* isRelative (posix)
* isRelative (windows)
* isAbsolute (posix)
* isAbsolute (windows)
* isValid (windows)
* makeValid (windows)
## Improvements
* splitExtension (posix)
* splitExtension (windows)
* takeExtension (posix)
* takeExtension (windows)
* replaceExtension (posix)
* replaceExtension (windows)
* dropExtension (posix)
* dropExtension (windows)
* addExtension (posix)
* addExtension (windows)
* hasExtension (posix)
* hasExtension (windows)
* splitExtensions (posix)
* splitExtensions (windows)
* dropExtensions (posix)
* dropExtensions (windows)
* takeExtensions (posix)
* takeExtensions (windows)
* replaceExtensions (posix)
* replaceExtensions (windows)
* isExtensionOf (posix)
* isExtensionOf (windows)
* stripExtension (posix)
* stripExtension (windows)
* splitFileName (posix)
* splitFileName (windows)
* takeFileName (posix)
* takeFileName (windows)
* replaceFileName (posix)
* dropFileName (posix)
* takeBaseName (posix)
* takeBaseName (windows)
* replaceBaseName (posix)
* replaceBaseName (windows)
* takeDirectory (posix)
* replaceDirectory (posix)
* replaceDirectory (windows)
* combine (posix)
* splitPath (posix)
* splitPath (windows)
* joinPath (posix)
* splitDirectories (posix)
* splitDrive (posix)
* joinDrive (posix)
* joinDrive (windows)
* takeDrive (posix)
* dropDrive (posix)
* hasTrailingPathSeparator (posix)
* hasTrailingPathSeparator (windows)
* addTrailingPathSeparator (posix)
* addTrailingPathSeparator (windows)
* dropTrailingPathSeparator (posix)
* dropTrailingPathSeparator (windows)
* normalise (posix)
* equalFilePath (posix)
* makeRelative (posix)
* isValid (posix)
* makeValid (posix)
* splitSearchPath (posix)
* splitSearchPath (windows)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked bytestring pull request and the benchmark comparison, then review the listed filepath regressions and improvements. The issue does not name files or tests; completion would require resolving the short-bytestring unpack performance concern while preserving the reported platform-specific behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100