Giter Club home page Giter Club logo

Comments (9)

vaab avatar vaab commented on May 9, 2024

Hi, Thanks for your report. I'll look a little deeper perhaps next week... but caching results won't be so easy because of the templating nature of gitchangelog (well some solution could be investigated). I don't have so much time right now, but could you tell me if git log command itself is as slow as gitchangelog or if it is magnitude's quicker ? Is the time of the git log command itself acceptable for you ?
Best answer would be to give me time of generation of gitchangelog (with time gitchangelog) and time of and the number of commit you have in your history (both: git log --oneline | wc -l and git rev-parse $(git log --format=%H | tail -n 1)..HEAD)... timing these last two command would be helpfull too. Thanks again !

from gitchangelog.

dimti avatar dimti commented on May 9, 2024

I execute three commands:
1.
[dimti@arch-usb digitec]$ time gitchangelog > f
real 0m21.229s
user 0m11.027s
sys 0m4.177s

[dimti@arch-usb digitec]$ time git log --oneline | wc -l
1675
real 0m0.089s
user 0m0.040s
sys 0m0.063s

[dimti@arch-usb digitec]$ time git rev-parse $(git log --format=%H | tail -n 1)..HEAD
7484b0175dd2de292a07a828f64fd8ba4c387e63
^a62493ad0e4ffe549108228000a15903376929c0
real 0m0.053s
user 0m0.037s
sys 0m0.030s

I did correct?

from gitchangelog.

vaab avatar vaab commented on May 9, 2024

Perfect, thanks ! At first glance, there must be room for improvements ! Which templating system are you using ?

from gitchangelog.

dimti avatar dimti commented on May 9, 2024

In gitchangelog.rc
output_engine = rest_py

from gitchangelog.

vaab avatar vaab commented on May 9, 2024

Better late than never, I pushed a branch with numerous important changes. (python 3 compat, unittests, git config parsing refactor, git log refactor).

And sorry for spaming the line with commits, I had some issues with travis and like to make clean history.

Can you tell me if the performance is better on your side with this branch ? (notice it's on another remote)

https://github.com/vaab/gitchangelog/tree/issue_7

from gitchangelog.

dimti avatar dimti commented on May 9, 2024

Hi.

I`m got the error with gitchangelog on branch issue_7 (a60d77a)

$ time /opt/gitchangelog/gitchangelog.py > changelog
Traceback (most recent call last):
File "/opt/gitchangelog/gitchangelog.py", line 833, in
main()
File "/opt/gitchangelog/gitchangelog.py", line 820, in main
output_engine=config.get("output_engine", rest_py),
UnicodeEncodeError: 'ascii' codec can't encode characters in position 76-86: ord
inal not in range(128)

real 0m1.109s
user 0m0.304s
sys 0m0.248s

from gitchangelog.

vaab avatar vaab commented on May 9, 2024

Hum, this was pushed/closed automatically a little bit quickly. Can you check that the last version is correcting your speed issues ?
Thanks a lot for your last encoding issues, I introduced some more test around this. However, these issues are not always easy to circumvent. I would appreciate if you could confirm me that it works on your side.

from gitchangelog.

dimti avatar dimti commented on May 9, 2024

Hi.
It great

Testing

Old version:

[dimti@prototype digitec]$ time gitchangelog.py > CHANGELOG.md

real 0m26.633s
user 0m9.830s

sys 0m10.790s

New version:

[dimti@prototype digitec]$ time gitchangelog.py > CHANGELOG.md

real 0m1.806s
user 0m0.777s

sys 0m0.707s

Thanks!

from gitchangelog.

vaab avatar vaab commented on May 9, 2024

There's room for more improvements, and your suggestion to do incremental CHANGELOG was not forgotten. For now, I like the idea that CHANGELOG is not stored in git repository as it can be produced completely from tools such as gitchangelog. But it's true that one could see such tools as a way to create a base version that they'll further edit, and in this case, storing the CHANGELOG in the git repository make sense, and thus, wanting to output only new part to the CHANGELOG would also make sense.
Also, for really large history, this would help (as you suggested) to reduce considerably the CHANGELOG generation time.
Anyway, thanks for your report !

from gitchangelog.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.