tweakable : Java Glossary

tweakable
aka free parameter. A static final constant that may be safely varied between limits. The program still behaves the same way, no matter what the value, but it may run faster at the optimum setting. Tweakables include such things as ideal buffer sizes, maximum number of threads to spawn (size of a thread pool), best initial sizes for various Hashtables and ArrayLists, how frequently to invoke the garbage collector and even the size of the virtual heap. Tweakables can also be discrete variables that for example may select between one of seven different sorting algorithms, or between a CPU (Central Processing Unit) intensive vs a RAM (Random Access Memory) intensive algorithm.

I envision a time when automated optimisation process will monitor your program every time it runs in production, automatically adjusting the tweaking parameters until it gradually learns and homes in on the optimal settings for running under various conditions using some sort of statistical multiple regression analysis and binary search, working somewhat like a numerical differential equation solver.

The problem is the optimum settings are not universal. They depend on the customer’s hardware, JVM (Java Virtual Machine) and data size and characteristics, e. g. one customer may always present data pre-sorted, or sorted in precisely reverse order. Different customers use different SQL (Standard Query Language) engines and different Servlet wombs.

Tweakables could be external to the Java program such as the optimum VM heap size or stack allocation. Too little and you GC (Garbage Collection) needlessly frequently, too big and your virtual RAM fills with paged out deadwood interspersed with tiny objects.


CMP homejump to top

available on the web at:

http://mindprod.com/jgloss/tweakable.html
  

optional Replicator mirror
of mindprod.com
on local hard disk J:

J:\mindprod\jgloss\tweakable.html
logo
Please email your , letters to the editor, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : feedback email. If you want your message, your name or email kept confidential, not considered for public posting, please explicitly specify that. Unless you state otherwise, I will treat your message as a letter to the editor that I may or may not publish in the feedback section. After that, it will be too late to retract it. If you disagree with something I said, especially when sending an ad-hominem attack, a rant composed mainly of obscenities or a death threat, please quote the offending passage and cite the web page where you found it, tell me why you think it is wrong, and, if possible, provide some supporting evidence. I can’t very well fix erroneous or ambiguous text if I can’t find it.
Blog
IP:[65.110.21.43]
Your face IP:[54.234.126.92]
You are visitor number 13,433.