open pdf in webbrowser control c# : How to delete text in pdf converter software application dll winforms html .net web forms hostwin22-part223

Chapter 7
Performance Considerations 
under Windows
Hardware Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Overview of Hardware Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Processor Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
I/O Subsystem Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Windows Features That Optimize Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Controlling SAS Responsiveness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
I/O Enhancements for Multiple Processors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Memory-Based Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
SAS Features That Optimize Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Network Performance Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Sasiotest Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Advanced Performance Tuning Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Overview of Advanced Performance Tuning Methods . . . . . . . . . . . . . . . . . . . . . 208
Improving Performance of the SORT Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Calculating Data Set Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Increasing the Efficiency of Interactive Processing . . . . . . . . . . . . . . . . . . . . . . . . 212
Hardware Considerations
Overview of Hardware Considerations
The following hardware factors might affect SAS performance:
• the processor speed
• the amount of physical memory that is available
• the amount of throughput to disk that is available for I/O
• the graphics adapter.
Not all of these factors applies to your particular configuration or to how you run SAS. 
Consult your system administrator for details.
See System Requirements for SAS 9.4 Foundation for Microsoft Windows and System 
Requirements for SAS 9.4 Foundation for Microsoft Windows for x64 for details about 
memory and hardware considerations.
201
How to delete text in pdf converter - delete, remove text from PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Allow C# developers to use mature APIs to delete and remove text content from PDF document
how to erase text in pdf file; pdf editor online delete text
How to delete text in pdf converter - VB.NET PDF delete text library: delete, remove text from PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Programming Guide to Delete Text from PDF File
how to erase text in pdf; delete text from pdf file
Processor Speed
In general, a faster processor enables the computer to perform more operations per 
second. Performance improves when more operations can be performed.
The amount of processor cache that is available also influences performance. More 
processing cache results in better performance.
• In 32-bit SAS, you must have a PC that contains an Intel Pentium 4 class processor 
or a processor that is compatible with Intel.
• In x64 64-bit SAS, you must have an Intel64 or AMD64 processor.
Memory
In general, more physical memory results in better performance.
I/O Subsystem Configuration
An application uses I/O for data storage and data access. Therefore, faster I/O results in 
faster overall performance. Some important factors that influence I/O performance are 
the disk controller and bus, the hard drive, and the hard drive configuration.
disk controller and bus
In general, hard drive disk controllers that use their memory buffers to cache data 
have better throughput than conventional controllers. This configuration can improve 
I/O performance.
The type of I/O controller can affect I/O performance. Consult your Storage 
Administrator and See the following documentation for configuring your storage 
devices: http://support.sas.com/resources/papers/proceedings15/SAS1501-2015.pdf.
hard drive
Since SAS is heavily I/O oriented, access time and transfer rate are important to 
system performance. For best Windows Server performance, I/O throughput rates of 
at least 100 MB/sec per file system used by SAS are recommended.
Note: Your storage administrator can configure the I/O subsystem for the best I/O 
throughput rate for your storage setup.
Low disk space or a heavily fragmented disk can hinder I/O performance. You 
should defragment your hard drive regularly to keep I/O performance from 
degrading.
See the following documentation for information regard the RAID system: http://
support.sas.com/resources/papers/proceedings15/SAS1501-2015.pdf
hard drive configuration
The hard drive configuration can have the greatest impact on I/O performance, 
especially on large server systems. Generally, a RAID configuration has better I/O 
performance than a non-RAID system. Consult your system administrator to 
determine the appropriate configuration for your computer.
202
Chapter 7 • Performance Considerations under Windows
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
›› VB.NET PDF: Delete PDF Page. VB.NET PDF - How to Delete PDF Document Page in VB.NET. Visual Basic Sample Codes to Delete PDF Document Page in VB.NET Class.
delete text from pdf preview; how to erase text in pdf online
C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net
Integrate following RasterEdge C#.NET text to PDF converter SDK dlls into your C#.NET project assemblies; RasterEdge.Imaging.Basic.dll.
pdf text remover; erase pdf text
Windows Features That Optimize Performance
Controlling SAS Responsiveness
Overview of Controlling SAS Responsiveness
You can control the relative responsiveness of your SAS session by altering the 
application performance level. Using Windows performance options, you can specify 
which type of programs, interactive or background, receive more processor time. Use 
these guidelines to determine the application performance level:
• If you are running SAS interactively and you want your session to have the best 
response time, set the performance options for programs or applications.
• If you are running SAS in batch mode and you want your batch jobs to execute more 
quickly, set the performance options for background services. 
To analyze the performance of your SAS applications, you can specify SAS performance 
counters within the Windows performance monitor. For more information, see 
“Performance Tools” on page 219 .
Optimizing Application Performance under Windows
Under Windows, follow these steps to optimize application performance:
1. Open the Control Panel.
2. Click System and Security.
3. Select the System.
4. Click Advanced system settings task.
5. Select the Advanced tab.
6. In the Performance box, click Settings and then select the Advanced tab.
7. To optimize performance of an interactive SAS session, select Programs.
8. To optimize performance of a batch SAS session, select Background services.
9. Click OK.
I/O Enhancements for Multiple Processors
If your PC has multiple processors, SAS uses symmetric multiprocessing (SMP) using 
I/O enhancements. More read-ahead processing is done for procedures that have large 
amounts of sequential data access on data that is stored on a Windows server. This 
processing occurs more on systems that have extra processing power to serve Windows 
and its disk cache.
The following is generally true in multiprocessing SMP environments:
• Machines that are used as servers for multiple applications perform best if they are 
SMP-based.
• SAS/CONNECT remote computing environments perform best if they are SMP-
based.
Windows Features That Optimize Performance
203
VB.NET PDF Text Extract Library: extract text content from PDF
PDF ›› VB.NET PDF: Extract PDF Text. VB.NET PDF - Extract Text from PDF Using VB. How to Extract Text from PDF with VB.NET Sample Codes in .NET Application.
delete text from pdf file; how to delete text in a pdf file
C# PDF Text Extract Library: extract text content from PDF file in
XDoc.PDF ›› C# PDF: Extract PDF Text. C# PDF - Extract Text from PDF in C#.NET. Feel Free to Extract Text from PDF Page, Page Region or the Whole PDF File.
remove text watermark from pdf online; how to delete text in a pdf acrobat
Memory-Based Libraries
Memory-Based Libraries Overview
Using the MEMLIB and MEMCACHE options, you can create memory-based SAS 
libraries. Depending on your operating environment, extended memory or conventional 
memory is used to support these memory-based libraries.
In Windows operating environments, 32-bit processing uses 2 gigabytes (GB) of 
physical memory for the operating environment, and the remaining 2 GB of physical 
memory is available for use by applications. When a PC or server has more than 4 GB of 
memory, extended memory is defined as the memory that is above 4 GB. Memory is 
available for use by applications. Extended memory can be used to support memory-
based libraries.
Some Windows operating environments do not support extended memory. In operating 
environments where extended memory is not supported or installed, SAS uses 
conventional memory to support the MEMLIB and MEMCACHE options. Conventional 
memory is defined as the memory that is below 4 GB in 32-bit environments and all of 
the memory in 64-bit environments.
Using memory-based libraries reduces I/O to and from disk, therefore improving SAS 
performance. Memory-based libraries can be used in several ways:
• as storage for the Work library
• for processing SAS libraries that have a high volume of input and output
• as a cache for very large SAS libraries
After you have completed the setup for your operating environment, use the MEMLIB 
and MEMCACHE system options and the MEMLIB option in the LIBNAME statement 
to access memory-based libraries.
Specifying the MEMLIB and MEMCACHE Options in 64-Bit Windows 
Environments
Sixty-four bit processing in Windows operating environments uses 16 terabytes (TB) of 
virtual address space, so in these environments, extended memory is not needed. SAS 
uses the conventional memory that is available to support the MEMLIB and 
MEMCACHE options.
CAUTION:
It is possible to exhaust system memory and thus cause system failure.
You can 
use the MEMMAXSZ option to limit the amount of system memory that SAS 
allocates for the MEMLIB and MEMCACHE options.
To use the MEMLIB and MEMCACHE options, ensure that the operating environment 
meets the following requirements:
• an Intel 64-bit processor or 64-bit processor that is compatible with Intel.
• Any 64-bit version of Windows.
• 4 GB of RAM or more; you might have better performance if you use more than 8 
GB.
• SAS 9.4 for Windows.
Then follow these steps:
204
Chapter 7 • Performance Considerations under Windows
VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net
Convert PDF to Text in VB.NET Demo Code. Integrate following RasterEdge text to PDF converter SDK dlls into your VB.NET project assemblies;
remove text from pdf; delete text pdf document
C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
Page: Delete Existing PDF Pages. |. Home ›› XDoc.PDF ›› C# PDF: Delete PDF Page. C#.NET PDF Library - Delete PDF Document Page in C#.NET.
how to remove highlighted text in pdf; how to delete text in pdf file online
• Set the total amount of memory for memory-based libraries by using the 
MEMMAXSZ system option. See “MEMMAXSZ System Option: Windows” on 
page 542 . 
• Set the memory block size for memory-based libraries by using the MEMBLKSZ 
system option. See “MEMBLKSZ System Option: Windows” on page 539 . 
Processing SAS Libraries as Memory-Based Libraries
SAS libraries that are well suited for memory-based processing have data that is 
referenced or updated multiple times within a SAS session.
Using a Work library that is memory-based is beneficial for procedures such as PROC 
SORT that write multiple times to large temporary files. To designate the Work library as 
memory-based, specify the MEMLIB system option when you start SAS.
You designate a library as memory-based by using the MEMLIB option in the 
LIBNAME statement. All librefs, including a libref to the Work directory, must have a 
valid disk directory.
After the library is designated as memory-based, your SAS program needs to copy the 
library from disk to memory. After processing the library in memory, the library must be 
copied back to disk.
CAUTION:
Copy the library that is in memory to disk after processing is complete.
If you 
do not, you lose any changes that were made to the library. The changes are lost 
when the SAS session ends
The following example shows how to use the LIBNAME statement and the PROC 
COPY statement to copy a library to and from memory.
/* Set up two librefs, one to the library in memory
and the other to the SAS library on disk.  The library on 
disk contains dataset1, dataset2, dataset3 and dataset4. */
libname inmemory “g:\memlib” memlib;
libname ondisk “g:\disk”;
/* Copy dataset1, dataset2, dataset3, and dataset4 to memory   */
proc copy in=ondisk out=inmemory;
run;
/* ...Assume dataset1 and dataset4 are updated   */
/* Save the updated datasets back to disk         */
proc copy in=inmemory out=ondisk;
select dataset1 dataset4;
run;
You can also copy a data set to memory by using a DATA statement, as shown in the 
following example:
data ondisk.dataset1;
set inmemory.dataset1;
run;
For more information, see “MEMLIB System Option: Windows” on page 541 and the 
“LIBNAME Statement: Windows” on page 468 .
Windows Features That Optimize Performance
205
C# Create PDF from Text to convert txt files to PDF in C#.net, ASP
C#.NET: View Tiff in WPF. XDoc.Converter for C#; XDoc.PDF for C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract
delete text from pdf acrobat; remove text from pdf reader
VB.NET Create PDF from Text to convert txt files to PDF in vb.net
C#.NET: View Tiff in WPF. XDoc.Converter for C#; XDoc.PDF for C# File: Split PDF; C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract
pdf editor online delete text; how to delete text in pdf document
Using a Memory-Based Library as a SAS File Cache
A SAS file cache is most useful in multiple references of data. For example, a SAS file 
cache improves performance in SAS programs that make multiple passes of the data. 
SAS file caching improves performance in the following situations:
• Repeated Read operations of a file while other files are being written. Writing to a 
file clears the Windows file system (NTFS) cache.
• Repeated Read operations of a file when Scatter Gather I/O is active. Scatter Gather 
I/O operates outside the NTFS cache. Without the SAS file cache, there is no data 
cache and all Read operations access the disk. 
To use memory as a SAS file cache, specify the MEMCACHE system option when you 
start SAS or when you submit an OPTIONS statement. If you set MEMCACHE to 4, 
SAS uses the memory to cache all files. If you set MEMCACHE to 1, only files that are 
currently in memory are cached to memory. When you use the MEMCACHE system 
option in the OPTIONS statement, you can control which data sets use the SAS file 
cache, as shown in the following example.
/* Example of controlling cached files with the options statement   */
/* Assume cachelib contains 2 data sets, ds1 and ds2.               */
/* Also assume ds1 and ds2 are large enough that they cannot exist */
/* in the cache together. ds1 is read many times, so caching is     */
/* desired. ds2 is accessed only once, so caching is of no         */
/* benefit.  When you use the memcache option, ds1 is cached, and ds2   */
/* is not cached.                                                      */
libname cachelib "e:\tmp";
/* Turn on full caching */
options memcache = 4;
/* Read ds1 and place the data in the cache.  This read operation could be a  */
/* more useful read operation of the file in a real case.               */
data _null_;
set cachelib.ds1;
run;
/* Change memcache setting to use the cache only for files that   */
/* already exist in the cache.                                    */
options memcache = 1;
/* Data from ds1 will come from the cache and ds2 will not be     */
/* cached.                                                        */
proc sort data=cachelib.ds1 out=cachelib.ds2;
by j;
run;
/* Other access of ds1...                                         */
/* All use of the cache can be ended with a memcache system       */
/* option value of 0.                                             */
206
Chapter 7 • Performance Considerations under Windows
options memcache = 0;
/* Neither ds1 or ds2 will access the cache.                      */
proc sort data=cachelib.ds1 out=cachelib.ds2;
by j;
run;
For more information about the MEMCACHE system option, see “MEMCACHE 
System Option: Windows” on page 540 . For more information about Scatter Gather 
I/O, see “SAS Features That Optimize Performance” on page 207 and “SGIO System 
Option: Windows” on page 572 .
SAS Features That Optimize Performance
The following are some additional features of SAS that you can control to improve 
system performance and make efficient use of your computer's resources. For additional 
information about optimizing SAS performance, see the chapter on optimizing system 
performance in SAS Language Reference: Concepts.
• Create SAS data sets instead of accessing flat ASCII files. SAS can access a SAS 
data set more efficiently than it can read flat files.
Also, you should convert existing data sets that you use frequently to SAS 9.4 
format.
• In your SAS code, use IF-THEN-ELSE conditional structures instead of multiple IF-
THEN structures. When one condition in the IF-THEN-ELSE structure is met, 
control returns to the top of the structure (skipping the ELSE clause, which might 
contain subsequent IF-THEN structures). With multiple IF-THEN structures, each 
condition must be checked.
• When using arrays, make them _TEMPORARY_ if possible. This action requires 
less memory and less time for memory allocation.
• Use programming structures that reduce file I/O, the most time-intensive aspect of 
SAS processing. Some ideas for reducing file I/O are: 
• Use the WHERE statement in a procedure to reduce extra data processing.
• Use indexed data sets to speed access to the desired observations.
• Use the SQL procedure to subset and group your data.
• Experiment with the value of the CATCACHE system option, which specifies the 
number of SAS catalogs to keep open at one time. By default, no catalogs are cached 
in memory (and CATCACHE is set to 0). Caching catalogs is an advantage if one 
SAS application uses catalogs that are subsequently needed by another SAS 
application. The second SAS application can access the cached catalog more 
efficiently.
Note:  Storing catalogs in memory can consume considerable resources. Use this 
technique only if memory issues are not a concern.
• Store your data sets in a compressed format (using the COMPRESS data set option). 
This action can improve the performance of your SAS application, though it might 
require more CPU time to decompress observations as SAS needs them. The 
COMPRESS data set option is described in the data set options section of SAS Data 
Set Options: Reference.
SAS Features That Optimize Performance
207
• If you specify the Scatter-read/Gather-write system option, SGIO, SAS bypasses 
intermediate buffer transfers when reading or writing data. SAS reads ahead the 
number of pages specified by the BUFNO system option and place the data in 
memory before it is needed. When the data is needed it is already in memory, and is 
in effect a direct memory access. Different values for the BUFNO system option 
should be tried for each SAS job to find the maximum performance benefit. For 
more information see Achieving Better I/O Throughput Using SGIO in the Microsoft 
Windows Environment
Scatter–read / gather–write is active only for SAS I/O opened in INPUT, OUTPUT 
mode, and UPDATE mode if the access pattern is sequential. If any SAS I/O files are 
opened in UPDATE or RANDOM mode, SGIO is inactive for that process. 
Compressed and encrypted files can also be read ahead using scatter-read/gather-
write. For more information about the SGIO system option, see “SGIO System 
Option: Windows” on page 572 .
Network Performance Considerations
Under Windows, loading application DLL (dynamic link library) files from a network 
drive can result in slower performance than loading the DLL files from a local drive.
Sasiotest Utility
The sasiotest utility measures I/O on a Windows platform. The utility is external to SAS. 
Sasiotest opens files and reads and writes data in a way that is similar to SAS I/O. For 
more information, see “Sasiotest Utility” on page 653.
Advanced Performance Tuning Methods
Overview of Advanced Performance Tuning Methods
This section presents some advanced performance topics, such as improving the 
performance of the SORT procedure and calculating data set size. Use these methods 
only if you are an experienced SAS user and you are familiar with how SAS is 
configured on your machine.
Improving Performance of the SORT Procedure
Overview of Improving Performance of the SORT Procedure
Two options for the PROC SORT statement are available under Windows, the 
SORTSIZE=, and TAGSORT options. These two options control the amount of memory 
the SORT procedure uses during a sort and are discussed in the next two sections. Also 
included is a discussion of determining where the sorting process occurs for a given data 
set and determining how much disk space you need for the sort. For more information 
about the SORT procedure, see “SORT Procedure: Windows” on page 445 .
208
Chapter 7 • Performance Considerations under Windows
SORTSIZE Option
The PROC SORT statement supports the SORTSIZE= option, which limits the amount 
of memory available for PROC SORT to use.
If you do not use the SORTSIZE option in the PROC SORT statement, PROC SORT 
uses the value of the SORTSIZE system option. If the SORTSIZE system option is not 
set, PROC SORT uses the amount of memory specified by the REALMEMSIZE system 
option. If PROC SORT needs more memory than you specify, it creates a temporary 
utility file in your SAS Work directory to complete the sort.
The default value of this option is 1G.
TAGSORT Option
The TAGSORT option is useful in single-threaded situations where there might not be 
enough disk space to sort a large SAS data set. The TAGSORT option is not supported 
for multi-threaded sorts.
When you specify the TAGSORT option, only sort keys (that is, the variables specified 
in the BY statement) and the observation number for each observation are stored in the 
temporary files. The sort keys, together with the observation number, are referred to as 
tags. At the completion of the sorting process, the tags are used to retrieve the records 
from the input data set in sorted order. Thus, in cases where the total number of bytes of 
the sort keys is small compared with the length of the record, temporary disk use is 
reduced considerably. However, you should have enough disk space to hold another 
copy of the data (the output data set) or two copies of the tags, whichever is greater. Note 
that although using the TAGSORT option can reduce temporary disk use, the processing 
time might be much higher.
Choosing a Location for the Sorted File
When you sort a SAS data set, SAS creates a temporary utility file. If the sort uses 
multiple threads, you can specify the location of the utility file by using the UTILLOC 
system option. The default location for utility files is the Work data library for both 
single-threaded and multi-threaded sorts. If two or more locations are specified for the 
UTILLOC system option, the next available location is used as the location for the utility 
file. For sorts that use a single thread, the temporary utility file is opened in the Work 
data library if there is not enough memory to hold the data set during the sort. The utility 
file has a .sas7butl file extension. Before you sort, ensure that your Work data library has 
room for this temporary utility file.
The sorted data set replaces the input data set anytime the OUT= option specifies the 
same name as the IN/DATA= data set. The OVERWRITE option allows for the input 
data set to be deleted before the output data set has been created , decreasing the peak 
disk space requirements.
The output data set is populated from the contents of the utility file. The original data set 
is deleted after the sort is complete if the output data set is replacing the input data set. 
Before you sort a data set, make sure that you have space for the .sas7butl file.
Use the following rules to determine where the .sas7butl file and the resulting sorted data 
set are created:
• If you omit the OUT= option in the PROC SORT statement, the data set is sorted on 
the drive and in the directory or subdirectory where it is located. For example, if you 
submit the following statements (note the two-level data set name), the .sas7butl file 
is created in the subdirectory that was created for the SAS session within the 
specified WORK directory.
libname mylib 'c:\sas\mydata';
proc sort data=mylib.report;
Advanced Performance Tuning Methods
209
by name;
run;
Similarly, if you specify a one-level data set name, the .sas7butl file is created in 
your Work data library.
• If you use the OUT= option in the PROC SORT statement, the .sas7butl file is 
created in the directory associated with the libref used in the OUT= option. If you 
use a one-level name (that is, no libref), the .sas7butl file is created in the Work data 
library. For example, in the following SAS program, the first and second sorts occurs 
in the SAS Work subdirectory:
proc sort data=report out=newrpt;
by name;
run;
libname january 'f:\jandata';
proc sort data=report out=january.newrpt;
by name;
run;
Calculating Data Set Size
In single-threaded environments, you always need free disk space that equals three to 
four times the data set size. For example, if your data set takes up 1MB of disk space, 
you need 3 to 4MB of disk space to complete the sort.
In multi-threaded environments, if you use the OVERWRITE option in the PROC SORT 
statement, you need space equal to the data set size. If you do not specify the 
OVERWRITE option, the space that you need is equal to two times the data set size. For 
more information about the OVERWRITE option, see the “Sort Procedure” in the Base 
SAS Procedures Guide.
To estimate the amount of disk space that is needed for a SAS data set:
1. create a dummy SAS data set that contains one observation and the variables that 
you need
2. run the CONTENTS procedure using the dummy data set
3. determine the data set size by performing simple math using information from the 
CONTENTS procedure output.
For example, for a data set that has one character variable and four numeric variables, 
you would submit the following statements:
data oranges;
input variety $ flavor texture looks;
total=flavor+texture+looks;
datalines;
navel 9 8 6
;
proc contents data=oranges;
title 'Example for Calculating Data Set Size';
run;
These statements generate the output shown in the following output:
210
Chapter 7 • Performance Considerations under Windows
Documents you may be interested
Documents you may be interested