dcsimg
Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Jan 19, 2000

WEBINAR:

On-Demand

Building the Right Environment to Support AI, Machine Learning and Deep Learning


Use Faster Floating-Point Division

If you do a lot of floating-point division operations in VB, you can optimize these operations by multiplying by the reciprocal value. For example, instead of performing this calculation:
 
X/Y
Do this:
 
X * (1 / Y)
You can see how this works in VB by adding this code to a form in a new project:
 
Private Declare Function GetTickCount Lib _
	"kernel32" () As Long
Const NORMAL As Double = 1453
Const RECIPROCAL As Double = 1 / NORMAL
Const TOTAL_COUNT As Long = 10000000
Private Sub Form_Click()
	Dim dblRes As Double
	Dim lngC As Long
	Dim lngStart As Long
	On Error GoTo Error_Normal
	lngStart = GetTickCount
	For lngC = 1 To TOTAL_COUNT
		dblRes = Rnd / NORMAL
		Next lngC
	MsgBox "Normal Time:  " & GetTickCount - lngStart
	lngStart = GetTickCount
	For lngC = 1 To TOTAL_COUNT
		dblRes = Rnd * RECIPROCAL
	Next lngC
	MsgBox "Reciprocal Time:  " & GetTickCount - lngStart
Exit Sub
Error_Normal:
	MsgBox Err.Number & " - " & Err.Description
End Sub
I
Jason Bock
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date