Modify

Opened 13 months ago

Closed 13 months ago

Last modified 13 months ago

#23249 closed enhancement (worksforme)

Filter Performance Issue

Reported by: mrgenie Owned by: team
Priority: major Milestone:
Component: Core Version:
Keywords: Cc:

Description

I searched her for existing tickets concerning the filter performance but couldn't find any.

The thing is - when I enable a filter it's being applied in a certain amount of time. Quite acceptable I may add.

Now if I download my city - and apply a filter to only show road infrastructure and filter out everything else that takes let's say 2s to be applied.

And up to this point it's all just working very well.

Now the thing is - if I move a node, I click it and I move it to the new location, it's (out of my belly) exactly the same time as applying the filter again that's how long the JOSM hangs and is stuck before it moves that single node.

And this is with every action I perform, every single action the JOSM is stuck (again out of my belly) exactly the same time it takes to apply the filter.

So my guess is - every time any action is being performed with the filter active - the filter is doing the filtering again.

I think this is something that can be improved. Instead of having the filtering mechanism applied time and again - by not changing tags but just moving a tag - the filter mechanism shouldn't be re-applied if no tag values are added/deleted/changed.

I get it that the filter is being re-applied when a tag is being added/deleted/changed value for the key, etc.

but just moving a node, not changing anything else? Why apply the filter again and again for every single move?

And my second idea where we could improve the filtering technique.. create a bounding box around the area where actually changes are - and re-apply the filter not over all downloadeded data but only inside the bounding box where a change to the tag/value actually did occur.

I mean if I already filtered everything for all downloaded area.. and make a change only in like 1% of the downloaded area - I don't need to reapply the filter for the 100% of the downloaded area, only that small 1% it needs to be re-applied right.

So I think here is some significant PERFORMANCE INCREASE possible if someone of the programming team could optimize the filtering algorithms.

Thank you

Attachments (0)

Change History (7)

comment:1 by stoecker, 13 months ago

Resolution: worksforme
Status: newclosed

If you have specific suggestions please provide them, but such a generic request isn't helpful. JOSM authors spent a lot of time to improve the whole filtering and rendering process otherwise you wouldn't be able to display such a large amount of data at all as you can do ATM.

A general note BTW which will be true also in the future: Zooming in makes JOSM faster.

comment:2 by anonymous, 13 months ago

Hi, thanks for the rude response.

I think I was already specific, no need to be so rude it's just a specific request I had.

Cheers mate - no need to be rude here

comment:3 by stoecker, 13 months ago

Are your feelings hurt by telling you that your comment isn't helpful, but you think it's not rude to suggest that the programming team is too dumb to actually understand the own code and a suggestion like "oh, simply optimize it" will make us scream: Oh yes, we never thought of that, that's so helpful!

Maybe you need to relearn what's rude and what not. Rude would have been if I simply closed the ticket, but I explained things to you.

comment:4 by stoecker, 13 months ago

In case you want to learn: #21693, #22529, #23097 are examples of helpful tickets about performance improvements. Or even #23085 which caused a major performance improvement by pointing out an awfully slow function.

comment:5 by anonymous, 13 months ago

I'm sorry that I'm not a java developer :(

So do I understand you from the examples you posted on proper issue-reporting that only people who can program in java themselves are allowed to post issues they have with the application - everyone else will simply be closed because we're not java experts?

If that's the case - and that is what I deduct from the examples you posted - then i won't of course to honor your request not post any more issues with JOSM.

To the other part - you're putting words into my mouth: I never said the dev team is dumb, please refrain from hate speech on a public forum. It's not wanted in the OSM community that you here in public write hate speech. Please always stay kind and friendly. I sincerely beg your pardon and kindly ask to stay friendly in public space.

""oh, simply optimize it"" - I looked several times over my written text - I really wonder where you have read that.. I can't find it neither can the search engine. Again - please don't put words in my mouth I didn't say. If you have a personal hate against me - that's fine - but keep hate out of public space, we don't want to contribute to the hate that's already out there right?

but I explained things to you. - well I considered it a more a rant.. and a very unfriendly one.
I wrote in my text phrases like, and I quote:

"And up to this point it's all just working very well."
clearly stating I'm happy with how it works up to that point where I'm getting an issue - which is close to complementing

then I wrote my experience where I have a trouble..

And then I wrote, i quote:"So my guess is "

Clearly indicating I'm not a java programmer and thus don't know and thus guess...
Again sorry for not being a java expert.

And then I wrote what my guess is and what I'm guessing where things might be improved.

if it's not possible - instead of spreading hate speech -you could have kept it with a short answer:"we won't fix anything, nothing to be fixed, works as intended, no time for this.."

So many options..

It's definitely not a generic request if a person clearly points out something what others even define as a bug - I wouldn't go that far - but it could be considered a bug if something doesn't work as the user expects it..

And I definitely went into more specifics what I "guess" I clearly used that word - might be the culprit and could be focused on.

Again - no need for hate speech mate.

Thank you and God blessings to you

comment:6 by stoecker, 13 months ago

Grow up.

comment:7 by taylor.smock, 13 months ago

Speaking as a guy who has done a fair number of performance enhancements, your ticket did not give me enough information to do anything. For this specific ticket, knowing the following would have helped:

  • JOSM version (this can help me reproduce the issue, which needs to be done for performance profiling; it could be that I fixed the performance issue in a newer revision)
  • Filters used (again, for performance profiling, I need to know what causes the problem -- it could be just one filter)
  • The area used (there could be an interaction with OSM data that would not appear in my standard test area)
  • The plugins installed (some plugins can behave poorly)
  • The paintstyles enabled (one of them could be using some functionality that is causing repaints on node movement which we would otherwise not find)

That is what I think stoecker meant when he said your ticket wasn't helpful. All of that information except for the download area is provided by the Report Bug action (I'll use the [[BadReport]] macro to get the links to the help pages at the bottom of this comment).

Anyway, once I know what version of JOSM you are running, I would first check the performance improvements since that version. If you are running r18822 (the last tested release), the following revisions had additional performance enhancements:

  • r18823 (I don't remember how I found this one; it might have been painting or something, and could be part of your problem, especially if you are using the NSI tagging preset)
  • r18836 (startup optimizations; not relevant for this ticket)
  • r18838 (when running validations; not relevant for this ticket)

In short, trying to reproduce your issue is currently a waste of time for us -- we simply don't know how to reproduce it. And without being able to reproduce your issue, it is impractical to fix your issue.


Thanks for your report, however your ticket is incomplete and therefore not helpful in its current form.

Please add all needed information according to this list:

  • The required parts of the Status Report from your JOSM.
  • Describe what behaviour you expected.
  • Describe what did happen instead.
  • Describe if and how the issue is reproducible.
  • Add any relevant information like error messages or screenshots.

To ensure that all technical relevant information is contained, create new tickets by clicking in JOSMs Main Menu on Helpsource:trunk/resources/images/bug.svg Report Bug.

Remember: This is a generic notice so we don't need to write the same stuff again and again. It may only apply in parts to the specific case!


Last edited 13 months ago by taylor.smock (previous) (diff)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.