Search Results

Search found 35121 results on 1405 pages for 'object cache'.

Page 618/1405 | < Previous Page | 614 615 616 617 618 619 620 621 622 623 624 625  | Next Page >

  • Is there a better way to avoid an infinite loop using winforms?

    - by Hamish Grubijan
    I am using .Net 3.5 for now. Right now I am using a using trick to disable and enable events around certain sections of code. The user can change either days, hours, minutes or total minutes, and that should not cause an infinite cascade of events (e.g. minutes changing total, total changing minutes, etc.) While the code does what I want, there might be a better / more straight-forward way. Do you know of any? For brawny points: This control will be used by multiple teams - I do not want to make it embarrassing. I suspect that I do not need to reinvent the wheel when defining hours in a day, days in week, etc. Some other standard .Net library out there must have it. Any other remarks regarding code? This using (EventHacker.DisableEvents(this)) business - that must be a common pattern in .Net ... changing the setting temporarily. What is the name of it? I'd like to be able to refer to it in a comment and also read up more on current implementations. In the general case not only a handle to the thing being changed needs to be remembered, but also the previous state (in this case previous state does not matter - events are turned on and off unconditionally). Then there is also a possibility of multi-threaded hacking. One could also utilize generics to make the code arguably cleaner. Figuring all this out can lead to a multi-page blog post. I'd be happy to hear some of the answers. P.S. Does it seem like I suffer from obsessive compulsive disorder? Some people like to get things finished and move on; I like to keep them open ... there is always a better way. // Corresponding Designer class is omitted. using System; using System.Windows.Forms; namespace XYZ // Real name masked { interface IEventHackable { void EnableEvents(); void DisableEvents(); } public partial class PollingIntervalGroupBox : GroupBox, IEventHackable { private const int DAYS_IN_WEEK = 7; private const int MINUTES_IN_HOUR = 60; private const int HOURS_IN_DAY = 24; private const int MINUTES_IN_DAY = MINUTES_IN_HOUR * HOURS_IN_DAY; private const int MAX_TOTAL_DAYS = 100; private static readonly decimal MIN_TOTAL_NUM_MINUTES = 1; // Anything faster than once per minute can bog down our servers. private static readonly decimal MAX_TOTAL_NUM_MINUTES = (MAX_TOTAL_DAYS * MINUTES_IN_DAY) - 1; // 99 days should be plenty. // The value above was chosen so to not cause an overflow exception. // Watch out for it - numericUpDownControls each have a MaximumValue setting. public PollingIntervalGroupBox() { InitializeComponent(); InitializeComponentCustom(); } private void InitializeComponentCustom() { this.m_upDownDays.Maximum = MAX_TOTAL_DAYS - 1; this.m_upDownHours.Maximum = HOURS_IN_DAY - 1; this.m_upDownMinutes.Maximum = MINUTES_IN_HOUR - 1; this.m_upDownTotalMinutes.Maximum = MAX_TOTAL_NUM_MINUTES; this.m_upDownTotalMinutes.Minimum = MIN_TOTAL_NUM_MINUTES; } private void m_upDownTotalMinutes_ValueChanged(object sender, EventArgs e) { setTotalMinutes(this.m_upDownTotalMinutes.Value); } private void m_upDownDays_ValueChanged(object sender, EventArgs e) { updateTotalMinutes(); } private void m_upDownHours_ValueChanged(object sender, EventArgs e) { updateTotalMinutes(); } private void m_upDownMinutes_ValueChanged(object sender, EventArgs e) { updateTotalMinutes(); } private void updateTotalMinutes() { this.setTotalMinutes( MINUTES_IN_DAY * m_upDownDays.Value + MINUTES_IN_HOUR * m_upDownHours.Value + m_upDownMinutes.Value); } public decimal TotalMinutes { get { return m_upDownTotalMinutes.Value; } set { m_upDownTotalMinutes.Value = value; } } public decimal TotalHours { set { setTotalMinutes(value * MINUTES_IN_HOUR); } } public decimal TotalDays { set { setTotalMinutes(value * MINUTES_IN_DAY); } } public decimal TotalWeeks { set { setTotalMinutes(value * DAYS_IN_WEEK * MINUTES_IN_DAY); } } private void setTotalMinutes(decimal nTotalMinutes) { if (nTotalMinutes < MIN_TOTAL_NUM_MINUTES) { setTotalMinutes(MIN_TOTAL_NUM_MINUTES); return; // Must be carefull with recursion. } if (nTotalMinutes > MAX_TOTAL_NUM_MINUTES) { setTotalMinutes(MAX_TOTAL_NUM_MINUTES); return; // Must be carefull with recursion. } using (EventHacker.DisableEvents(this)) { // First set the total minutes this.m_upDownTotalMinutes.Value = nTotalMinutes; // Then set the rest this.m_upDownDays.Value = (int)(nTotalMinutes / MINUTES_IN_DAY); nTotalMinutes = nTotalMinutes % MINUTES_IN_DAY; // variable reuse. this.m_upDownHours.Value = (int)(nTotalMinutes / MINUTES_IN_HOUR); nTotalMinutes = nTotalMinutes % MINUTES_IN_HOUR; this.m_upDownMinutes.Value = nTotalMinutes; } } // Event magic public void EnableEvents() { this.m_upDownTotalMinutes.ValueChanged += this.m_upDownTotalMinutes_ValueChanged; this.m_upDownDays.ValueChanged += this.m_upDownDays_ValueChanged; this.m_upDownHours.ValueChanged += this.m_upDownHours_ValueChanged; this.m_upDownMinutes.ValueChanged += this.m_upDownMinutes_ValueChanged; } public void DisableEvents() { this.m_upDownTotalMinutes.ValueChanged -= this.m_upDownTotalMinutes_ValueChanged; this.m_upDownDays.ValueChanged -= this.m_upDownDays_ValueChanged; this.m_upDownHours.ValueChanged -= this.m_upDownHours_ValueChanged; this.m_upDownMinutes.ValueChanged -= this.m_upDownMinutes_ValueChanged; } // We give as little info as possible to the 'hacker'. private sealed class EventHacker : IDisposable { IEventHackable _hackableHandle; public static IDisposable DisableEvents(IEventHackable hackableHandle) { return new EventHacker(hackableHandle); } public EventHacker(IEventHackable hackableHandle) { this._hackableHandle = hackableHandle; this._hackableHandle.DisableEvents(); } public void Dispose() { this._hackableHandle.EnableEvents(); } } } }

    Read the article

  • get values from table as key value pairs with jquery

    - by liz
    I have a table: <table class="datatable" id="hosprates"> <caption> hospitalization rates test</caption> <thead> <tr> <th scope="col">Funding Source</th> <th scope="col">Alameda County</th> <th scope="col">California</th> </tr> </thead> <tbody> <tr> <th scope="row">Medi-Cal</th> <td>34.3</td> <td>32.3</td> </tr> <tr> <th scope="row">Private</th> <td>32.2</td> <td>34.2</td> </tr> <tr> <th scope="row">Other</th> <td>22.7</td> <td>21.7</td> </tr> </tbody> </table> i want to retrieve column 1 and column 2 values per row as pairs that end up looking like this [funding,number],[funding,number] i did this so far, but when i alert it, it only shows [object, object]... var myfunding = $('#hosprates tbody tr').each(function(){ var funding = new Object(); funding.name = $('#hosprates tbody tr td:nth-child(1)').map(function() { return $(this).text().match(/\S+/)[0]; }).get(); funding.value= $('#hosprates tbody tr td:nth-child(2)').map(function() { return $(this).text().match(/\S+/)[0]; }).get(); }); alert (myfunding);

    Read the article

  • Do I need to Dispose to deregister events?

    - by Sean
    Say I have two classes, and neither of them are GUI components. Class A is a short lived object that registers for an event declared by a long lived object B. For example public A(B b) { b.ChangeEvent += OnChangeEvent; } If A never deregisters from B's event, will A never be garbage collected? Does A need a Dispose method just to deregister from B's event? There is also a related second question. If A and B should both live for the entire execution time of the application, does A need to deregister?

    Read the article

  • NHibernate cascade and inverse

    - by Kordonme
    I have three mappings as follows: public MainChapterMap() { // other properties HasMany(x => x.ClientSpecific).KeyColumn("MainChapterId"); } public MainChapterClientMap() { // other properties References(x => x.MainChapter).Column("MainChapterId"); HasMany(x => x.Details).KeyColumn("MainChapterClientId"); } public MainChapterClientDetailMap() { // other properties References(x => x.MainChapterClient).Column("MainChapterClientId"); } MainChapter has many client-specific chapters. The client-specific chapters (MainChapterClient) has many translations (MainChapterClientDetail) The dele rules should be as follow: When deleting a MainChapter Delete the MainChapterClient row Delete the MainChapterClientDetail row(s) When deleting a MainChapterClient Do NOT delete the MainChapter row Delete the MainChapterClientDetail row(s) When deleting a MainChapterClientDetail Do NOT delete the MainChapter row Do NOT delete the MainChapterClientDetail row(s) But I no matter what I end up getting this error: deleted object would be re-saved by cascade (remove deleted object from associations)[Entities.MainChapterClient#39] I'm not sure how to set up my cascades anymore. Any help are more than welcomed!

    Read the article

  • Why would a error get thrown inside my try-catch?

    - by George Johnston
    I'm pushing a copy of our application over to a new dev server (IIS7) and the application is blowing up on a line inside of a try-catch block. It doesn't happen locally, it actually obey's the rules of a try-catch block, go figure. Any idea why this would be happening? Shouldn't it just be failing silently? Is there something environmental I need to enable/disable? Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. Line 229: Try Line 230: Here >> : _MemoryStream.Seek(6 * StartOffset, 0) Line 232: _MemoryStream.Read(_Buffer, 0, 6) Line 233: Catch ex As IOException End Try Although it doesn't matter for answering this question, I thought I would mention that it's third party code for the Geo IP lookup.

    Read the article

  • How does git-diff generate hunk descriptions?

    - by RobM
    (git version 1.6.5.7) When I run git diff the output has a nice scope hint after the line numbers for my Python scripts, e.g.: diff --git a/file.py b/file.py index 024f5bb..c3b5c56 100644 --- a/file.py +++ b/file.py @@ -14,6 +14,8 @@ TITF: Test Infrastructure Tags Format ... @@ -1507,13 +1533,16 @@ class Tags( object ): ... Note that the line numbers are followed by TITF: Test Infrastructure Tags Format and class Tags( object ):. The first patch applies to module scope and the description TITF: Test Infrastructure Tags Format is the module's description. The second patch applies to a method of the Tags class. How does git generate these descriptions? How can I tweak them to show the method name that the patch applies to?

    Read the article

  • Localized tables and Entity Framework

    - by Pyttroll
    Hi all, I have a scenario where I need to localized values of objects in my database. Let's say you have an application that can create animals, if the user is english the value of the "Name" property of an animal would be entered as "Cat" in the UI whereas it would be entered as "Chat" in french. The animal culture table would contain 2 records pointing to the same animal in the parent table. When reading values back, if the value of "Name" does not exist in the user culture the default value (value the object was originally created with) would be used. The following diagrams demonstrate how the data is stored in SQL: I'm trying to map this schema to an object model using the Entity Framework, I'm a bit confused as to what the best way to approach the problem. Is EF appropriate for this? Should I used EF4? This EF model will be used by .NET RIA Services. Thanks, Pierre-Yves Troel Ayuda Media Systems http://www.ayudasystems.com

    Read the article

  • Polymorphic Behavior in VB6

    - by Tom Tresansky
    I recently noticed the CallByName keyword in VB6. Since this takes a object, procedure name, "call type" and arguments array, can this be used to "fake" some types of polymorphic behavior? I can make 2 classes, class A and B, each with the same method Foo, and do: Dim list As New Collection Dim instanceA As New ClassA Dim instanceB As New ClassB Dim current As Object Call list.Add(instanceA) Call list.Add(instanceB) For Each current in list Call CallByName(current, "methodName", vbMethod) Next Anyone done this before? Problems? Horrible idea or genius idea? Implications? Unintended consequences?

    Read the article

  • Does the WCF framework support the XSD IDREF restriction?

    - by Gerard
    A nice feature in XSD is the IDREF restriction, e.g.: <xs:restriction base="xs:IDREF"> <xs:pattern value="[0-9a-zA-Z\-]+"/> </xs:restriction> I used this restriction with great benefit in a Java JAXWS-project. An object serialized in a SOAP XML datamodel can hold a reference (pointer) to another object in the same SOAP message. I want to try the same approach in a C# WCF-project, can it be done? On the web site Data Contract Schema Reference I can see e.g. Id ignored, Ref forbidden, but I am not sure whether I understand what that means.

    Read the article

  • NotifyIcon behaviour on Windows 7 with MouseClick, MouseDoubleClick events

    - by binball
    I have strange behaviour with my app after run it on Windows 7. It's connected with NotifyIcon while app is minimized. What should happens: 1) Click once on icon with mouse left button then Balloon with some text should appears 2) Double click on icon will show again app window On Windows 7 MouseDoubleClick is also fired but window is not showing. I don't know why. The same code works good on Windows XP. private void notifyIcon_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { this.NotifyIconShowBalloonWithData(); } } private void notifyIcon_MouseDoubleClick(object sender, MouseEventArgs e) { this.Show(); WindowState = FormWindowState.Normal; notifyIcon.Visible = false; } What did I wrong? :)

    Read the article

  • Changing a limited user account in XP fails

    - by javamonkey79
    I have the following: using System; using System.DirectoryServices.AccountManagement; public class ChangePassword { public static void Main() { PrincipalContext context = new PrincipalContext(ContextType.Machine); UserPrincipal user = UserPrincipal.FindByIdentity(context, "someLimitedAccount"); user.ChangePassword( "xxx", "zzz" ); } } This works just fine with administrator accounts, but seems to crash like so when I try to change limited accounts in XP: Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object. at ChangePassword.Main() Is what I am trying to do possible? If so, how? EDIT #1: I added the following: Console.WriteLine( "user: " + user ); Below this line: UserPrincipal user = UserPrincipal.FindByIdentity(context, "someLimitedAccount"); And I get this: user: It doesn't look like user is null when I print it, but then again I'm not really a .Net guy - I seem to remember this being expected behavior.

    Read the article

  • Custom Validator and specifying type of message

    - by user102533
    I have a custom validation in the enterprise validation block. The DoValidate method is as shown below. protected override void DoValidate(Double objectToValidate, object currentTarget, string key, ValidationResults validationResults) { if (!IsSalMoreThanMinWage(objectToValidate)) { //Here I need to mark this message as a "Warning" LogValidationResult(validationResults, "Salary is too low for this state", currentTarget, key); } } I'd need to mark this validation failure as a "warning" message. In the front end, when I iterate through the ValidationResults collection and grab a ValidationResult object, I would need to identify and group different types of messages and render them differently. My question is - how do I mark a failure as a warning?

    Read the article

  • How can you tell the source of the data when using the Stream.BeginRead Method?

    - by xarzu
    When using the Stream.BeginRead Method, and you are reading from a stream into a memory, how is it determined where you are reading the data from? See: http://msdn.microsoft.com/en-us/library/system.io.stream.beginread.aspx In the list of parameters, I do not see one that tells where the data is being read from: Parameters buffer Type: System.Byte[] The buffer to read the data into. offset Type: System.Int32 The byte offset in buffer at which to begin writing data read from the stream. count Type: System.Int32 The maximum number of bytes to read. callback Type: System.AsyncCallback An optional asynchronous callback, to be called when the read is complete. state Type: System.Object A user-provided object that distinguishes this particular asynchronous read request from other requests.

    Read the article

  • iPhone CoreData: How can I track/observe all changes within a subgraph?

    - by D Carney
    I have a NSManagedObjectContext in which I have a number of subclasses of NSManagedObjects such that some are containers for others. What I'd like to do is watch a top-level object to be notified of any changes to any of its properties, associations, or the properties/associations of any of the objects it contains. Using the context's 'hasChanges' doesn't give me enough granularity. The objects 'isUpdated' method only applies to the given object (and not anything in its associations). Is there a convenient (perhaps, KVO-based) was I can observe changes in a context that are limited to a subgraph?

    Read the article

  • Solution Items in Visual Studio 2005/2008

    - by Muneeb
    Is it possible to add a class as a solution item and use it as a linked item in all the projects in the solution? Basically I was thinking of creating a class (which will inherit ConfigurationSection) and keeping it as the Solution Item. I wanted to add it as a linked item in all the projects in the solution, so that everyone can use it to access the configuration properties. (Refer to this tutorial for more details) Now the issue I am facing is that when I create a class in the solution item, it doesn't have any namespace. And it shows up in intellisense, inside the projects but once I create an object of the solution item class, the object doesn't show up in intellisense. Any ideas why?

    Read the article

  • f12 and ctrl + f5 not working correctly

    - by ComatoseDuck
    When I came back to my work computer after being away for a week I found out when I try to clear the cache and refresh the page via ctrl + f5 (or just f5) I get the prompt "Type the Internet address of a document, and Internet Explorer will open it for you" with a drop down list in IE. When I try f5 in Chrome and FF it opens the "Open file" dialog box. When I try to f12 for Dev tools in IE, Chrome & FF it opens up the print dialog box. Why is this happening and what can I do to revert it back to the way it was?

    Read the article

  • Spring Actionscript: FlexPropertyPlaceholderConfigurer could not be found

    - by orangestar
    Hi, there! I use springactionscript 1.0RC1 and found an error as following: Error: A class with the name 'org.springextensions.actionscript.ioc.factory.con fig.flex.FlexPropertyPlaceholderConfigurer' could not be found. Are you sure the specified class has been compiled? Look for more information on this topic here: http://www.springactionscript.org/do...inclusion.html and my applicationContext.xml is <objects> <property file="config.properties" required="false" /> <object id="constants" class="com.libsys.utils.Constants"> <property name="endpoint" value="${endpoint}" /> </object> </objects> If the xml file has no properties file, it works fine. I don't know how this happens, could you tell me how to solve it? Thank you! BTW, my compiler version is 4.1.0.14632 and springactionscrip is 1.0RC1.

    Read the article

  • Guidelines of when to use locking

    - by miguel
    I would like to know if there are any guidelineswhich a developer should follow as to when (and where) to place locks. For instance: I understand that code such as this should be locked, to avoid the possibility of another thread changing the value of SomeHeapValue unexpectedly. class Foo { public SomeHeapObject myObject; public void DoSummat(object inputValue_) { myObject.SomeHeapValue = inputValue_; } } My question is, however, how deep does one go with the locking? For instance, if we have this code: class Foo { public SomeHeapObject myObject; public void DoSummat(object inputValue_) { myObject.SomeHeapValue = GetSomeHeapValue(); } } Should we lock in the DoSummat(...) method, or should we lock in the GetSomeHeapValue() method? Are there any guidelines that you all keep in mind when strcturing multi-threaded code?

    Read the article

  • I have Person.Surname field implemented as a string if I change the implementation of the field to a

    - by AndyM
    This is me going right back to basics with TDD for learning purposes. I originally implemented Person.Surname as field of type object (the simplest possible way of passing the test. I then added a test setting Person.Surname stating that the return value should be a string and set Person.Surname=20. I 'fixed' the test by changing the implementation to use string rather than object. The test now long compiles due to static type checking, so I commented it out. So I'm left with no way of leaving my intention in the test. Is there a way of having a failing test in this circumstance?

    Read the article

  • WebTextEdit ClientSideEvent Javascript - Can't Eval

    - by ismail
    Hi, I urgently need help, please. WebtextEdit ClientSideEvent execute javascript statement on mousemove event. I can successfully change the style of another object type on this WebTextEdit ClientSide MouseMove event: document.getElementById("Object2").style.backgroundColor = '#F0F5F7'; But when I want to change the style of the WebTextEdit control: document.getElementById("WebTextEdit1").style.backgroundColor = '#F0F5F7'; Then nothing happens. When I execute the script on the same WebTextEdit Clientside for another object which is not a WebtextEdit: Object2.style.border='1px solid #FFE6A0'; Then it works. But when I want to change the WebtextEdit Clientside style: WebTextEdit1.style.border='1px solid #FFE6A0'; Then I get Error: Can't Eval WebTextEdit1.style.border='1px solid #FFE6A0';

    Read the article

  • ajaxtabcontainer with button postback problem

    - by yousof
    I have a dropdownlist in my web page and two command buttons and a tabcontainer. The tabcontainer does not appear after the load of page according to my code. Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then TabContainer1.Visible = False If CtvAct.GetRecords("Fill_RequestTypeTb") = True Then ReqTypeCmbo.DataSource = CtvAct.MainDataset.Tables("tbOLRequestType").DefaultView ReqTypeCmbo.DataTextField = "RequestTypeName" ReqTypeCmbo.DataValueField = "RequestTypeId" ReqTypeCmbo.DataBind() Dim itm As New ListItem itm.Text = "-- ??? ??? ????? --" itm.Value = "-1" itm.Selected = True ReqTypeCmbo.Items.Insert(0, itm) ReqTypeCmbo.SelectedIndex = 0 End If End If End Sub Protected Sub PrntCmd_Click(ByVal sender As Object, ByVal e As EventArgs) Handles PrntCmd.Click TextBox6.Text = "gggg" End Sub If I press any button after page load the button work very selecting any item from dropdownlist make the tabcontainer appear but after the tabcontainer appear, the buttons does not work (postback) how can I solve these problems

    Read the article

  • What hardware makes a good MongoDB Server ? Where to get it ?

    - by João Pinto Jerónimo
    Suppose you're on dell.com right now and you're buying a server to run your MongoDB database for your small startup. You will have to handle literally tens of thousands of writes and reads per minute (but small objects). Would you go for 2 processors ? Invest more on RAM ? I've heard (correct me if I'm wrong) MongoDB handles the most it can on the RAM and then flushes everything to the disk, in that case I should invest on a CPU with a large L2 cache, probably 40GB of RAM and a solid state drive.. right ? Would I be better off with a high end (~$11,309, 2 expensive processors, 96GB of RAM) server or 2x(~$6,419, 2 expensive processors, 12GB of RAM) servers ? Is Dell ok or do you have better sugestions ? (I'm outside the US, on Portugal)

    Read the article

  • Languages and VMs: Features that are hard to optimize and why

    - by mrjoltcola
    I'm doing a survey of features in preparation for a research project. Name a mainstream language or language feature that is hard to optimize, and why the feature is or isn't worth the price paid, or instead, just debunk my theories below with anecdotal evidence. Before anyone flags this as subjective, I am asking for specific examples of languages or features, and ideas for optimization of these features, or important features that I haven't considered. Also, any references to implementations that prove my theories right or wrong. Top on my list of hard to optimize features and my theories (some of my theories are untested and are based on thought experiments): 1) Runtime method overloading (aka multi-method dispatch or signature based dispatch). Is it hard to optimize when combined with features that allow runtime recompilation or method addition. Or is it just hard, anyway? Call site caching is a common optimization for many runtime systems, but multi-methods add additional complexity as well as making it less practical to inline methods. 2) Type morphing / variants (aka value based typing as opposed to variable based) Traditional optimizations simply cannot be applied when you don't know if the type of someting can change in a basic block. Combined with multi-methods, inlining must be done carefully if at all, and probably only for a given threshold of size of the callee. ie. it is easy to consider inlining simple property fetches (getters / setters) but inlining complex methods may result in code bloat. The other issue is I cannot just assign a variant to a register and JIT it to the native instructions because I have to carry around the type info, or every variable needs 2 registers instead of 1. On IA-32 this is inconvenient, even if improved with x64's extra registers. This is probably my favorite feature of dynamic languages, as it simplifies so many things from the programmer's perspective. 3) First class continuations - There are multiple ways to implement them, and I have done so in both of the most common approaches, one being stack copying and the other as implementing the runtime to use continuation passing style, cactus stacks, copy-on-write stack frames, and garbage collection. First class continuations have resource management issues, ie. we must save everything, in case the continuation is resumed, and I'm not aware if any languages support leaving a continuation with "intent" (ie. "I am not coming back here, so you may discard this copy of the world"). Having programmed in the threading model and the contination model, I know both can accomplish the same thing, but continuations' elegance imposes considerable complexity on the runtime and also may affect cache efficienty (locality of stack changes more with use of continuations and co-routines). The other issue is they just don't map to hardware. Optimizing continuations is optimizing for the less-common case, and as we know, the common case should be fast, and the less-common cases should be correct. 4) Pointer arithmetic and ability to mask pointers (storing in integers, etc.) Had to throw this in, but I could actually live without this quite easily. My feelings are that many of the high-level features, particularly in dynamic languages just don't map to hardware. Microprocessor implementations have billions of dollars of research behind the optimizations on the chip, yet the choice of language feature(s) may marginalize many of these features (features like caching, aliasing top of stack to register, instruction parallelism, return address buffers, loop buffers and branch prediction). Macro-applications of micro-features don't necessarily pan out like some developers like to think, and implementing many languages in a VM ends up mapping native ops into function calls (ie. the more dynamic a language is the more we must lookup/cache at runtime, nothing can be assumed, so our instruction mix is made up of a higher percentage of non-local branching than traditional, statically compiled code) and the only thing we can really JIT well is expression evaluation of non-dynamic types and operations on constant or immediate types. It is my gut feeling that bytecode virtual machines and JIT cores are perhaps not always justified for certain languages because of this. I welcome your answers.

    Read the article

< Previous Page | 614 615 616 617 618 619 620 621 622 623 624 625  | Next Page >