Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by juniperspark · Jan 02, 2015 at 08:44 PM · switchifefficiency

Is a Switch Categorized by If statements more efficient than Large Switch Statement?

Which of these is more efficient or is it pretty much the same?

 var creature : String;
 
 switch (creature)
 {
     case mouse:
     break;
             
     case hedgehog:
     break;
             
     case rat:
     break;
         
     case guineapig:
     break;            
             
     case squirrel:
     break;    
     
     case swan:
     break;
     
     case crow:
     break;
     
     case blackbird:
     break;
     
     case dove:
     break;
     
     case peacock:
     break;
 
     case Magpie:
     break;
     
     default:
     break;
 }
 
 //--- OR
 
 if (creature.category == bird)
 {
     switch (creature)
     {
         case swan:
         break;
         
         case crow:
         break;
         
         case blackbird:
         break;
         
         case dove:
         break;
         
         case peacock:
         break;
 
         case Magpie:
         break;
         
         default:
         break;
     }
 }
 
 else if (creature.category == rodent)
 {
     switch (creature)
     {
         case mouse:
         break;
                 
         case hedgehog:
         break;
                 
         case rat:
         break;
             
         case guineapig:
         break;            
                 
         case squirrel:
         break;    
         
         default:
         break;
     }
 }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
4
Best Answer

Answer by jgodfrey · Jan 02, 2015 at 09:00 PM

They're definitely "pretty much the same". While there may be some extremely negligible timing differences, for all practical purposes it doesn't really matter.

With that in mind, this is not really a valid place to try to squeeze performance out of an application. Just code these types of things using the style that you find the most readable / maintainable. That's where you'll get a real long-term gain.

Jeff

Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Owen-Reynolds · Jan 02, 2015 at 11:13 PM 1
Share

There's a puzzler on CarTalk about two guys drag racing in identical cars on a hot day. Once has the AC on, the other has it off. Oddly, the guy with the AC on would win (barely.) Sure, the AC reduces power, but he has his windows rolled up, and the streamlining is more of a gain.

Worrying about tiny efficiency stuff wastes a lot of time, and is often wrong anyway.

avatar image Kiwasi · Jan 03, 2015 at 07:44 AM 0
Share

Also worth noting that big picture optimisation might throw everything out anyway. No point making a class perfect straight up if you later decide to eli$$anonymous$$ate that feature altogether.

avatar image juniperspark · Jan 21, 2015 at 07:43 PM 0
Share

Thank you for your answers it's very helpful! :)

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

3 People are following this question.

avatar image avatar image avatar image

Related Questions

JS switch vs multiple if's efficiency? 1 Answer

Input using the same key twice 1 Answer

How of these two methods are more efficient? 2 Answers

Problem with On/Off Switch 1 Answer

String Scanning Switch Statement 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges