Здравствуйте, diatlov, Вы писали:
D>При попытке на пользовательской машине моего приложения узнать имя машины и список её IP-адресов вываливался exception, где писалось что-то типа у вашего приложения недостаточно прав и т.д. и т.п. Обратитесь к системному администратору или зайдите в консоль управления фреймворком и дайте ему прав скоко нада.
Бегом изучать, что такое CAS
D>Решал методом подписи приложения ч/з sn.exe (это из Windows SDK, генерит strong names). Затем на клиентской машине запускал caspol.exe -af <моя прога>
А всего то надо было не запускать с сетевого диска или прописать сетевой диск в полиси.
kuj>Вроде бы взрослые люди, а ведётесь на столь явный троллинг...
Ой-ё, кто бы говорил . Хотя да, в троллинге ты прошаренный и очень опытный, это неопровержимый факт.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
КЛ>Гм. Жесть. 2 ключевых слова ради непойми чего.
КЛ>
КЛ>"case type of"
КЛ>Write a switch/case statement that executes different cases depending on the TYPE of a certain object, i.e.
КЛ>case type MyControl of:
КЛ> Edit: // do something
КЛ> Button: // do something else
КЛ>end;
Здравствуйте, Ночной Смотрящий, Вы писали:
G>>Даже смешно как-то. 2009 версия Delphi чуть лучше C# 2.0, но вероятнее всего к концу 2009 года уже выйдет C# 4.0.
НС>Который ничем от C# 3 не отличается, окромя уродства под названием dynamic.
Ну, во-первых, не только Dynamically Typed Objects, также туда входят optional and named parameters, improved COM interoperability (это выглядело прикольно), сo- and сontra-variance. Плюс, тема concurrency, по личным впечатлениям, еще до конца не раскрыта и увидим мы это чуть позже.
Во вторых, почему dinamic это уродство? В сценариях с Silverlight, работой с COM и взаимодействия с динамическими языками очень и очень даже полезная фича.
Плюс, стоит не забывать (возможно, это и не совсем по теме топика, хотя как посмотреть), что вместе с самим языком обновления коснуться также и, так сказать, окружающие вещи, такие как новая версия ASP.NET (лично, правда, больше ожидаю ASP.NET MVC).
Luck in life always exists in the form of an abstract class that cannot be instantiated directly and needs to be inherited by hard work and dedication.
Здравствуйте, Eugeny__, Вы писали:
kuj>>Вроде бы взрослые люди, а ведётесь на столь явный троллинг...
E__>Ой-ё, кто бы говорил . Хотя да, в троллинге ты прошаренный и очень опытный, это неопровержимый факт.
Здравствуйте, kochetkov.vladimir, Вы писали:
kuj>>Вроде бы взрослые люди, а ведётесь на столь явный троллинг...
KV>... сказал довольный kuj, зайдя на форум под своим настоящим ником
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Бегом изучать, что такое CAS
Обязательно посмотрю что за штука )
НС>А всего то надо было не запускать с сетевого диска или прописать сетевой диск в полиси.
Ну фишка в том что диск был отнюдь не сетевой, а совсем даже жесткий.. очень )
Но у того чела винда была хз какая.. ну XP т.е., но эксплорер 6 стоял и т.д. Так что мож там сервис пак 1й был или ещё что.
Ну в любом случае я победил это ) хоть может и варварским методом
Здравствуйте, gandjustas, Вы писали:
НС>>>Нативный компилятор Дельфи порождает код, который в большинстве случаев медленнее того, который порождает дотнетный джит.
U>>Мне пофиг что там порождает дотнетный джит и что показывают купленные бенчмарки, но почему-то серия одинаковых запросов к Ораклу стабильно выполняется в 1.5 раза медленнее. Почему-то скорость распределения и освобождения одинакового количества объектов (порядок — сотни тысяч, миллионы) в .NET менеджере памяти ни разу не было быстрее дельфийского, а если чонть в деструкторе написать то вообще туши свет.
G>Код в студию.
using System;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
public class TestObject
{
private const int ByteSize = 50;
protected byte[] TestArray;
public TestObject()
{
TestArray = new byte[ByteSize];
}
}
class Program
{
private const int ObjectCount = 1000000;
static void Main(string[] args)
{
DateTime Start = DateTime.Now;
ArrayList Objects = new ArrayList();
while (Objects.Count < ObjectCount)
{
Objects.Add(new TestObject());
}
DateTime Stop = DateTime.Now;
TimeSpan Duration = Stop - Start;
int Speed = Objects.Count % (int) Duration.TotalMilliseconds;
Console.WriteLine("C# Speed {0}", Speed);
}
}
}
program MemSpeedTest;
{$APPTYPE CONSOLE}uses
SysUtils,
Contnrs,
DateUtils;
const
ArraySize=50;
ObjectCount=1000000;
type
TTestObject=class(TObject)
private
FTestArray:array of byte;
public
constructor Create;
end;
{ TTestObject }constructor TTestObject.Create;
begin
inherited Create;
SetLength(FTestArray, ArraySize);
end;
var
Objects:TObjectList;
Start, Stop:TDateTime;
Speed:Integer;
begin
Start:=Now;
Objects:=TObjectList.Create(TRUE);
try
while Objects.Count<ObjectCount do
Objects.Add(TTestObject.Create);
Stop:=Now;
Speed:=Objects.Count div MillisecondsBetween(Stop, Start);
WriteLn('Delphi speed ', Speed:6);
finally
FreeAndNil(Objects);
end;
end.
Результаты выполнения на AMD Phenom 9850, Vista.
D:\Temp\SpeedTest>dir
Volume in drive D is Архив
Volume Serial Number is 7473-5721
Здравствуйте, Ночной Смотрящий, Вы писали: U>>Мне пофиг что там порождает дотнетный джит и что показывают купленные бенчмарки, но почему-то серия одинаковых запросов к Ораклу стабильно выполняется в 1.5 раза медленнее.
НС>Вот уж тут то платформа точно не при чем. ODP к дотнету оракль пишет, так что все вопросы к МС. Драйвера к MSSQL работают не медленее нативных, даже если компилировать при помощи ICC (что не удивительно, vbs/js скорее всего тоже слабо отличимый результат продемонстрируют).
Вы не поняли... запросы выполняются из под приложения написанного на Delphi через dbExpress к одной и той-же БД. Кодовая база одна и та-же. Только в одном случае оно скомпилировано в Win32 в другом случае в .NET.
U>> Почему-то скорость распределения и освобождения одинакового количества объектов (порядок — сотни тысяч, миллионы) в .NET менеджере памяти ни разу не было быстрее дельфийского
НС>А это ты, уважаемый, просто вводишь нас в заблуждение. Скорость выделения дотнета не достижима ни для каких суперменеджеров кучи (не говоря уж о менеджере дельфи), потому что это прост инкремент одного указателя и пара проверок, а освобождение памяти в дотнете просто отсутствует.
См. результаты теста. Про освобождение памяти... не смешите плиз...
U>>, а если чонть в деструкторе написать то вообще туши свет.
НС>В дотнете нет деструкторов.
От того что их переименовали, они не перестали быть деструкторами.
Здравствуйте, Utruk, Вы писали:
U>>>Мне пофиг что там порождает дотнетный джит и что показывают купленные бенчмарки, но почему-то серия одинаковых запросов к Ораклу стабильно выполняется в 1.5 раза медленнее. Почему-то скорость распределения и освобождения одинакового количества объектов (порядок — сотни тысяч, миллионы) в .NET менеджере памяти ни разу не было быстрее дельфийского, а если чонть в деструкторе написать то вообще туши свет.
G>>Код в студию.
U>
Здравствуйте, Utruk, Вы писали:
U>Вы не поняли... запросы выполняются из под приложения написанного на Delphi через dbExpress к одной и той-же БД. Кодовая база одна и та-же. Только в одном случае оно скомпилировано в Win32 в другом случае в .NET.
Это ты не понял. Любые теоретически возможные тормоза по сравнению с запросом к БД — мгновение. Так что это в твоем dbExpress какие то серьезные проблемы.
U>См. результаты теста.
Тест некорректен.
U> Про освобождение памяти... не смешите плиз...
Да уж, после тебя это мне вряд ли удастся.
НС>>В дотнете нет деструкторов.
U>От того что их переименовали, они не перестали быть деструкторами.
Здравствуйте, Utruk, Вы писали:
НС>>А это ты, уважаемый, просто вводишь нас в заблуждение. Скорость выделения дотнета не достижима ни для каких суперменеджеров кучи (не говоря уж о менеджере дельфи), потому что это прост инкремент одного указателя и пара проверок, а освобождение памяти в дотнете просто отсутствует.
U>См. результаты теста. Про освобождение памяти... не смешите плиз...
Это там, где ты остатком от деления насмешил?
U>>>, а если чонть в деструкторе написать то вообще туши свет.
НС>>В дотнете нет деструкторов.
U>От того что их переименовали, они не перестали быть деструкторами.
От оно как!
Почитай сначала стандарт языка C#, а потом уже высказывай безапеляционные утверждения.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, _d_m_, Вы писали:
___>>А зачем здесь % — операция остатка от деления?
НС>Это в очередной раз продемонстрировало уровень знаний о дотнете.
Опечатался, а он уже усирается от радости... ну поправь на деление и запусти у себя.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Их не переименовывали, их просто нет.
А это что тогда?
Destructors (C# Programming Guide)
Destructors are used to destruct instances of classes.
Remarks
Destructors cannot be defined in structs. They are only used with classes.
A class can only have one destructor.
Destructors cannot be inherited or overloaded.
Destructors cannot be called. They are invoked automatically.
A destructor does not take modifiers or have parameters.