Opened 9 years ago

Closed 9 years ago

#2893 closed defect (fixed)

High CPU usage for displaying/editing (parts of) large relations

Reported by: bernd@… Owned by: cbro@…
Priority: major Milestone:
Component: merkaartor Version:
Keywords: Cc:

Description

Merkaartor eats a lot of CPU when (parts of) large relations are displayed, this makes it almost unusable in these areas. A good example is the 'Hunsrückhöhenstrasse'=relation, which goes trough Kastellaun.

Change History (3)

comment:1 Changed 9 years ago by bernd@…

comment:2 Changed 9 years ago by bernd@…

Whenever merkaartor eats CPU time, it seems just to be waiting on something:

poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}], 2, 5390) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\34\0q\222B\1\0\0F\1\0\0\4\22O\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 64
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}], 2, 4894) = 1 ([{fd=7, revents=POLLIN}])
read(7, "\34\0q\222B\1\0\0F\1\0\0\32$O\6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 64
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}], 2, 263) = 0 (Timeout)
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}], 2, 0) = 0 (Timeout)
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=7, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=7, revents=POLLOUT}])
writev(7, [{"\227\7\2\0\366\23\0\0036\1\2\0\365\23\0\3\227\7\2\0\371\23\0\0036\"\2\0\370\23\0\3"..., 128}, {NULL, 0}, {"", 0}], 3) = 128
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}], 2, 9999) = 1 ([{fd=7, revents=POLLIN}])
read(7, "x\0\201\222B\1\0\0\16\0\300\1\1\0\0\0\177&O\6\177&O\6\0\0\0\0\0\0\0\0", 4096) = 32
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(7, 0xb01704, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)

Unfortunately I did not yet figure out for what. I'm able to reproduce it easily by opening http://devel.recluse.de/~bzed/cpu_eater.mdc

comment:3 Changed 9 years ago by Chris Browet

Resolution: fixed
Status: newclosed

I think this one was solved. Please reopen otherwise

Note: See TracTickets for help on using tickets.