- U.S. business investment plans fall for seventh straight monthPosted 6 years ago
- Documents show flash crash trader’s frenetic business dealingsPosted 6 years ago
- Business group sees thousands of U.S. jobs from Pacific trade dealPosted 6 years ago
- General Dynamics says still focused on government cybersecurity businessPosted 6 years ago
- Global business groups urge China to suspend bank IT rulesPosted 6 years ago
- Nokia explores sale of map business, source saysPosted 6 years ago
- Exclusive: Canada’s Bombardier looks to raise cash from rail business – sourcesPosted 6 years ago
- SurveyMonkey expands business into paid analytic servicesPosted 6 years ago
- No truth to talk Japan’s Sharp will exit solar business: executivePosted 6 years ago
- Lexmark to buy Kofax for about $1 billion to boost software businessPosted 6 years ago
Scala language moves closer to bare metal

Thinkstock
The Scala Native project leverages LLVM compilers as a deployment mechanism for the functional and object-oriented language
Thank You
Your message has been sent.
Sorry
There was once an error emailing this web page.
$(‘#” + slotName + “‘).responsiveAd(screenSize:’971 1115’, scriptTags: []);if (Object.keys(IDG.GPT.companions).size > Zero) IDG.GPT.refreshAd(‘” + slotName + “‘);”;
var adDivString = “
” + adString + “
“;
placementDiff = applyInsert($(this), adDivString);
if (debug)
console.log(“Just positioned an Ad and the placementDiff is: ” + placementDiff);
placementTarget = cumulativeHeight + placementDiff + interModuleHeight + adHeightBuffer;
else
var moduleDivString = “”;
var elementId = “drr-mod-“+moduleCounter;
moduleDivString = “”;
modules.push(elementId);
placementDiff = applyInsert($(this), moduleDivString);
if (debug)
console.log(“Simply positioned a module and the placementDiff is: ” + placementDiff);
placementTarget = cumulativeHeight + placementDiff + interModuleHeight + moduleHeightBuffer;
moduleCounter++;
loopCounter++;
// Keep Away From placing Elements too quickly as a result of non-Massive figures inflating the cumulative Top
if ($(this).is(“Determine”) && !$(this).is(“Determine.Large”))
cumulativeHeight += grafHeight;
else
cumulativeHeight += $(this).Height() + grafHeight;
);
// clone Related Tales module to come back in after eighth para in article body for Mobile breakpoint show
var $relatedStories = $(‘.Associated-promo-wrapper’);
if ($relatedStories.size)
var $relatedStoriesClone = $relatedStories.clone();
$relatedStoriesClone.insertAfter( “#drr-container > p:eq(7)”);
// For Cellular handiest, Location Advert after 2nd paragraph.
if (firstMobileAdHtml)
$(firstMobileAdHtml).insertAfter(“#drr-container > p:eq(1)”);
var $insiderPromo = $(‘.insider-promo-wrapper’);
if ($insiderPromo.size)
var $insiderPromoClone = $insiderPromo.clone();
$insiderPromoClone.insertAfter( “#drr-container > p:eq(1)”);
//Situation left facet Part
cumulativeHeight = 0;
var leftPlacementTarget = tagHeight = leftPlacementTarget)
if (debug)
console.log(“congratulations… now we have handed the preliminary Start level”);
if (leftPlacementIndex == null)
//it can be No Longer just right sufficient to Not be a left Avoid – it also is not a
with an in an instant previous small or medium image left Steer Clear Of.
if (!isLeftAvoid($(this)) && noPrevFigures($(this)) )
leftPlacementIndex = $(this).index();
$leftPlacementElement = $(this);
leftPlacementLookaheadStart = cumulativeHeight;
if (debug)
console.log(“will not be a left Avoid and no prev figures. ########## set placementIndex (“+leftPlacementIndex+”) and lookaheadStart (“+leftPlacementLookaheadStart+”) ##########”);
else
if (debug)
console.log(“is a left Keep Away From or has previous figures. continue”);
else
if (debug)
console.log(“#### leftPlacementIndex already set to “+leftPlacementIndex+”. having a look AHEAD…”);
//Not null; has been set
if ((cumulativeHeight – leftPlacementLookaheadStart) > leftIntervalHeight)
if (debug)
console.log(“###### THRESHOLD REACHED. LOOKAHEAD FULL. Finish ###### (cumulativeHeight – leftPlacementLookaheadStart) (“+(cumulativeHeight-leftPlacementLookaheadStart)+”) > leftIntervalHeight (“+leftIntervalHeight+”).”);
return false;
else
if (debug)
);
if (leftPlacementIndex != null && elementNotNearEnd($leftPlacementElement, leftPixelWindow))
if (debug)
console.log(” insert into index “+leftPlacementIndex);
$(“#drr-container”).children().eq(leftPlacementIndex).before(“
“);
IDG.GPT.trackOmniture();
// Add Proper rail module content
for (var i=0; i” + adString + “
“;
operate getEpoParams() report.referrer.indexOf(“bing”) >= Zero)
var categories = [3646, 3465];
if (categories instanceof Array && classes.length > Zero)
var primaryCatId = categories[0];
epoParams += “&catId=” + primaryCatId + “&referrer=search”;
else
epoParams += “&typeId=” + defaultTypeId + “&referrer=residence”; // default is ‘residence’ habits
// Default is to indicate like coming from homepage
else
epoParams += “&typeId=” + defaultTypeId + “&referrer=residence”;
// default is ‘home’ conduct
return epoParams;
/**
* @param jqo Original jquery object Goal
* @param divString The div to be inserted.
* @return Difference in Top between Authentic placement Target and closing Goal.
* Checks first 6 Elements for an allowable placement (600 pixel window).
* If none, Test local for Parts that aren’t Proper avoids.
* If none, Location Part prior to present Goal.
*/
perform applyInsert(jqo, divString)
if (debug)
console.log(“applyInsert at top and jqo index is: ” + jqo.index());
for (var i=0; i 0)
kids = $(“#drr-container”).youngsters().slice(jqo.index(), allowElement.index() );
else
kids = $(“#drr-container”).youngsters().slice(allowElement.index(), jqo.index());
if (children != null)
children.EVERY(function(i)
if (debug)
console.log(“About so as to add this Element’s Height to heigh diff offset”);
console.log($(this));
Top += $(this).Peak() + grafHeight;
);
if (offset 300)
if (debug)
console.log(“isRightAvoid: found pre. return authentic”);
return real;
if (jqo.is(“Figure”) && jqo.hasClass(‘Massive’))
if (debug)
console.log(“isRightAvoid: found Determine.Massive return proper”);
return true;
if (jqo.is(“Determine”) && jqo.hasClass(‘medium’) && jqo.hasClass(‘inline’))
if (debug)
console.log(“isRightAvoid: found Determine has Class medium and inline.”);
return genuine;
if (jqo.is(‘div’) && jqo.hasClass(‘Desk-wrapper’))
if (debug)
console.log(“isRightAvoid: found div with Type Table-wrapper”);
return proper;
if (jqo.is(‘apart’))
if (jqo.hasClass(‘sidebar’) && !jqo.hasClass(‘medium’))
if (debug)
console.log(“isRightAvoid: discovered aside with Type sidebar, with out Type medium”);
return genuine;
if (jqo.hasClass(‘statsTable’))
if (debug)
console.log(“isRightAvoid: found apart with Category statsTable”);
return actual;
if (jqo.hasClass(‘download-asset’))
if (debug)
console.log(“isRightAvoid: discovered Type download-asset return authentic”);
return proper;
if (jqo.hasClass(‘tableLarge’))
if (debug)
console.log(“isRightAvoid: discovered Type tableLarge return genuine”);
return real;
if (jqo.hasClass(‘reject’))
if (debug)
console.log(“isRightAvoid: found Classification reject. return genuine”);
return authentic;
if (jqo.is(‘Desk’) && jqo.hasClass(‘scorecard’))
if (debug)
console.log(“isRightAvoid: discovered div with Class scorecard”);
return real;
return false;
// Return authentic if Component has Type ‘reject’: won’t Place drr modules/commercials subsequent to these Components
operate isRightReject(jqo)
console.log(“in isRightReject”);
if (jqo != null)
if (jqo.hasClass(“reject”))
if (debug)
console.log(“isRightReject: found ‘reject’ Category”);
return true;
return false;
return false;
// Returns real if Top of all Elements after this one is greater than 500; false otherwise
perform elementNotNearEnd(Element, pixelWindow)
if (pixelWindow == null)
pixelWindow = 500;
if (Element == null)
return false;
var remainingHeight = Zero;
var children = $(“#drr-container”).children().slice(Part.index());
if (youngsters == null)
return false;
youngsters.EVERY(operate(i)
remainingHeight += $(this).Peak();
);
if ( remainingHeight > pixelWindow)
return proper;
else
if (debug)
console.log(“Component too just about End. Remaining Peak is: ” + remainingHeight + ” and window is ” + pixelWindow);
return false;
/**
* Return true if need to Avoid this Element when inserting left module.
*/
function isLeftAvoid(jqo)
if (jqo.is(“Figure”))
if (debug)
console.log(“isLeftAvoid: discovered Determine. return real”);
return true;
if (jqo.is(“aside.pullquote”))
if (debug)
console.log(“isLeftAvoid: discovered pullquote. return authentic”);
return real;
if (jqo.is(“pre”))
if (debug)
console.log(“isLeftAvoid: discovered pre. return proper”);
return real;
if (jqo.is(“div.gist”))
if (debug)
console.log(“isLeftAvoid: found github code block. return proper”);
return true;
if (jqo.is(“aside”) && jqo.hasClass(“sidebar”) && jqo.hasClass(“medium”))
if (debug)
console.log(“isLeftAvoid: discovered medium sidebar. return authentic”);
return authentic;
if (jqo.hasClass(“statsTable”))
if (debug)
console.log(“isLeftAvoid: found Classification statsTable. return authentic”);
return genuine;
return false;
/**
* return real if there aren’t any figures before the Target placement that may bleed down into placement Element
*/
perform noPrevFigures($originalTarget)
var targetIndex = $originalTarget.index();
var numElementsLookBack = 5;
var figureIndex = null;
var figureHeight = null;
var startIndex = targetIndex – numElementsLookBack
Scala, a basic-objective language combining object-oriented and useful programming, is ready to search out any other deployment choice.
Already used atop the Java Virtual Machine and in JavaScript functions by way of Scala.js, Scala can even be enabled through the use of LLVM compilers in a challenge known as Scala Native. The expertise intends to bring Scala “closer to bare metallic,” according to its GitHub page.
The Use Of AHEAD of time (AOT) compilation, the challenge appears to be like to hurry up Scala functions in Cell, gaming, and command-line applications, developer Denys Shabalin, of École Polytechnique Fédérale de Lausanne Switzlerland, mentioned.
LLVM options modular compiler applied sciences for C and C++ and brings rapid startup to Scala Native.
“Scala Native is compiled BEFOREHAND-of-time via LLVM. Which Means That there is not any gradual warm-up section that is standard for Just-in-time compilers. Your code is right away quick and ready for motion,” GitHub documentation states.
Shabalin’s concerns with the JVM’s startup occasions motivated his work on Scala Native. “In AOT, you collect sooner than you even Start the app, so it can be sooner,” he cited.
Essentially targeting Intel and ARM processors, Scala Native features a lightweight managed runtime and can be used for building functions for both Android and iOS
Different features of Scala Native include low-stage primitives, for hand-tuning an utility to make it work precisely how the developer needs, and extern objects, for calling native code without any runtime overhead.
Scala Native presently in a pre-unencumber stage and has been in construction for about a yr. Shabalin is ramping up for an legitimate first liberate of Scala Native.
You must be logged in to post a comment Login