Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- using Pathfinding;
- public class PropertyProfile : MonoBehaviour {
- class A {
- public int val1;
- public double val2;
- public string val3;
- public Matrix4x4 val4;
- public int Val1 {
- get {
- return val1;
- }
- set {
- val1 = value;
- }
- }
- public Matrix4x4 ValM4 {
- get {
- return val4;
- }
- set {
- val4 = value;
- }
- }
- public double Val2 {
- get {
- return val2;
- }
- set {
- val2 = value;
- }
- }
- public string Val3 {
- get {
- return val3;
- }
- set {
- val3 = value;
- }
- }
- public int Val4 {
- get {
- return val1 & 31;
- }
- set {
- val1 = value & 15;
- }
- }
- public double Val5 {
- get {
- return val2 + 0.5;
- }
- set {
- val2 = value - 0.5;
- }
- }
- public string Val6 {
- get {
- return val3;
- }
- set {
- val3 = value;
- }
- }
- }
- // Use this for initialization
- void Start () {
- for (int t=0;t<5;t++) {
- Profile p1 = new Profile("Fields");
- Profile p2 = new Profile("Props");
- Profile p3 = new Profile("Fields Complex");
- Profile p4 = new Profile("Props Complex");
- Profile p5 = new Profile("Fields Large Struct");
- Profile p6 = new Profile("Props Large Struct");
- string[] mah = {""+t," astfas"+t};
- A a = new A();
- a.Val1 = 2;
- a.Val2 = 42.2;
- a.Val3 = "here";
- int c = 0;
- p1.Start();
- for (int i=0;i<100000;i++) {
- a.val1 = i;
- a.val2 = i;
- a.val3 = mah[i % 2];
- c += (a.val1) + (int)(a.val2);
- }
- p1.Stop();
- Debug.Log (c);
- c = 0;
- a.Val1 = 2;
- a.Val2 = 42.2;
- a.Val3 = "here";
- p2.Start();
- for (int i=0;i<100000;i++) {
- a.Val1 = i;
- a.Val2 = i;
- a.Val3 = mah[i % 2];
- c += a.Val1 + (int)a.Val2;
- }
- p2.Stop();
- Debug.Log (c);
- ///////
- a.Val1 = 2;
- a.Val2 = 42.2;
- a.Val3 = "here";
- c = 0;
- p3.Start();
- for (int i=0;i<100000;i++) {
- a.val1 = i & 15;
- a.val2 = i - 0.5;
- a.val3 = mah[i % 2];
- c += (a.val1 & 31) + (int)(a.val2 + 0.5);
- }
- p3.Stop();
- Debug.Log (c);
- c = 0;
- a.Val1 = 2;
- a.Val2 = 42.2;
- a.Val3 = "here";
- p4.Start();
- for (int i=0;i<100000;i++) {
- a.Val4 = i;
- a.Val5 = i;
- a.Val6 = mah[i % 2];
- c += a.Val4 + (int)a.Val5;
- }
- p4.Stop();
- Debug.Log (c);
- a.Val1 = 2;
- a.Val2 = 42.2;
- a.Val3 = "here";
- a.ValM4 = Matrix4x4.identity;
- p5.Start();
- for (int i=0;i<100000;i++) {
- c += a.val4.isIdentity ? 1 : 0;
- }
- p5.Stop();
- a.Val1 = 2;
- a.Val2 = 42.2;
- a.Val3 = "here";
- a.ValM4 = Matrix4x4.identity;
- p6.Start();
- for (int i=0;i<100000;i++) {
- c += a.ValM4.isIdentity ? 1 : 0;
- }
- p6.Stop();
- p1.Log();
- p2.Log();
- p3.Log();
- p4.Log();
- p5.Log();
- p6.Log();
- }
- }
- // Update is called once per frame
- void Update () {
- Start();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement