new difference viewer - performance with option 'Show inline differences'

fraenkg

Member³
The new difference viewer is a pleasant tool. But performance problems seem to occur when the 'Show inline differences' option is activated. In this case it takes a long time until both windows are displayed synchronized. Especially when there are a lot of changes in the viewing area. There is no noticeable delay for areas without changes.
 
We have not been able to reproduce any performance issue. Can you send the 2 file versions to support@allroundautomations.com, so that we can reproduce this?
 
Unfortunately, this is not possible because it is production code. But I'm going to try to create an example. Probably not until next week.
 
I just emailed a pair of source files that show this issue for me.

Here's my Support Info (which I should have included in the email):

PL/SQL Developer
Version 14.0.0.1952 Beta (64 bit)
Windows 10 Build 17763

Physical memory : 16,412,884 kB (8,623,192 available)
Paging file : 18,903,252 kB (7,502,668 available)
Virtual memory : 137,438,953,344 kB (137,433,858,040 available)

Parameters
C:\Program Files\PLSQL Developer 14 Beta\plsqldev.exe

Preferences
Session mode: Multi
OCI Library:
Use OCI7: False
Allow Multiple Connections: True

Preference Files
C:\Users\bobs_yur_uncle\AppData\Roaming\PLSQL Developer 14\Preferences\default\Default.ini
C:\Users\bobs_yur_uncle\AppData\Roaming\PLSQL Developer 14\Preferences\bobs_yur_uncle\default - Copy.ini
C:\Users\bobs_yur_uncle\AppData\Roaming\PLSQL Developer 14\Preferences\bobs_yur_uncle\Stew - Alumni_DND.ini

Debug file
C:\Program Files\PLSQL Developer 14 Beta\PlSqlDev.elf

Plug-Ins
*SaveSeparate (C:\Program Files\PLSQL Developer 14 Beta\PlugIns\SaveSeparate.dll)
*Templates (C:\Program Files\PLSQL Developer 14 Beta\PlugIns\template.dll)
*ToggleReadOnly (C:\Program Files\PLSQL Developer 14 Beta\PlugIns\ToggleReadOnly.dll)
(* is Active)

Aliases

[snipped]

Homes
OraClient12Home (C:\Oracle64\product\12.1.0\client_1)

DLLs
C:\Oracle64\product\12.1.0\client_1\oci.dll

TNS File
C:\Oracle64\product\12.1.0\client_1\Network\Admin\tnsnames.ora

Using
Home: OraClient12Home1
DLL: C:\Oracle64\product\12.1.0\client_1\oci.dll
OCI: version 12.1 (12.1.0.1.0)
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0

Character Sets
Character size: 3 byte(s)
CharSetID: 871
NCharSetID: 2000
Unicode Support: True
NLS_LANG:
NLS_NCHAR_CHARACTERSET: AL16UTF16
NLS_CHARACTERSET: UTF8

Process
Working Set = 241,250,304
Memory = 58,791,572
GDI Objects = 2437
User Objects = 1029
Handles = 1143

Monitors
PixelsPerInch = 96

Id = 0
PPI = 96
Primary = True
Handle = 249962173
Left = 0
Top = 0
Width = 1080
Height = 1920

Id = 1
PPI = 96
Primary = False
Handle = 456202309
Left = 1080
Top = 0
Width = 1080
Height = 1920

MainFormOnTaskbar = True
 
Thanks! We'll investigate.

I can see that CPU usage goes up (10%-20%) if I drag the scrollbar. Other than that performance and CPU usage seems fine. Can you confirm?
 
I just tried opening the same file again and PSD title bar said "Not Responding" for a full 2 minutes. Once that recovered, the performance was okay when I used the Page Down button. But every time I return to the top of the file (where there are in-line diffs on the top 50 lines), it takes about 15 seconds to repaint that text. It looks like it's really sluggish calculating or presenting the in-line diffs, as I see two of those lines painted every second, like it's painful to do! :-(
 
Marco,

I just install Beta 3 and used the Internal Diff Viewer on the two source files I sent you last week. While the performance is instantaneous now, it doesn't do a good job of matching those blocks of comments that have a leading "*" in one version but not in the other.

The In-Line Diffs feature doesn't see them as similar enough to match them. So the first file shows 1 block of the comments while the second file shows blank. When you scroll down, the first file shows a large blank section and the second file shows the comment block. After that, the code never re-aligns at all, so the rest of the diff shows either one file or the other.

Let me know if you need me to re-send the original source files.

The diff viewer seems fine for other procedures I compared.

I also checked out the other enhancements listed in the Beta Release Notes and they all look good to me.

Nice work!

Stew
 
Last edited:
Back
Top