zopencommunity / zopencommunity/bashport

performance issues

Open
#35 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted performance
Dominant language
Groovy
Stars
12
Forks
7
PR merge metrics
No merged PRs in 30d

Description

Good afternoon everyone,

First of all, I would like to thank you for putting so much time and effort into porting these very important tools.

I have noticed that there are massive differences in the execution time of shell scripts.
When I use bash instead of the default shell, execution is factors slower.

While I was researching, I found the following link.

I then simplified the test script a little and took some measurements of running times.
I am attaching my results to this issue here.

I realise that there are more important issues than performance at the moment,
but I'd like to put it in writing anyway.

Thanks and best regards
Mike


The Script

#!/bin/sh
count=1
while [ ${count} -le 500 ]
do
        out=`echo "Some test data" | cut -c1`
        count=$((count+1))
done

Results

using sh

MIKEG1@prod:~/perftest$ time ./test.sh

real    0m20,118s
user    0m3,791s
sys     0m1,264s
MIKEG1@prod:~/perftest$ time ./test.sh

real    0m14,980s
user    0m3,745s
sys     0m1,248s
MIKEG1@prod:~/perftest$ time ./test.sh

real    0m16,423s
user    0m3,739s
sys     0m1,246s
MIKEG1@prod:~/perftest$ time ./test.sh

real    0m16,667s
user    0m3,726s
sys     0m1,242s
MIKEG1@prod:~/perftest$ time ./test.sh

real    0m16,431s
user    0m3,758s
sys     0m1,253s
using bash v4 (rocket)
MIKEG1@prod:~/perftest$ time ./test.sh

real    1m15,267s
user    0m25,929s
sys     0m8,643s
MIKEG1@prod:~/perftest$ time ./test.sh

real    1m15,796s
user    0m25,838s
sys     0m8,613s
MIKEG1@prod:~/perftest$ time ./test.sh

real    1m8,562s
user    0m25,833s
sys     0m8,611s
MIKEG1@prod:~/perftest$ time ./test.sh

real    1m13,640s
user    0m25,913s
sys     0m8,638s
MIKEG1@prod:~/perftest$ time ./test.sh

real    1m8,053s
user    0m25,803s
sys     0m8,601s
using bash v5 (ZOSOpenTools)
MIKEG1@prod:~/perftest$ time ./test.sh

real    1m40,283s
user    0m42,381s
sys     0m14,127s
MIKEG1@prod:~/perftest$ time ./test.sh

real    1m39,797s
user    0m42,342s
sys     0m14,114s
MIKEG1@prod:~/perftest$ time ./test.sh

real    1m50,684s
user    0m42,598s
sys     0m14,199s
MIKEG1@prod:~/perftest$ time ./test.sh

real    1m44,472s
user    0m42,158s
sys     0m14,053s
MIKEG1@prod:~/perftest$ time ./test.sh

real    1m37,375s
user    0m42,034s
sys     0m14,011s

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no repository file or test entry point. Reproduce the supplied 500-iteration script with the default shell, bash v4, and bash v5, then investigate the reported timing difference in bashport. Completion criteria are not defined beyond investigating the performance gap, so maintainers should agree on a target benchmark and scope first.

Written by the indexing model from the issue text.

Assessment

Tech stack
bash
Domain
cli, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.