我想知道是否有可能加快首先使用EF代码进行的第一次查询.
我做了一个小测试程序,其中一个实体包含2个字段,第一个查询需要2.2秒,第二个查询(完全相同)需要0.006秒.
我已经预编译了视图,所以在这里不会有帮助.我认为问题是在内存中构建模型需要一些时间,但是它需要花费那么长时间吗?有没有一种方法来预编译这个模型,就像有视图一样?
我最近听说你可以预编译Web应用程序项目.我的问题是怎么样?
现在,当我publish为我的网络应用程序做一个并选择only files needed to run this application我发布它但它仍然有我所有的ASPX页面,它仍然只有JIT编译页面.如何在将所有ASPX页面放入服务器之前对其进行预编译?
asp.net precompiled vs-web-application-project visual-studio-2008
运行:
bundle exec rake assets:precompile RAILS_ENV=production --trace
** Execute assets:precompile:primary
rake aborted!
TypeError: Object doesn't support this property or method
(in C:/Sites/MyApp/app/assets/javascripts/application.js)
Run Code Online (Sandbox Code Playgroud)
以下是整个内容application.js:
//= require jquery
//= require jquery_ujs
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
没有别的.
我试图删除 //= require三行application.js,然后预编译运行没有问题.
如何找到已在本地安装的模块,以及我可以use在 Raku 程序中找到的模块?
假设我们有三个分布:Parent、Brother、Sister。父母'提供'Top.rakumod,而 Brother 和 Sister 分别提供 'Top::Son.rakumod' 和 'Top::Daughter.rakumod'。兄弟姐妹在他们的 META6.json 中有一个 'depends': 'Top'。
每个发行版都在它自己的 git 存储库中。每个都是由zef安装的。
假设 Top 被设置为一个带有接口方法的类,可能类似于: multi method on-starting { ... },每个子类都必须实现它,并且在运行时为调用者提供有关子类的信息。这样既Top::Brother和Top::Daughter实施on-starting。也可能Top::Aunt存在未在本地安装的发行版等。我们需要找到安装了哪些。
所以,现在我们运行一个 Top 实例(在 Parent 中定义)。它需要寻找匹配的已安装模块Top::*。开始的地方(我认为)是$*REPO,它是包含已安装模块的存储库的链接列表。$*REPO 还承担 CompUnit::Repository 角色,后者又具有“need”方法。
我不明白的是如何操作 $*REPO 来获取所有匹配的候选模块的列表Top::*,以及整个链表。
一旦我有了候选列表,我就可以使用^can它来检查它是否有一个on-starting方法,然后调用该方法。
如果这不是得到 Top 发现本地安装模块的结果的方法,我会很感激我刚刚提出的方案的一些替代方案。
所有,
所以我已经将LINQ-to-SQL中的所有选择查询转换为使用CompiledQueries来加快速度.到目前为止,对于select语句来说效果很好,但是我还没弄清楚如何预编译insert,update或delete语句.
当然,当您在LINQ-to-SQL中插入,删除或更新时,必须使用对象模型.但显然在它生成查询的某个地方,预编译和存储在静态成员中会很好.
这可能吗?什么是LINQ性能,如更新,删除和插入时,它没有预编译?我可以看到它比选择快得多,因为他们在下面做的更简单,更少"动态"......
我是编程的新手,头文件的主题在我开始使用它们之后会让我失望.除此之外,我正在尝试使用预编译的头文件.我也在使用SFML库,所以我必须包含那些标题.
现在我有stdafx.h,main.cpp,然后是Ah,A.cpp,Bh,B.cpp,Ch,C.cpp,Dh和D.cpp中包含的类A,B,C和D.
如果包含所有文件中的标题,我将采用什么顺序?
stdafx.h中:
#include <SFML/Graphics.hpp>
#include <iostream>
Run Code Online (Sandbox Code Playgroud)
啊
#include "stdafx.h"
class A
{
//sfml class
};
Run Code Online (Sandbox Code Playgroud)
A.cpp
#include "stdafx.h"
#include "A.h"
Run Code Online (Sandbox Code Playgroud)
BH
#include "stdafx.h"
class B
{
//sfml class
};
Run Code Online (Sandbox Code Playgroud)
B.cpp
#include "stdafx.h"
#include "B.h"
Run Code Online (Sandbox Code Playgroud)
章
#include "B.h"
class C: public B
{
};
Run Code Online (Sandbox Code Playgroud)
C.cpp
#include "stdafx.h"
#include "C.h"
Run Code Online (Sandbox Code Playgroud)
DH
#include "A.h"
#include "C.h"
class D
{
A a;
C C; // if left uncommented I recieve a '1 unresolved externals' error
//sfml class
}
Run Code Online (Sandbox Code Playgroud)
D.cpp …
运行:gcc版本4.2.1(Apple Inc. build 5664)
我创建了一个带有默认预编译头的Apple XCode项目.它似乎非常慢,并且一个简单的主文件与主函数no包括没有代码需要6秒编译,这是我升级到新的SSD驱动器后.我在笔记本电脑上,但我保留升级到工作站可以缓解我的问题.如果我关闭预编译的头,那么主文件将在一秒钟内编译.似乎使用预编译的标头会对所有文件造成惩罚.这种延迟使我想避免编译和试验不好的代码.这是我在预编译头文件中包含的内容:
#pragma once
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <fstream>
#include <functional>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <valarray>
#include <vector>
#include <boost/smart_ptr/scoped_ptr.hpp>
#include <boost/smart_ptr/scoped_array.hpp>
#include <boost/smart_ptr/shared_ptr.hpp>
#include <boost/smart_ptr/shared_array.hpp>
#include <boost/smart_ptr/make_shared.hpp>
#include <boost/smart_ptr/weak_ptr.hpp>
#include <boost/smart_ptr/intrusive_ptr.hpp>
#include <boost/regex.hpp>
#include <boost/thread.hpp>
#include <boost/bind/bind.hpp>
#include <boost/bind/apply.hpp>
#include <boost/bind/protect.hpp> …Run Code Online (Sandbox Code Playgroud) 是否可以使用Web部署项目发布Web应用程序项目而无需预编译?
为了将Web控件和页面拆分为单独的程序集,我使用自定义VirtualPathProvider来加载这些资源.我在cmd行使用Web部署项目和msbuild来部署这些项目.
问题的关键在于预编译应用程序不支持VirtualPathProviders.我在这里找到了常规文件的解决方法.但是,这不适用于诸如ascx和aspx页面之类的应用程序文件.它引发了一个例外,即"文件尚未预编译,无法请求".
因此,我决定尝试完全放弃预编译,并且由于我们的网站流量不是特别高,因此初始请求性能受到影响.但是,我无法弄清楚如何使用Web部署项目来实现这一点,这些项目已经非常适合我们的构建过程.
[更新]我正在研究自定义Microsoft.WebDeployment.targets文件以实现此目的,但到目前为止我还没有运气.
[更新]在Microsoft.WebDeployment.targets文件中进行挖掘时,我发现没有直接的方法将Web部署项目与Web应用程序预编译分离.事实上,我不确定是否有任何需要.我现在使用的是类似于以下代码段的内容.我只是将它放入项目文件中,条件为attr,不为Debug版本部署.
<Target Name="AfterBuild">
<!-- clean output dir -->
<CreateItem Include="$(output)**\*.*">
<Output TaskParameter="Include" ItemName="OldFiles"/>
</CreateItem>
<Delete ContinueOnError="true"
TreatErrorsAsWarnings="true" Files="@(OldFiles)"/>
<!-- copy content -->
<Copy SourceFiles="@(Content)"
DestinationFolder="$(output)%(Content.RelativeDir)" />
<CreateItem Include="$(OutputPath)\*">
<Output TaskParameter="Include" ItemName="Binaries" />
</CreateItem>
<Copy SourceFiles="@(Binaries)" DestinationFolder="$(output)bin" />
<ReplaceConfigSections RootPath="$(output)"
WebConfigReplacementFiles="@(ConfigFiles)"
UseExternalConfigSource="true"
ValidateSectionElements="true"/>
</Target>
Run Code Online (Sandbox Code Playgroud)
似乎这就是在没有预编译的情况下部署项目所需的全部内容.如果你发现更好的东西,请告诉我.
asp.net virtualpathprovider web-deployment-project precompiled
我正试图消除(或至少最小化)我的.NET应用程序的启动/预热时间.即使这是一个普遍的问题,我也不确定如何做到这一点.
有关.NET应用程序启动缓慢的大量问题.这些很容易通过池循环,工作进程启动,.aspx文件的动态编译,JIT等来解释.此外,还有更多可能需要在应用程序中初始化的东西,如EntityFramework和应用程序缓存.
我发现了很多不同的解决方案,例如:
但是,我对上述任何解决方案都不满意.此外,我正在将我的应用程序部署到Azure网站(在大多数情况下),因此我对IIS的访问权限有限.
我知道有一些自定义的"热身脚本"使用各种方法向应用程序发送请求(例如wget/curl).我的想法是在我的每个ASP.NET应用程序中创建一个"Warmup.aspx"页面.然后我有一个热身服务,每隔5分钟就会向每个站点的Warmup.aspx发送一个HTTP GET.此服务可以是Azure中的WorkerRole,也可以是内部部署安装中的Windows服务.Warmup.aspx将执行以下操作:
所以,我的最后一个问题是,是否有比"Warmup.aspx"脚本更好的选择?这是一个好方法还是你推荐其他方法?我真的想要一些能够处理上述标准的官方方法.
欢迎任何和所有建议,谢谢!
我使用Visual Studio 2008发布我的asp.net网站.当我在服务器上启动网站(Windows 2008服务器)时,我注意到global.asax中的代码没有运行.我的Global.asax正文类似于:
<%@ Application Language="C#" %>
<script runat="server">
protected void Application_Start()
{
// Initialize some site settings like a task scheduler
}
protected void Application_End(object sender, EventArgs e)
{
// Perform some clean up code
}
</script>
Run Code Online (Sandbox Code Playgroud)
编译的网站bin文件夹中有一个App_global.asax.dll,但似乎没有帮助.
是否有我缺少的配置选项?删除App_global.asax.dll并使用原始的global.asax与预编译的网站工作正常.
precompiled ×10
asp.net ×4
c++ ×2
boost ×1
class ×1
code-first ×1
compilation ×1
gcc ×1
header ×1
iis-7 ×1
include ×1
linq-to-sql ×1
module ×1
performance ×1
raku ×1
startup ×1
warm-up ×1