Hades

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
Looks like I hit a road block regarding Performance and Python. Scanning a whole source file for possible changes and redo the content of the code viewer is very slow. Guess I still have to learn how to use CPython properly. I will take a break from this to clear my head here. If I can't manage this, then it is back to square one. :eek:
 

magic

Active Member
3rd Party Module Dev
3rd Party Tool Dev
Joined
Mar 5, 2018
I will take a break from this to clear my head here
Good idea Mike. Take a break and start over again in another day. I hope thing getting easier later.

I don't know how to help. I don't have any experience with Python.

Once, I have the same kind of problem. My loading with about 20000 line turn out extremely slow. I turn of the lexer because I believe my lexer coding probably have issue. After trying that, I found that it just resulting only a little different (in term of loading time). Then I do some test about loading itself. My old way of loading is actually bad. At that time, I load file line by line into string and then do a lexer (basically line by line). This is the problem. I then found a solution after that by loading the file into a memory and lexer the whole thing at once. This increase the performance a lot.

This is the code, but in purebasic. Just to illustrate the idea

Code:
rf=ReadFile(#PB_Any,NAMAFAIL$)
If rf     
    length = Lof(rf)
    If length>0
        *MemoryID1 = AllocateMemory(length)
        If *MemoryID1
            bytes = ReadData(rf, *MemoryID1, length) 
            txt$= PeekS(*MemoryID1,length)
        EndIf
    EndIf
    ScintillaSendMessage(SCI,#SCI_ADDTEXT,Len(txt$),@txt$)
    CloseFile(rf)
EndIf
I'm not sure if this can help. If it actually not helping at all, please forgive me for being clever :[
 
Last edited:

Phil7

Active Member
3rd Party Tool Dev
Joined
Jun 26, 2017
I will take a break from this to clear my head here.
Sometimes it helps if you go into detail when describing that problem here. Not, that I could help you, but maybe someone else or you get a new idea while talking about it.
 

Phil7

Active Member
3rd Party Tool Dev
Joined
Jun 26, 2017
You made my day! :D
How did you solve it?
Yesterday I also got some code working, that I was tinkering with on and off for the whole week.
 

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
In the ontextchanged event i only set a flag now.
When the cursor is moved to a different line, the codetreeview is updated only, if the text was changed. Much better performance now while typing.
 

dawlane

Active Member
CX Code Contributor
Joined
Jun 21, 2017
@MikeHart : Are you
Looks like I hit a road block regarding Performance and Python. Scanning a whole source file for possible changes and redo the content of the code viewer is very slow. Guess I still have to learn how to use CPython properly. I will take a break from this to clear my head here. If I can't manage this, then it is back to square one. :eek:
I would be looking at using a number of QThreads to try to improve performance first.
 

Phil7

Active Member
3rd Party Tool Dev
Joined
Jun 26, 2017
Are you still working on Hades? Your screenshots really look promising.
 

Phil7

Active Member
3rd Party Tool Dev
Joined
Jun 26, 2017
Good luck with this. I hope you have a backup of your work.
What are your thoughts on the future developement of Hades?
 

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
Definitely worth continuing. It is just... there so many things that need to be worked on too. The mobile platforms, rendering in OSX and IOS, etc. etc.
I guess I need to focus better regarding my time spend on CX.
 

Phil7

Active Member
3rd Party Tool Dev
Joined
Jun 26, 2017
What about having a thread with a list of all the things that need to be worked on and then either choose one after the other or have someone from the community jump in. So there is at least one topic, that is worked on with the main focus.
From there it would be great, if the person in charge of that topic could create one DefLog thread for it and write once a week about what has been accomplished and about problems that occurred, so the community can chime in.

IMAO you cannot work on all those problems on your own and you shouldn't, so let's try to work it out together. But you are the one with the best overview of all the pressing things here, so maybe you could create that list with each main thing to work on, followed by a short description of the reason, why this needs to be done and some keypoints of how this could be accomplished. No perfection needed, just a starting point to enable collaboration.

I am definitely willing to put in a few hours each week to make a start.
 

Holzchopf

Moderator
Joined
Jul 31, 2017
Location
Bern, Switzerland
I see no Hades repo linked to your GitHub account so I assume you mean KrautApps/cerberus with "current repository"... If so, then yes, a new repo would imho make more sense
 

Phil7

Active Member
3rd Party Tool Dev
Joined
Jun 26, 2017
I think this should be GitHub based
I guess this is the way to go. I don't have experience with Git from a developer point of view. Just browsing and downloading so far.

Should we use the currect repository or a new one?
Like I mentioned in an other thread: I really think you should make this whole Cerberus thing yours! Maybe this is just my feelings projected onto others, but with the GitHub rep and itch.io owned by Martin don't you sometimes feel like a guest doing all the work and carrying the weight of future decisions all by yourself? In short: Create a new repository for CX and also a new account on itch.io - I am sure everyone sees the effort you put into this and a project like this needs a real person in front of it.
Btw: Maybe it could also help first impressions if the "krautapps" disappears. "German three headed dog from hell" is not the best association for gaining wordwide trust and recognition...
 

MikeHart

Administrator
Joined
Jun 19, 2017
Location
Germany
Like I mentioned in an other thread: I really think you should make this whole Cerberus thing yours!
A few months ago I tried to move CX from Martin's account to mine. Wanted to go commercial. Take over the domain and all. He agreed but never reacted regarding itch.io. So i never asked about moving the cx repository to myself and lost drive you could say.
But Martin pays for the bills currently, for the server and the forum license. So we should be thankful for that. Last week he all of a sudden contacted me again about a different project. But Nah, no interest anyway.
Anyway, he mentioned last week that he has no problem letting CX go to someone else. But then, i am tired of chasing him.
If you guys really want that, then I would try again. One side effect would be that we have to switch to a different forum software. With all the negative effects a migration can have.

Overall it is great to see that CX aka Monkey is still kicking but for being able to be a relevant tool, it needs some serious updates. I never wanted to be the guy to work on its core. But hey, Martin didn't wanna do it anymore and I could not let the community down. So here I am. :)
I tried to get others to be officially involved. Some nice stuff came out of that so I am very thankful.
Mark S. created a monster and this beast is difficult to keep in line.

Btw: Maybe it could also help first impressions if the "krautapps" disappears. "German three headed dog from hell" is not the best association for gaining wordwide trust and recognition...
If being a German is a problem, them i am the wrong guy for it anyway. :p Never thought it would be but hey, people are weird sometimes.
 

Phil7

Active Member
3rd Party Tool Dev
Joined
Jun 26, 2017
Top Bottom