Performance Testing

A Glimpse on JAVA Memory


I just want to share my experience in performance issues that occurred due to Java heap memory.
Before that a few points to recollect about Java memory.
Heap memory is where java run time objects are getting allocated.
Non-Heap is the place of loaded classes and other meta data.

1) What will be the impact of loaded java heap memory?


Google Play Books hits nine new countries

Google Play Books is now available in nine new countries, giving more iOS and Android users access to the firm’s extensive ebook library — five million titles at last count — and digital reading service.

Read more @ thenextweb

Linux technews

Wine 1.6 Released

winehq_logo_glassWine 1.6 was officially released, wine 1.6 release comes just one year after the previous release of wine 1.4. The current release of 1.6 release has about 10,000 individual changes.

Among the wine 1.6  highlights are OpenGL DIB support, RandR 1.2/1.3 support, the Mac driver for not having to rely upon X11, Direct3D off-screen rendering, early 64-bit ARM support, dynamic device support, a Direct3D shader compiler, multi-channel ALSA audio handling, and thousands of other changes.

For more details visit wine wiki


The source is available from the following locations:

Binary packages for various distributions will be available from:

You will find documentation on

You can also get the current source directly from the git
repository. Check for details.

Features below, taken from

What's new in Wine 1.6

*** User interface

- Window transparency is supported, including both color keying and
  alpha blending transparency.

- All window rendering is done on the client-side using the DIB engine
  (except for OpenGL rendering). This means that rendering to windows
  or bitmaps gives identical results.

- Common dialogs correctly scale with the screen DPI resolution.

- In virtual desktop mode, shortcuts placed in the Desktop folder are
  displayed on the desktop, and can be used to launch applications.

- The HTML Help control has better support for non-ASCII characters,
  and for multiple help windows.

- Custom painting and images are better supported in listview

- Input validation is improved in the date and calendar controls.

*** Mac driver

- A native Mac OS X driver is implemented, for better integration with
  the Mac desktop environment. The full range of driver features are
  supported, including OpenGL, window management, clipboard, drag &
  drop, system tray, etc.

- X11 is no longer needed on Mac OS X, but the X11 driver is still
  supported, e.g. when running remotely.

Note: the Mac driver requires Mac OS X 10.6 or later, it cannot be
      built or used on 10.5.

- FontConfig is no longer needed on Mac OS X and is disabled by
  default, system fonts are enumerated using the Core Text API

*** X11 driver

- X11 server-side font rendering is no longer supported. All fonts are
  rendered client-side using FreeType.

- The big lock around all X11 calls has been removed, we rely on the X
  libraries internal locking for thread safety.

- XRandR versions 1.2 and 1.3 are supported.

*** Graphics

- There are significant performance improvements in the DIB engine,
  particularly for text rendering, bitmap stretching, alpha blending,
  and gradients.

- Bounds tracking is supported for all graphics primitives, to enable
  copying only the modified portions of a bitmap.

- OpenGL rendering is supported in device-independent bitmaps using libOSMesa.

- Brush dithering is implemented in the DIB engine.

- Path gradients are implemented in GdiPlus.

- More image codecs features are implemented, including JPEG encoding,
  palette formats, and meta-data support for various image types.

*** Text and fonts

- Sub-pixel font anti-aliasing is supported in the DIB engine, using
  the system anti-aliasing configuration from FontConfig.

- Dynamic loading of scalable font resources is supported.

- Text layout in Uniscribe supports character-specific position
  adjustments. Right-to-left text handling is also improved.

- There is an initial implementation of the DirectWrite text layout

- Built-in fonts are more complete, with the addition of FixedSys and
  Wingdings fonts, more high-resolution pixel fonts, and a wider range
  of glyphs in the existing fonts, notably Arabic glyphs in Tahoma.

- Bi-directional text support is improved in the RichEdit control.

*** Input devices

- The raw input API is supported for keyboard and mouse input.

- There is a joystick applet in the control panel, to allow
  configuring joysticks and testing their behavior.

- Force feedback is supported for Mac OS X joysticks.

*** Kernel

- DOSBox is tried first when running a DOS application. The Wine DOS
  support is only used as a fallback when DOSBox cannot be found, and
  will be removed in a future release.

- A monotonic time counter is used on platforms that support it, to
  make timers more robust against system time changes.

- File times are reported with nanosecond resolution.

- Wine can be configured to report the Windows version as 'Windows 8'.

*** .NET support

- The Mono runtime is packaged as an MSI file, and its installation
  can be managed from the "Add/Remove Programs" control panel. It is
  automatically installed on Wine prefix updates.

- .NET mixed mode assemblies are supported.

- The Microsoft .NET 4.0 runtime can be installed for cases where Mono
  is not good enough yet.

*** OLE / COM

- The typelib writer is reimplemented for better compatibility.

- OLE DB supports more data types and conversions.

- OLE automation manages a cache of string allocations for better
  performance and compatibility.

*** Internet and networking

- HTTPS connections use GnuTLS (or Secure Transport on Mac OS X).
  OpenSSL is no longer used.

- The TLS 1.1 and TLS 1.2 protocols are enabled by default, with
  automatic fallback to TLS 1.0. The SSL2 protocol is disabled by

- Security certificate validation errors are handled better.

- NTLM and Negotiate authentication protocols are supported.

- ActiveX controls can be downloaded and installed automatically.

- Internet proxy bypass is supported, and can be enabled either
  through the registry or with the no_proxy environment variable.

- Broadcast packets can be received on interface-bound sockets, which
  is needed for some networked multi-player games.

- The Server Name Indication TLS extension is supported.

- Persistent cookies are supported, and URL cache files are managed
  better. The Internet control panel allows clearing saved cookies and
  cache files.

- Punycode encoding for Internationalized Domain Names is supported.

- JavaScript performance is improved. The built-in JavaScript engine
  is preferred over the Gecko one in most cases.

- Many more built-in functions of VBScript are implemented. Regular
  expressions are also supported.

- The Gecko engine is updated to the version from Firefox 21.

- The Gecko and Mono installers are cached upon download, to allow
  installation in multiple Wine prefixes without additional downloads.

*** Direct3D

- The Direct3D 9Ex implementation is more complete. In particular:
  - IDirect3DDevice9Ex::PresentEx is implemented.
  - IDirect3DDevice9Ex::ResetEx is implemented.
  - Various Direct3D 9Ex display mode handling functions are implemented.
  - Direct3D 9Ex style video memory accounting is implemented.

- Like the X11 driver, WineD3D no longer uses the big X11 lock when
  making GL calls.

- The WineD3D graphics card database is updated to recognize more
  graphics cards.

- The fallback card detection code for unrecognized graphics cards is
  improved. This results in a more reasonable card being reported when
  the graphics card is not already in the WineD3D database.

- WineD3D has GLSL based implementations of Direct3D fixed-function
  vertex and fragment processing. In some cases this allows
  functionality that's not present in fixed-function OpenGL to be
  implemented, in other cases it allows functionality to be
  implemented in a more efficient way.

- On drivers that support it, GL_ARB_debug_output is used to get more
  detailed debugging output from the OpenGL driver.

- On drivers that support it, GL_ARB_framebuffer_sRGB is used for
  rendering to frame buffers in the sRGB color space.

- On drivers that support it, GL_ARB_instanced_arrays is used for more
  efficient instanced drawing.

- On drivers that support it, and return useful information,
  GL_ARB_internalformat_query2 is used for more accurate reporting of
  surface / texture format capabilities.

- There is an initial implementation of a HLSL compiler.

- Improvements to various parts of the D3DX9 implementation, including:
  - The surface and texture handling functions. This includes code for
    loading, saving, filling, and rendering to surfaces and textures.
  - The effects framework.
  - The constant table implementation.
  - A number of spherical harmonics functions have been implemented.
  - Support for .x files.

- Improvements to the Direct3D 10 implementation, including:
  - Support for more shader model 4 opcodes and register types.
  - Support for shader model 4 indirect addressing.
  - Initial geometry shader support.
  - Improved binary effect parsing.
  - Support for Direct3D 10 style instanced draws, using

*** DirectDraw

- Vertex buffers are created with WINED3DUSAGE_DYNAMIC when locked with
  DDLOCK_DISCARDCONTENTS, resulting in improved performance in some cases.

- The 2D-only fallback in WineD3D for using DirectDraw without a
  working OpenGL implementation is more robust. Note that this still
  isn't a recommended configuration.

*** Audio and video

- DirectSound has a better resampler.

- Audio device enumeration is improved, and multi-channel devices are
  better supported.

- VMR-9 video rendering is implemented.

*** Printer support

- The PPD files of already installed printers are automatically
  refreshed when needed.

- Printing resolution can be configured from the print dialog.

- Simulated italic fonts can be printed.

- On Mac OS X, the default paper size is retrieved from the system

*** Internationalization

- Japanese vertical text is correctly supported.

- Translated font names are used when there is a match for the current

- Wine is translated to French, German, Spanish, Italian, Dutch,
  Swedish, Finnish, Portuguese, Catalan, Hungarian, Polish, Danish,
  Russian, Slovenian, Lithuanian, Chinese, Japanese, Korean, and
  Arabic. It has partial translations for another fifteen languages.

- Various additional Mac OS code pages are supported, namely Japanese,
  Traditional Chinese, Korean, Simplified Chinese, Romanian,
  Ukrainian, Thai, and Croatian code pages. This improves support for
  loading translated font names from Mac OS font files.

*** Built-in applications

- The new 'netstat' application displays information about active
  network connections.

- The 'cabarc' application supports multi-cabinet archives.

- The 'attrib' application supports recursing in sub-directories.

- The 'ipconfig' application can display IPv6 addresses.

- The 'start' application allows setting process priority and affinity.

- The 'cmd' application support arithmetic variable expansion,
  comparison operators, and various extra features in 'for' loops.

- All graphical built-in applications have a 256x256 icon for use with
  the Mac driver.

*** Build environment

- The configure script uses pkg-config when possible to find library
  dependencies. Compiler and linker flags can be passed explicitly for
  each dependency to override pkg-config where necessary.

- The IDL compiler supports nameless structs and unions and generates
  portable C code for them.

- The IDL compiler generates the same header guards as the Microsoft
  one for better header compatibility.

- Generated assembler files are built by invoking the C compiler when
  possible, for better compatibility with the Clang tool chain.

- The Winedump tool can display the contents of typelib files.

- The Fnt2bdf tool has been removed since X11 server-side fonts are no
  longer used.

*** Platform-specific changes

- On Linux, dynamic device management supports the UDisks2 service.

- On Mac OS X, the Recycle Bin is mapped to the Mac OS Trash.

- Debugging support for ARM platforms is improved, including the
  ability to display ARM assembly in the Wine debugger, and support
  for relay tracing.

- Building Wine for the ARM64 platform is supported.

- There is preliminary support for building Wine for Android using the
  Android NDK.

- The DragonFly FreeBSD variant is supported.

- The Alpha and Sparc platforms are no longer supported.

*** Miscellaneous

- XML namespaces are better supported. XML parsing is also implemented
  in the XMLLite library.

- Windows Management Instrumentation (WMI) is implemented, with a wide
  range of WBEM system classes.

- A number of forwarding libraries are added to support the API Sets
  feature added in Windows 8.

- More of the latest functions of the C runtime are implemented,
  particularly the locale functions. Exception handling and RTTI are
  supported on 64-bit.

- The standard C++ class libraries are more complete, particularly the
  math functions and the stream classes.

*** New external dependencies

- LibOSMesa is used for OpenGL rendering to device-independent bitmaps.

*** Useful configuration options

Note: More details about these and other configuration options can be
      found at

- Client-side window rendering can be disabled if necessary by setting
  "ClientSideGraphics" to "N" under HKCUSoftwareWineX11 Driver.

- On Mac OS X, in case an application doesn't work properly with the
  Mac driver, it is possible to go back to the X11 driver by setting
  "Graphics" to "x11" under HKCUSoftwareWineDrivers.

- Some X11 compositors do not cope properly with transparent windows
  that use non-rectangular shapes. In that case, window shaping can be
  disabled by setting "ShapeLayeredWindows" to "N" under
  HKCUSoftwareWineX11 Driver.

- The "VertexShaderMode" and "PixelShaderMode" settings under
  HKCUSoftwareWineDirect3D have been replaced by the "MaxShaderModelVS",
  "MaxShaderModelGS" and "MaxShaderModelPS" (DWORD) settings. These allow
  limiting the maximum supported shader model version. Setting these to 0
  disables support for the corresponding shader type, like "VertexShaderMode"
  and "PixelShaderMode" did.

- The default value for the "AlwaysOffscreen" setting under
  HKCUSoftwareWineDirect3D is "enabled". It can still be disabled
  by setting it to "disabled".

*** Known issues

- The addition of DirectWrite causes Steam to be unable to display
  text. This can be fixed either by setting dwrite.dll to disabled for
  steam.exe using Winecfg, or by running Steam with the -no-dwrite

- The removal of the big X11 lock can reveal locking bugs in old Xlib
  versions, notably on RHEL 5. The only solution is to upgrade the X

Checking Safari version on ipad

To check the version of Safari installed on iPad, then launch the Safari browser and  navigate to address bar and type “javascript:alert(navigator.userAgent)”. Press enter after entering this command.


This would display the following popup with Safari version along with other details.