The document provides an in-depth look at the Flex compiler and the HellFire Compiler Daemon (HFCD). It discusses the basic architecture of the Flex compiler, including its extensibility, compilation phases, and linker. It also describes the HFCD, a socket-based, out-of-process Flex compiler that can utilize multiple CPUs and machines to speed up builds. A demo of the HFCD is provided, with time for questions and answers at the end.
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...yazad dumasia
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and Inheritance , Exploring the Base Class Library -, Debugging and Error Handling , Data Types full knowledge about basic of .NET Framework
Java v/s .NET is an age old debate! We have compared both Java and .NET on parameters like technical performance and future scope. NIIT provides certification courses for both Java and .NET. View our presentation and choose which course to enrol for at NIIT!
OTS Solutions is a Software Development Company provides a wide range of software application development services, our teams having highly skilled and well qualified professionals has hands on experience on ASP.Net, C#, VB.Net, ASP.Net, MVC, Sharepoint development, WPF, WCF WCF etc across the globe.
Intermediate languages are used in compiler construction to simplify retargeting compilers to multiple machine architectures. In the implementation of \emph{domain-specific languages} (DSLs), compilers typically generate high-level source code, rather than low-level machine instructions. DSL compilers target a software platform, i.e. a programming language with a set of libraries, deployable on one or more operating systems. DSLs enable targeting \emph{multiple} software platforms if its abstractions are platform independent. While transformations from DSL to each targeted platform are often conceptually very similar, there is little reuse between transformations due to syntactic and API differences of the target platforms, making supporting multiple platforms expensive. In this paper, we discuss the design and implementation of PIL, a Platform Independent Language, an intermediate language providing a layer of abstraction between DSL and target platform code, abstracting from syntactic and API differences between platforms, thereby removing the need for platform-specific transformations. We discuss the use of PIL in an implemementation of WebDSL, a DSL for building web applications.
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)citizenmatt
After the initial excitement of .NET Core wore off (Cross platform! Open source!), we realised there were a few things missing. APIs, mostly.
Oh, and compatibility with a lot of your favourite libraries and packages. Fortunately, the .NET Standard is here to fix all of this, adding back APIs, restoring compatibility and even replacing PCLs. This talk is all about the How and the Why, mixed in with a healthy dose of Why Should I Care. We'll even have a little geek out over the technical details. If type forwarding can't restore your excitement levels to fever pitch, I don’t know what will!
(Slides from NDC London 2017)
This slide consists for information regarding .NET Framework and Its features. The content describe how .NET Programs are compiled. CLR, CTS and CLS are also described.
SPROUT Content recently hosted the first meetup for #GulfCoast HUG. HUGs are HubSpot User Groups, located across the world, for HubSpot users and Agency Partners and anyone interested in learning more about inbound marketing methodologies and tactics. Here's the presentation from the meeting: THE MARKETING MINDSHIFT – How To Grow your Business and Generate Leads through Content and Inbound Marketing.
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and...yazad dumasia
C# .NET: Language Features and Creating .NET Projects, Namespaces Classes and Inheritance , Exploring the Base Class Library -, Debugging and Error Handling , Data Types full knowledge about basic of .NET Framework
Java v/s .NET is an age old debate! We have compared both Java and .NET on parameters like technical performance and future scope. NIIT provides certification courses for both Java and .NET. View our presentation and choose which course to enrol for at NIIT!
OTS Solutions is a Software Development Company provides a wide range of software application development services, our teams having highly skilled and well qualified professionals has hands on experience on ASP.Net, C#, VB.Net, ASP.Net, MVC, Sharepoint development, WPF, WCF WCF etc across the globe.
Intermediate languages are used in compiler construction to simplify retargeting compilers to multiple machine architectures. In the implementation of \emph{domain-specific languages} (DSLs), compilers typically generate high-level source code, rather than low-level machine instructions. DSL compilers target a software platform, i.e. a programming language with a set of libraries, deployable on one or more operating systems. DSLs enable targeting \emph{multiple} software platforms if its abstractions are platform independent. While transformations from DSL to each targeted platform are often conceptually very similar, there is little reuse between transformations due to syntactic and API differences of the target platforms, making supporting multiple platforms expensive. In this paper, we discuss the design and implementation of PIL, a Platform Independent Language, an intermediate language providing a layer of abstraction between DSL and target platform code, abstracting from syntactic and API differences between platforms, thereby removing the need for platform-specific transformations. We discuss the use of PIL in an implemementation of WebDSL, a DSL for building web applications.
The how-dare-you-call-me-an-idiot’s guide to the .NET Standard (NDC London 2017)citizenmatt
After the initial excitement of .NET Core wore off (Cross platform! Open source!), we realised there were a few things missing. APIs, mostly.
Oh, and compatibility with a lot of your favourite libraries and packages. Fortunately, the .NET Standard is here to fix all of this, adding back APIs, restoring compatibility and even replacing PCLs. This talk is all about the How and the Why, mixed in with a healthy dose of Why Should I Care. We'll even have a little geek out over the technical details. If type forwarding can't restore your excitement levels to fever pitch, I don’t know what will!
(Slides from NDC London 2017)
This slide consists for information regarding .NET Framework and Its features. The content describe how .NET Programs are compiled. CLR, CTS and CLS are also described.
SPROUT Content recently hosted the first meetup for #GulfCoast HUG. HUGs are HubSpot User Groups, located across the world, for HubSpot users and Agency Partners and anyone interested in learning more about inbound marketing methodologies and tactics. Here's the presentation from the meeting: THE MARKETING MINDSHIFT – How To Grow your Business and Generate Leads through Content and Inbound Marketing.
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019corehard_by
C++ is known for things such as performance, expressiveness, the lack of a standard build system and package management, complexity and long compile times. The inability to iterate quickly is one of the biggest killers of productivity. This talk is aimed at anyone interested in improving the last of these points - it will provide insights into why compilation (and linking) take so long for C++ and will then provide an exhaustive list of techniques and tools to mitigate the problem, such as: - tooling and infrastructure - hardware, build systems, caching, distributed builds, diagnostics of bottlenecks, code hygiene - techniques - unity builds, precompiled headers, linking (static vs shared libraries) - source code modification - the PIMPL idiom, better template use, annotations - modules - what they are, when they are coming to C++ and what becomes obsolete because of them
.NET Core, ASP.NET Core Course, Session 3aminmesbahi
Session 3,
Introducing to Compiler
What is the LLVM?
LLILC
RyuJIT
AOT Compilation
Preprocessors and Conditional Compilation
An Overview on Dependency Injection
Building Better AWS Lambdas: Unlocking the Power of Layersujjwalsoni23
Welcome to a comprehensive hands-on demonstration of AWS Lambda layers! In this tutorial, we'll delve into the powerful world of Lambda layers, unlocking their potential to streamline your serverless applications on Amazon Web Services.
Join us as we guide you through a step-by-step walkthrough, illustrating how Lambda layers can optimize code reuse, enhance development efficiency, and simplify your AWS Lambda functions. From understanding the fundamentals to implementing practical examples, this tutorial is designed for both beginners and seasoned developers looking to leverage the full capabilities of Lambda layers.
Discover how to organize dependencies, manage shared libraries, and elevate your serverless architecture with this in-depth exploration. Whether you're a developer, cloud enthusiast, or AWS professional, this hands-on session will equip you with the knowledge and skills to elevate your AWS Lambda game.
Don't miss out on this opportunity to master AWS Lambda layers and revolutionize your serverless applications. Hit play and embark on a transformative journey into the world of Lambda layers today!
Introduction to JavaScript course. The course was updated in 2014-15.
Will allow you to understand what is JavaScript, what's it history and how you can use it.
The set of slides "Introduction to jQuery" is a follow up - which would allow the reader to have a basic understanding across JavaScript and jQuery.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
In-depth look at the Flex compiler and HFCD
1. IN-DEPTH LOOK AT THE FLEX
COMPILER AND HFCD
Clement Wong
clement@stopcoding.org
http://stopcoding.wordpress.com
2. AGENDA
• Basic Architecture of Flex Compiler
• Compiler Extensibility
• Overview of Flex Compiler API
• HellFire Compiler Daemon (HFCD)
• Demo, Q/A
3. SPEAKER BIO
• Founder of Bytecode Workshop; Creator of HFCD
• Former Flex Compiler/Profiler Architect & Engineering Lead
• Former ColdFusion MX Architect & Engineering Lead
• Licensed Professional Engineer in the Province of Ontario
• Studied CS and Mech. Eng. at the University of Waterloo
5. FLEX COMPILER 1.0-1.5
• Supports MXML and AS2 (not AS3).
• Based on the AS2 compiler from Flash Authoring.
• Ported from C++ to Java for J2EE.
• Invoked by a MXML servlet.
6. FLEX COMPILER 1.0-1.5
• Major challenges from the AS2 compiler.
• Notarchitected or partitioned for Flex - no clear compilation
phases defined - at least not clear enough for MXML.
• Difficult to extend; not MXML friendly.
• Pre AS3/AVM+: classes and assets were both first-class citizens
- very difficult to implement a good linker.
7. FLEX COMPILER 2.0 - 4.0
• Itis a multi-language compiler. It supports mxml, as, css,
properties and now fxg.
• There is a “mini compiler” for each language. Each “mini
compiler” implements some well-defined compilation phases.
• The “top level” Flex compiler becomes a coordinator -
responsible for looking up source and SWC files; determines
when and which “mini compiler” to call; etc...
9. SPECIAL CASE: MXML
• Why are there 2 “mini compilers” for MXML?
• InterfaceCompiler
for MXML produces API signature. Does
not produce abc bytecode in generate().
• ImplementationCompiler for MXML generates “full AS3
source code” only after knowing dependent type info.
Generates abc bytecode in generate().
• But why?
10. SPECIAL CASE: MXML
• Consider this: <c:MyComp ...><c:prop .../></c:MyComp>
• Need to know the meaning of every tag in MXML before
accurate MXML-to-AS3 conversion could happen.
• Is “prop” a component or is it a property of “MyComp”?
• We must know the API signature of “MyComp”!
12. COMPILATION PHASES
preprocess() preparation works before parsing.
generates syntax tree; identifies top-level
parse1()
definitions, superclasses and interfaces.
rarely used. used only by the MXML “mini
parse2()
compiler” for data binding.
performs flow analysis. can’t proceed without
analyze1() superclass and interface info. checks syntax tree
and identifies namespaces.
29. COMPILER EXTENSIONS
• The “mini
compiler” implementations are “shared” code
among SDK tools.
• mxmlc, compc and asdoc all use the “mini compilers” but they
serve different purposes. They need to do different things at
the end of each compilation phase.
• Solution: “mini compiler” supports “compiler extension”.
• Implement the “flex2.compiler.as3.Extension” interface.
31. FLEX 4: YAFCEM
• YAFCEM?? Yet Another Flex Compiler Extension Mechanism
• Introducedin Flex 4. Flex developers could insert Java code
into the compiler. The compiler would execute the Java code
at a number of locations defined by the extension interfaces.
• e.g. IApplicationExtension, ILibraryExtension.
• Note: Theyare not executed at the end of the mini compiler
compilation phases. e.g. IApplicationExtension executed at the
end of Application.build().
32. TRANSCODERS
• When there is an [Embed] in your code, how does the
compiler process it?
• Answer: EmbedExtension. EmbedExtension uses transcoders.
• Typically generates an AS3 class and a SWF asset tag.
• The generated classes are handed to the “top-level” compiler
“coordinator”. The classes are then scheduled to be compiled
and linked.
33. TRANSCODERS
• Transcoders implement the “flex2.compiler.Transcoder”
interface.
• The interface looks simple. However, implementation could be
tricky because:
• one must be familiar with the SWF file format.
• one must know what to generate for the asset classes.
• use -keep-generated-actionscript to learn about codegen.
35. LINKER
• The Flex compiler not just compiles. It also links.
• Application SWFs and library (SWC) SWFs are different.
• Application SWFs typically have 2 frames: Preloader and
essential Flex framework classes in the 1st frame. The rest of
the application and framework classes in the 2nd frame.
• LibrarySWFs are simpler: everything in one frame. Debug info
is always embedded. No SWF optimizations.
36. LINKER
• The SWF structure of these 2 SWF types are encapsulated in
2 Flex classes.
• Application: flex2.linker.FlexMovie
• Library: flex2.compiler.swc.SwcMovie
• Both classes (the generate() method) take a list of compilation
units; run dependency analysis; determine export order and
generate SWF.
37. LINKER
• Theexport order of application SWFs is important because
the ActionScript VM in the Player demands the export order
be based on type dependencies. It is a reasonable demand
because that simplifies VM class loading and verification.
• Use topological sort to determine export order. In fact,
topological sort is used in the compile phase as well (for
processing AS3 inheritance chains in the AS3 compiler and for
circular dependency detection).
38. TOPOLOGICAL SORT
•A vertex represents a definition (e.g. a class or a function).
•A directed edge between two vertices represents the
dependency between the two definitions. For example, when
vertex B points to vertex A, that means A depends on B.
• Ifa vertex has no arrow pointing towards it, it goes to the
export order. The vertex is then removed. Its edges (all
pointing outwards) are also removed. This step continues.
39. TOPOLOGICAL SORT
• The sorting ends when the in-degrees of all the vertices in the
dependency graph are not zero.
• Ifthere are still vertices in the graph, those definitions are in
some circular dependency loops.
40. POST-LINK
• Foreach file compiled, the compiler generates a set of
ActionScript bytecode. It is self-contained, completed with a
constant pool, a set of API signatures and a set of function
bodies.
• Anapplication SWF, if un-optimized, can have a lot of constant
pools. They can be quite overlapping.
• One of the key steps in the post-link phase is “abc merging”.
41. FLEX COMPILER API
• Flex toolchains need a simple way to invoke the compiler.
• Users of the Flex Compiler API:
• Flex Builder
• SAP
• Flex Data Services
42. FLEX COMPILER API
• Recently, one
of the users of the Flex Compiler API is HellFire
Compiler Daemon (HFCD).
• The APIclasses are in the flex2.tools.oem and
flex2.tools.flexbuilder packages.
• Use
flex2.tools.oem.Application to build applications and
modules.
• Use flex2.tools.oem.Library to build libraries.
44. FLEX COMPILER API
• The API
usage is simple, but toolchains usually do more... They
implement some of the following compiler interfaces.
• Logger
• ProgressMeter
• PathResolver
• Report
45. HELLFIRE COMPILER DAEMON
• What is HFCD? It is an out-of-process Flex compiler.
• Socket, TCP/IP based. Implemented a RPC version of the Flex
Compiler API.
• Usehardware, multicore technologies to speed up build
performance.
• Eclipse based. Flex Builder compatible. FDT support coming
soon.
47. HFCD ADVANTAGES
• Socket based. Could run HFCD on a second machine (i.e.
access to more CPU and memory resources).
• Use Java server VM to run the compiler. Consistently 30%
faster than Java client VM.
• Withmultiple CPU cores, HFCD builds applications/libraries
concurrently if possible. Build speedup factor could reach the
number of available CPUs.
48. HFCD ADVANTAGES
• Use
HFCD ant tasks, the ant <parallel> task and multiple
HFCD servers to build.
• For more information, please visit:
• http://bytecode-workshop.com
• http://stopcoding.wordpress.com