forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   Производительность операций (http://forum.boolean.name/showthread.php?t=14087)

Evgen 18.01.2011 23:14

Ответ: Переход с Blitz3D на Unity3D.
 
Вопрос по C#. Большая ли разница в скорости в таких случаях?

Вариант №1 - все в одном классе
PHP код:

public class GroupClass
{
   public static 
float[] variable_name=new float[10000];
   
Update(){
      for(
int i=0;i<10000;i++){
         
variable_name[i] = 1.234f;
      }
   }


Вариант №2 - общие переменные вынесены из класса
PHP код:

static class ExampleClass
{
   public static 
float[] variable_name=new float[10000];
}
...
public class 
AnotherClass
{
   
Update(){
      for(
int i=0;i<10000;i++){
         
ExampleClass.variable_name[i] = 1.234f;
      }
   }


Просто хочу некоторые статичные массивы вынести в отдельный статичный класс для общего доступа. Сильно будет тормозить? Или разницы совсем не будет?

pax 18.01.2011 23:20

Ответ: Производительность операций
 
Думаю проверить просто, кажется не будет разницы

PS: не советую использовать статические переменные, по крайней мере старайтесь использовать их редко.
PS2: в следующий раз вопросы по C# задавайте в разделе по C#

moka 19.01.2011 00:11

Ответ: Производительность операций
 
По идее когда идёт обращение к другому классу, то исходя из видимости происходят изменения в области памяти которая доступна. Хз про этот случай, т.к. доступ идёт снаружи, вот если бы ты из другого класса вызывал бы метод из первого, то разница будет.
Но это всё огромные мелочи!
Думаю об этом точно париться не нужно..

.Squid 19.01.2011 01:28

Ответ: Производительность операций
 
Цитата:

Сообщение от MoKa (Сообщение 176180)
По идее когда идёт обращение к другому классу, то исходя из видимости происходят изменения в области памяти которая доступна. Хз про этот случай, т.к. доступ идёт снаружи, вот если бы ты из другого класса вызывал бы метод из первого, то разница будет.
Но это всё огромные мелочи!
Думаю об этом точно париться не нужно..

Lolwut? Набор слов какой-то.
Доступ к статическому методу быстрее. Ознакомься с механизмом доступа к методам http://dotnetperls.com/callvirt
Хотя в том, что разница в скорости обращения незначительная, ты прав.

Sef 19.01.2011 13:19

Ответ: Производительность операций
 
Цитата:

Сообщение от pax (Сообщение 176165)
PS: не советую использовать статические переменные, по крайней мере старайтесь использовать их редко.

А почему?

pax 19.01.2011 14:31

Ответ: Производительность операций
 
Цитата:

Глобальные объекты могут быть вредны для объектного программирования, в некоторых случаях приводя к созданию немасштабируемого проекта.
Источник: http://ru.wikipedia.org/wiki/%D0%9E%...BD%D0%B8%D1%8F)


Часовой пояс GMT +4, время: 03:39.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot