Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » Community » Newbie corner » Socket Communication 101
Re: Socket Communication 101 [message #38262 is a reply to message #38236] Sat, 08 December 2012 15:37 Go to previous messageGo to previous message
lectus is currently offline  lectus
Messages: 329
Registered: September 2006
Location: Brazil
Senior Member
Yes, there's some optimization at CPU level when you compare a char with \0.

In ASM code a comparison happens like this:
CMP AX, ','
JZ FOUND_COMMA
.
.
.
FOUND_COMMA:
; Do something...


When you compare to zero it happens like this:
CMP AX, 0
JZ FOUND_ZERO
.
.
.
FOUND_ZERO:
; Do something...


The same with some instruction optimization:

XOR AX, AX
JZ FOUND_ZERO
.
.
.
FOUND_ZERO:
; Do something...


XOR instruction is a few bytes smaller than CMP, but XOR raises a CPU flag and so it works to compare to zero.
This saves a few CPU cycles. But with a good compiler and modern CPUs it becomes irrelevant.
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: ScatterCtrl / ScatterDraw - ShowLegend() problem and general Question
Next Topic: Spin + Text
Goto Forum:
  


Current Time: Fri Jun 07 15:51:54 CEST 2024

Total time taken to generate the page: 0.02546 seconds