polysearch web page logo

Log File Contents

The log file produced by Polysearch can be valuable when debugging problems or unexpected results. If a user runs into such issues, Artwork will immediately request the log file.

Below we describe the different sections of the log file using a simple example.

Version, Date, Library Versions

The first section reports the version of Polysearch and the date compiled. There is also a link to Artwork's WEB page for Polysearch. The version of the three main libraries used in Polysearch are also listed.

POLYSEARCH v1.01 [Feb 25 2017][08:23:34]

QisMLib v3.4 [Feb 13 2017 12:28:45]                 File Open and Multi-Threaded Exploder
CQisLib v5.00 (Jan 24, 2017)
BoolDll v2.427 (2016/11/28)                         Multi-threaded Boolean library

Command Line

The next section shows the command line and arguments used to launch Polysearch. This is helpful when debugging because it lets Artwork know the exact arguments used. (Note - in the log there are no CR/LF here. They are added for clarity)

Command Line:

System Information

A report of the workstation's operating system, CPU and memory is generated.

OS: Windows NT 6.1
Service Pack: Service Pack 1
Machine Architecture: x86_64
Total Physical Memory: 7G 1022M 312K  (8588156928)
Total Virtual Memory: 8191G 1023M 896K  (8796092891136)
Num. Cores: 4

Summary of Operations

Some important statistics and timing are reported here. A start time stamp is followed by the window extents. In the example below, no user window was specified so the program computed the extents of the top level structure that it identified.

BEGIN OPERATION: 2017-03-02.09:05:24

Default window set to TOPMSPCHIP1 Cell Extents
-4686.200000 -4576.850000 4685.900000 4576.600000

Scanning to Determine Optiminum Tile Size

In order to "linearize" the pattern matching computation time, Polysearch scans the region to be searched and computes the number of vertices. It then determines the optimal number of "tiles" into which it divides the search area.

In this example run the scan engine identified 768 thousand polygons (on layer 2) and 3.8 million vertices. Since the default target is 500K vertices per tile the program subdivided the search area into 20 tiles.

Scanning the input file to find optimum tiling ....

Scanned number of polygons: 768719

Scanned number of vertices: 3872431

20 tiles generated ...

Polygon Matching Statistics

Each tile is submitted to a an exploder thread which extracts the data from that tile and submits the polygons to a Boolean (for unionization) and then to a pattern comparison module. When the thread completes a tile, it requests another one. When all tiles are completed the program writes the output file and is done.

Total number of tiles processed: 28               some tiles had a large number of exploded 
                                                  vertices so they were further subdivided.

Number of Matching Polygons Found: 251 (252)      1 duplicate was found since the tiles must

Thread [0]:
    Explosion time: 0.20s
    Union time:     2.96s
    Compare time:   0.04s

Thread [1]:
    Explosion time: 0.22s
    Union time:     3.68s
    Compare time:   0.04s

Thread [2]:
    Explosion time: 0.27s
    Union time:     4.46s
    Compare time:   0.04s

Thread [3]:
    Explosion time: 0.20s
    Union time:     3.27s
    Compare time:   0.03s

File Open Time (wall clock): 0.29s
File Open Time (cpu): 0.06s

File Scan Time (wall clock): 0.26s
File Scan Time (cpu): 0.98s

Polygon Search Time (wall clock): 5.19s
Polygon Search Time (cpu): 15.97s

File Close Time (wall clock): 0.01s
File Close Time (cpu): 0.02s

Total Time (wall clock): 5.55s
Total Time (cpu): 16.05s
Peak Memory: 149M 196K 

END OPERATION: 2017-03-02.09:05:30

Examples Download Revision History