/client/trunk Developers: partmedia

Login name:
partmedia
Total Commits:
1,297 (32.0%)
Lines of Code:
105,344 (38.8%)
Most Recent Commit:
2020-06-22 18:54

Activity by Clock Time

Activity by Hour of Day for partmedia

Activity by Day of Week for partmedia

Activity in Directories

Directory Changes Lines of Code Lines per Change
Totals 1297 (100.0%) 105344 (100.0%) 81.2
gtk-v2/ui/ 100 (7.7%) 80330 (76.3%) 803.3
gtk-v2/src/ 446 (34.4%) 8033 (7.6%) 18.0
common/ 342 (26.4%) 5329 (5.1%) 15.5
gtk-v2/glade/ 38 (2.9%) 5101 (4.8%) 134.2
sound-src/ 116 (8.9%) 2598 (2.5%) 22.3
/ 130 (10.0%) 2042 (1.9%) 15.7
common/shared/ 6 (0.5%) 767 (0.7%) 127.8
gtk-v2/ 16 (1.2%) 550 (0.5%) 34.3
cmake/ 2 (0.2%) 262 (0.2%) 131.0
macros/ 37 (2.9%) 170 (0.2%) 4.5
pixmaps/ 28 (2.2%) 98 (0.1%) 3.5
utils/ 7 (0.5%) 34 (0.0%) 4.8
gtk-v2/win32/ 13 (1.0%) 28 (0.0%) 2.1
help/ 6 (0.5%) 1 (0.0%) 0.1
gtk-v2/themes/ 4 (0.3%) 1 (0.0%) 0.2
doc/examples/script/ 2 (0.2%) 0 (0.0%) 0.0
doc/ 1 (0.1%) 0 (0.0%) 0.0
Documentation/examples/script/ 2 (0.2%) 0 (0.0%) 0.0
Documentation/ 1 (0.1%) 0 (0.0%) 0.0

Activity of partmedia

Most Recent Commits

partmedia 2020-06-22 18:54 Rev.: 21245

Add metaserver refresh button

40 lines of code changed in 2 files:

  • gtk-v2/src: metaserver.c (+25 -12)
  • gtk-v2/ui: dialogs.ui (+15 -1)
partmedia 2020-03-26 00:51 Rev.: 21199

Simplify combo box population

11 lines of code changed in 1 file:

  • gtk-v2/src: config.c (+11 -26)
partmedia 2020-03-26 00:50 Rev.: 21198

Remove GtkObject

12 lines of code changed in 5 files:

  • gtk-v2/src: config.c (+1 -1), gtk2proto.h (+1 -1), keys.c (+6 -6), main.c (+3 -3), metaserver.c (+1 -1)
partmedia 2020-03-26 00:50 Rev.: 21197

Use accessors where possible

7 lines of code changed in 3 files:

  • gtk-v2/src: info.c (+1 -1), opengl.c (+4 -4), sdl.c (+2 -2)
partmedia 2020-03-25 14:39 Rev.: 21196

Fix data type

1 lines of code changed in 1 file:

  • common: client.h (+1 -1)
partmedia 2020-03-25 14:25 Rev.: 21195

Update key symbols

20 lines of code changed in 1 file:

  • gtk-v2/src: keys.c (+20 -20)
partmedia 2020-03-25 14:25 Rev.: 21194

Rename CMake GTK variable name

9 lines of code changed in 4 files:

  • CMakeLists.txt (+3 -3)
  • common: CMakeLists.txt (+2 -2)
  • gtk-v2/src: CMakeLists.txt (+2 -2)
  • sound-src: CMakeLists.txt (+2 -2)
partmedia 2020-03-25 14:25 Rev.: 21193

Improve latency profiler output

14 lines of code changed in 1 file:

  • common: player.c (+14 -5)
partmedia 2020-03-25 14:25 Rev.: 21192

Update data type

1 lines of code changed in 1 file:

  • common: client.h (+1 -1)
partmedia 2020-03-08 14:13 Rev.: 21139

Really bump version string

1 lines of code changed in 1 file:

  • gtk-v2/ui: dialogs.ui (+1 -1)
partmedia 2019-12-29 22:12 Rev.: 21076

Refactor; remove notes about performance

There is probably no performance benefit from reducing the number of
calls to mapdata_cell(). However, this particular change made the code
more readable, so keep this change. I refactored the scope of the new
temporary MapCell variables.

I compared the assembly of the old code with the new code. I used clang
8.0.1 with -O2 on FreeBSD/amd64. In both versions, the assembly has
mapdata_cell() inlined and lifted out of the inner loop:

movq the_map(%rip), %r12
movslq %edi, %r13
movslq %esi, %rax
imulq $152, %rax, %r15
movq (%r12,%r13,8), %rdi
addq %r15, %rdi

Even though the old code has multiple calls and the new code has an
intermediate variable, both generated the same code! Notice how the
result of "calling" mapdata_cell() is never stored in memory; it stays
in a register.

In general, in the age of deep pipelines, large caches, and speculative
execution, even comparing assembly is generally not enough. However,
when both versions produce the same assembly, it's a pretty convincing
argument that there is no performance benefit.

There are plenty of inefficiencies hanging around in the client, for
example, the unnecessary double-buffering in Pixmap mode, that when
fixed would produce a measurable performance benefit. But trying to
outsmart the compiler probably isn't going to do much.

3 lines of code changed in 2 files:

  • ChangeLog (+1 -2)
  • common: mapdata.c (+2 -7)
partmedia 2019-12-25 07:51 Rev.: 21057

Bump version string to 1.74.0

4 lines of code changed in 2 files:

  • CMakeLists.txt (+1 -1), ChangeLog (+3 -2)
partmedia 2019-08-31 11:54 Rev.: 20996

Add latency profile printer

26 lines of code changed in 1 file:

  • utils: pprof-latency.py (new 26)
partmedia 2019-08-31 11:54 Rev.: 20995

Replace non-null assertion with null check

This assertion gets triggered when the server exits right when the
client is connecting. Exit with an error instead.

6 lines of code changed in 1 file:

  • gtk-v2/src: main.c (+6 -1)
partmedia 2019-08-31 11:53 Rev.: 20994

Make profiling output easier to parse

3 lines of code changed in 2 files:

  • common: player.c (+2 -2)
  • gtk-v2/src: map.c (+1 -1)
partmedia 2019-08-27 23:43 Rev.: 20980

Remove inventory table column limit

32 lines of code changed in 2 files:

  • ChangeLog (+2 -1)
  • gtk-v2/src: inventory.c (+30 -30)
partmedia 2019-08-18 21:38 Rev.: 20976

Fix table view for large inventories

Fun fact: this bug has been here since the GTKv2 client landed in r3083!

3 lines of code changed in 2 files:

  • ChangeLog (+2)
  • gtk-v2/src: inventory.c (+1 -1)
partmedia 2019-08-18 21:38 Rev.: 20975

Simplify cell removal

2 lines of code changed in 1 file:

  • gtk-v2/src: inventory.c (+2 -21)
partmedia 2019-08-18 21:38 Rev.: 20974

Use one treestore for all tab views

21 lines of code changed in 1 file:

  • gtk-v2/src: inventory.c (+21 -20)
partmedia 2019-08-18 19:10 Rev.: 20973

Avoid redrawing on expose event

Since the inventory table is already redrawn when the main loop is idle,
avoid redrawing on expose to prevent the main loop from freezing up from
expose events when the redraw time is long.

0 lines of code changed in 1 file:

  • gtk-v2/src: inventory.c (-18)

(395 more)

Generated by StatSVN 0.7.0